LFS(Linux From Scratch)

linux 2011. 9. 23. 09:47
 Linux 를 접하는 많은 개발자들은 자기만의 Linux 를 만들어 보고자 하는 소망을 가지는 것이 보통이다.

 하지만 "어디서부터 시작해서 어떻게 해야 할지" 를 모르기 때문에 결국 커널 컴파일 몇번 해보고 포기하는 것이 보통인 것이 현실이다.

 LFS(Linux From scratch) 를 처음 접한 것은 대학교 3학년 말이었던 것으로 기억한다.

 모든 팩키지를 Step by Step 으로 직접 configure 를 잡아서 컴파일하고 설치하면서 각종 의존성 문제 및 설정에 대한 기반 지식을 얻을 수 있었으며 LFS 를 해 본 경험은 아직까지도 나에게 큰 재산이 되고 있다.

 물론 LFS 이후에 젠투 라는 비슷한 팩키지가 나오긴 했다. 젠투와 LFS 의 공통점은 컴파일해서 설치한다는 것 뿐 LFS 는 그 복잡하고 어렵다는 젠투보다 더 하드코어라고 보면 된다.

 Linux 전문가가 되고 싶다면 꼭 한번 해 보길 바란다.

 http://www.linuxfromscratch.org/index.html


 

 

'linux' 카테고리의 다른 글

GNOME 설정  (0) 2011.09.27
Iconv 로 인코딩 변경하기  (0) 2011.09.26
우분투 run level 확인방법  (0) 2011.09.22
화면 캡쳐하는 방법  (0) 2011.09.21
svn+ssh 사용법  (0) 2011.09.21
블로그 이미지

김유석0

,
우분투의 런레벨은 아래와 같다. 

  0 : halt
  1 : single
  2 : default (GUI)
  3 : GUI
  4 : GUI
  5 : GUI
  6 : reboot
 

현재 런 레벨을 확인하려면 아래와 같이 입력한다. 

  $ who -r

'linux' 카테고리의 다른 글

Iconv 로 인코딩 변경하기  (0) 2011.09.26
LFS(Linux From Scratch)  (0) 2011.09.23
화면 캡쳐하는 방법  (0) 2011.09.21
svn+ssh 사용법  (0) 2011.09.21
shell script  (0) 2011.09.21
블로그 이미지

김유석0

,

화면 캡쳐하는 방법

linux 2011. 9. 21. 11:40
리눅스에서 화면 캡쳐하는 방법은 세가지가 있다.(리눅스 사용자에 한함) 

1. 마우스로 긁어 오기
  gnome-terminal  을 마우스로 긁어 오는 방법인데 왠만하면 안 쓰는 방법이다. 

2. 리다이렉션
  ls >log  2>&1

  많이 쓰이는 방법이긴 한데 한가지 단점은 화면에 아무것도 출력이 안된다는 점. 내가 입력을 해야 하는 그런 상황이라면 쓸 수 없음

3. script util
  script 라는 util 을 사용함. 이게 제일 편함

  $ script
  $ ls
  $ find
  $ .. 
  $ ..
  $ ..
  $ (ctrl + d 로 종료함)
  $ cat typescript 로 캡쳐 내용 확인 가능함.

리눅스에서 작업 내용 캡쳐하려면 script util 사용하는 것을 강력 추천합니다. 

참고로 putty 같은 윈도우용 터미널 사용하면 좀 더 편하게 쓸 수 있습니다. 


 

'linux' 카테고리의 다른 글

LFS(Linux From Scratch)  (0) 2011.09.23
우분투 run level 확인방법  (0) 2011.09.22
svn+ssh 사용법  (0) 2011.09.21
shell script  (0) 2011.09.21
init.d run script 를 쉽게 각 run level 에 등록하는  (0) 2011.09.21
블로그 이미지

김유석0

,

svn+ssh 사용법

linux 2011. 9. 21. 11:23
서버 : svn.server.net
id : test_man

Step 1. 서버에 접속하여 공개키를 생성한다. 
  1. ssh test_man@svn.server.net
  2. $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jurn/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jurn/.ssh/id_rsa
Your public key has been saved in /home/jurn/.ssh/id_rsa.pub
3. 생성된 공개키를 인증키 목록에 넣는다
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys

주의할점은 passphrase 를 사용하지 않는다는 점이다.

Step 2. 서버에서 생성한 공개키를 클라이언트로 복사해 온다. 
   서버에서 공개키를 생성하면 id_rsa 와 id_rsa.pub 두개 파일이 생성되는데 이 중에서 id_rsa 를 클라이언트로 복사해 온다. 

   1. cp id_rsa ~/.ssh/
   2. chmod 600 ~/.ssh/id_rsa

Step 3. 복사해온 공개키를 사용하도록 설정한다.
   아래와 같이 ssh config 파일을 생성하여 공개키를 사용하도록 설정한다. 
   1. vi ./ssh/config
       Host svn.server.net
       Port 80  -- 22번 이외의 port를 사용할 경우
       PubkeyAuthentication yes
       IdentityFile ~/.ssh/id_rsa

제목은 SVN+SSH 사용법이라고 되어 있지만 실은 SSH 사용시 패스워드 안 물어보게 하는 방법이라고 말하는 것이 옳습니다. 

'linux' 카테고리의 다른 글

우분투 run level 확인방법  (0) 2011.09.22
화면 캡쳐하는 방법  (0) 2011.09.21
shell script  (0) 2011.09.21
init.d run script 를 쉽게 각 run level 에 등록하는  (0) 2011.09.21
[network] 우분투에서 네트웍 설정하는법  (0) 2011.09.21
블로그 이미지

김유석0

,

shell script

linux 2011. 9. 21. 11:22
1. 여러 명령어의 실행 결과를 변수로 받을 때
  ` `(역따옴표) 표시로 묶는다. 주의할 점은 ' '(단일 따옴표)과 헷갈릴 수 있다는 점이다. 주의하자. 

  ex)
     TSET=`ls |grep dump`


2. 문자열을 연결하는 방법
  방법 1. 
    MSG1="I AM"
    MSG2="A BOY"
    RESULT=$MSG1$MSG2
  방법 2. 
     MSG1="I AM"
     RESULT=$[MSG1]"A BOY"



3. if 문의 조건 비교문 정리
    [ string ]             : string이 빈 문자열이 아니라면 참
[ string1
= string2 ] : 두 문자열이 같다면 참 [ string1 != string2 ] : 두 문자열이 다르면 참 [ -n string ] : 문자열이 null(빈 문자열) 이 아니라면 참 [ -z string ] : 문자열이 null(빈 문자열) 이라면 참 산술비교 [ expr1 -eq expr2 ] : 두 표현식 값이 같다면 참 ( EQual ) [ expr1 -ne expr2 ] : 두 표현식 갑이 같지 않다면 참 ( Not Equal ) [ expr1 -gt expr2 ] : expr1 > expr2 이면 참 ( Greater Then ) [ expr1 -ge expr2 ] : expr1 >= expr2 이면 참 ( Greater Equal ) [ expr1 -lt expr2 ] : expr1 < expr2 이면 참 ( Less Then ) [ expr1 -le expr2 ] : expr1 <= expr2 이면 참 ( Less Equal ) [ ! expr ] : expr 이 참이면 거짓, 거짓이면 참 [ expr1 -a expr2 ] : expr1 AND expr2 의 결과 ( 둘다 참이면 참 ) [ expr1 -o expr2 ] : expr1 OR expr2 의 결과 ( 둘중 하나만 참이면 참 ) 파일조건 [ -b FILE ] : FILE 이 블럭 디바이스 이면 참 [ -c FILE ] : FILE 이 문자 디바이스 이면 참. [ -d FILE ] : FILE 이 디렉토리이면 참 [ -e FILE ] : FILE 이 존재하면 참 [ -f FILE ] : FILE 이 존재하고 정규파일이면 참 [ -g FILE ] : FILE 이 set-group-id 파일이면 참 [ -h FILE ] : FILE 이 심볼릭 링크이면 참 [ -L FILE ] : FILE 이 심볼릭 링크이면 참 [ -k FILE ] : FILE 이 Sticky bit 가 셋팅되어 있으면 참 [ -p FILE ] : True if file is a named pipe. [ -r FILE ] : 현재 사용자가 읽을 수 있는 파일이면 참 [ -s FILE ] : 파일이 비어있지 않으면 참 [ -S FILE ] : 소켓 디바이스이면 참 [ -t FD ] : FD 가 열려진 터미널이면 참 [ -u FILE ] : FILE 이 set-user-id 파일이면 참 [ -w FILE ] : 현재 사용자가 쓸 수 있는 파일(writable file) 이면 참 [ -x FILE ] : 현재사용자가 실행할 수 있는 파일(Executable file) 이면 참 [ -O FILE ] : FILE 의 소유자가 현재 사용자이면 참 [ -G FILE ] : FILE 의 그룹이 현재 사용자의 그룹과 같으면 참 [ FILE1 -nt FILE2 ] : FILE1이 FILE2 보다 새로운 파일이면 ( 최근파일이면 ) 참 [ FILE1 -ot FILE2 ] : FILE1이 FILE2 보다 오래된 파일이면 참 [ FILE1 -ef FILE2 ] : FILE1 이 FILE2의 하드링크 파일이면 참



4. 환경 변수
  $0 : 실행된 쉘 스크립트의 방법 1. 
  $# : 스크립트에 넘겨진 인자의 갯수 
  $$ : 쉡스크립트의 프로세스 ID


5. 산술연산 예제

  COUNT=0

  COUNT=`expr $COUNT + 1`

  let COUNT=COUNT+1

  COUNT=$(($COUNT+1))



'linux' 카테고리의 다른 글

화면 캡쳐하는 방법  (0) 2011.09.21
svn+ssh 사용법  (0) 2011.09.21
init.d run script 를 쉽게 각 run level 에 등록하는  (0) 2011.09.21
[network] 우분투에서 네트웍 설정하는법  (0) 2011.09.21
MAC 변경하는 법  (0) 2011.09.21
블로그 이미지

김유석0

,
run script 작성후

sudo update-rc.d subversion default



'linux' 카테고리의 다른 글

svn+ssh 사용법  (0) 2011.09.21
shell script  (0) 2011.09.21
[network] 우분투에서 네트웍 설정하는법  (0) 2011.09.21
MAC 변경하는 법  (0) 2011.09.21
윈도우용 서브버전 클라이언트 TOTOISE  (0) 2011.09.21
블로그 이미지

김유석0

,

데비안 계열에서는 아래 설정 파일을 통해 네트웍 설정을 변경합니다.

 

 

/etc/network/interface

 

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
 auto eth0
 iface eth0 dhcp
 iface eth0 inet static
 address 192.168.1.69
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.255
 gateway 192.168.1.1
 dns-nameservers 168.126.63.1

 

우부투 계열에서도 interface 설정 파일을 사용하지만 만약 gnome desktop 에서 네트웍 관련 설정을 건드리게 되면 interface 설정 파일을 무력화 됩니다.

 

 이후에는 아래 위치에 있는 설정 파일을 사용하게 됩니다.

 

/etc/NetworkManager/system-connections/Auto eth0

 

 

 만약 /etc/network/interface 설정 파일을 사용하고 싶다면 "Auto eth0" 파일을 삭제하면 됩니다.

 

 

'linux' 카테고리의 다른 글

shell script  (0) 2011.09.21
init.d run script 를 쉽게 각 run level 에 등록하는  (0) 2011.09.21
MAC 변경하는 법  (0) 2011.09.21
윈도우용 서브버전 클라이언트 TOTOISE  (0) 2011.09.21
windows hosts 파일 위치  (0) 2011.09.21
블로그 이미지

김유석0

,

MAC 변경하는 법

linux 2011. 9. 21. 11:19
ifconfig eth0 hw ether 00:1C:66:00:00:01



블로그 이미지

김유석0

,

윈도우용 서브버전 클라이언트

 

여기서 다운 받으삼.

 

http://tortoisesvn.net/

 

'linux' 카테고리의 다른 글

[network] 우분투에서 네트웍 설정하는법  (0) 2011.09.21
MAC 변경하는 법  (0) 2011.09.21
windows hosts 파일 위치  (0) 2011.09.21
서브버전 사용법  (0) 2011.09.21
삼바 마운트 하는법  (0) 2011.09.21
블로그 이미지

김유석0

,

windows hosts 파일 위치

linux 2011. 9. 21. 11:17

MS windows 에도 hosts 파일이 있습니다.

 

windows 95/98/me

  c:\windows/hosts

 

winddows NT/2000/XP Pro

  c:\winnt/system32/drivers/etc/hosts

 

windows XP Home

  c:\windows/system32/drivers/etc/hosts

 

 

이 정보가 왜 필요한지 아는 사람은 나름 전문가.

 

'linux' 카테고리의 다른 글

MAC 변경하는 법  (0) 2011.09.21
윈도우용 서브버전 클라이언트 TOTOISE  (0) 2011.09.21
서브버전 사용법  (0) 2011.09.21
삼바 마운트 하는법  (0) 2011.09.21
BuildRoot 시스템  (0) 2011.09.21
블로그 이미지

김유석0

,