'컴퓨터 서적 정리'에 해당되는 글 69건
- 2011.08.05 [Chap2 #05] - aptitude를 사용하여 Software 관리
- 2011.08.05 [Chap2 #04] - dpkg를 사용하여 Software 관리
- 2011.08.04 [Chap2 #03] - APT 사용하여 Software 관리
- 2011.08.04 [Chap2 #02] - Debian Software Package 사용
- 2011.08.04 [Chap1 #04] - 리눅스 참고 정보(help, man, info)
- 2011.08.04 [Chap1 #03] - 리눅스 명령어 찾기
- 2011.08.03 [Chap1 #01] - 우분투, 데비안, 그리고 리눅스
- 2011.08.03 UBUNTU LINUX TOOLBOX
♧ dpkg와 APT는 오랫동안 사용되어 온 훌륭한 도구지만, 이들 도구는 여러 측면에서
미묘한 차이를 가지고 있기 때문에 제대로 사용하기 위해서는 상당한 이해가 요구된다.
aptitude 프로그램은 curses 기반의 커맨드라인 툴로 충분히 유연하면서도,
주요 패키지 작업 과정 (패키지 설치나 업그레이드 전에 apt-get update를 실행하는 것과 같은)
을 자동화하여 가능한 쉽게 작업할 수 있도록 해준다.
이러한 이유로 가능하다면 커맨드라인에서는 aptitude 명령어를 사용할 것을 권장.
▶ aptitude의 일반적 기능
aptitude 명령어 | 설 명 |
sudo aptitude | curses 인터페이스로 시작. <Ctrl + t>를 사용하면 메뉴에 접근할 수 있으며 q 키는 프로그램을 종료. |
aptitude help | aptitude 명령어의 도움말을 출력. |
aptitude search <keyword> | 주어진 키워드와 일치하는 패키지들을 보여줌. |
sudo aptitude update | APT 리포지토리들로부터 사용 가능한 패키지를 업데이트 한다. |
sudo aptitude upgrade | 모든 패키지를 최신 버전으로 업그레이드 한다. |
aptitude show <package> | 패키지의 설치여부에 관계없이 주어진 패키지에 대한 정보를 보여줌. |
sudo aptitude download <package> | 주어진 패키지를 설치하지 않고 다운로드만 받는다. |
sudo aptitude clean | /var/cache/apt/archives 디렉토리에 다운로드된 .deb 파일들을 모두 삭제한다. |
sudo aptitude autoclean | /var/cache/apt/archives 디렉토리에 있는 오래된 .deb 파일들을 모두 삭제한다. 이 작업은 디스크 공간 낭비를 방지하면서 현재 캐시를 유지할 수 있는 방법이다. |
sudo aptitude install <package> | 주어진 패키지를 시스템에 설치. 특정 버전을 선택하거나 와일드카드 문자를 사용하기 위한 여러 옵션이 있다. |
sudo aptitude remove <package> | 시스템으로부터 주어진 패키지를 삭제한다. |
sudo patitude purge <package> | 패키지 제거와 환경 설정 파일도 함께 삭제. |
sudo aptitude dist-upgrade | 모든 패키지를 가장 최신 버전으로 업그레이드 하는데, 필요한 경우 패키지를 삭제하거나 추가적으로 설치. |
■ aptitude를 사용하여 패키지 관리
## 패키지 업데이트 & 업그레이드 ## $ sudo aptitude update …[중략]… $ sudo aptitude upgrade …[중략]…
## 패키지 검색 & 정보 질의 ## $ aptitude search minic p minicom - friendly menu driven serial communication program $ aptitude show minicom Package: minicom State: not installed Version: 2.5-1 …[중략]…
## 패키지를 설치하지 않고 다운로드만 받기 ## (해당 디렉토리에 다운로드 받은 파일 존재) $ sudo aptitude download minicom Get:1 http://ftp.daum.net/ubuntu/ natty/universe minicom i386 2.5-1 [285 kB] Fetched 285 kB in 0초 (3,149 kB/s) ## 다운로드 받은 패키지 설치 ## $ sudo aptitude install minicom The following NEW packages will be installed: lrzsz{a} minicom 0 packages upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 99.9 kB/385 kB of archives. After unpacking 1,470 kB will be used. Do you want to continue? [Y/n/?] n
## 패키지 삭제 ## $ sudo aptitude remove minicom The following packages will be REMOVED: lrzsz{u} minicom 0 packages upgraded, 0 newly installed, 2 to remove and 1 not upgraded. Need to get 0 B of archives. After unpacking 1,470 kB will be freed. Do you want to continue? [Y/n/?] y (데이터베이스 읽는중 ...현재 170390개의 파일과 디렉터리가 설치되어 있습니다.) …[중략]… ## 패키지 캐시 삭제 ## (인스톨 설치시 패키지는 /var/cache/apt/archives에 저장) (오래된 패키지만 삭제 : sudo aptitude autoclean) $ ls aptitude_0.6.3-3.2ubuntu1_i386.deb lock libboost-iostreams1.42.0_1.42.0-4ubuntu2_i386.deb lrzsz_0.12.21-5_i386.deb libcwidget3_0.5.16-3ubuntu2_i386.deb minicom_2.5-1_i386.deb libsigc++-2.0-0c2a_2.2.4.2-1ubuntu1_i386.deb partial $ sudo aptitude clean $ ls lock partial
##### 유용한 옵션 조합 ##### /* -v : 더 많은 정보 제공 (md5sum …등) */ $ aptitude show -v minicom Package: minicom State: not installed …[중략]… Filename: pool/universe/m/minicom/minicom_2.5-1_i386.deb MD5sum: 497900daa7807ae0c968d6630219bd4b …[중략]…
/* -s : 실제 동작은 수행하지 않고, 어떤 작업이 수행되는지 시뮬레이션 */ $ sudo aptitude -s install minicom The following NEW packages will be installed: …[중략]… Do you want to continue? [Y/n/?] y Would download/install/remove packages.
/* -y : 모든 질문에 미리 Yes답변 */ (되돌리는 기능이 없으므로 신중히 사용) $ sudo aptitude -vs -y install minicom The following NEW packages will be installed: lrzsz{a} minicom 0 packages upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 385 kB of archives. After unpacking 1,470 kB will be used. Inst lrzsz (0.12.21-5 Ubuntu:11.04/natty [i386]) Inst minicom (2.5-1 Ubuntu:11.04/natty [i386]) Conf lrzsz (0.12.21-5 Ubuntu:11.04/natty [i386]) Conf minicom (2.5-1 Ubuntu:11.04/natty [i386])
/* -h : 도움말 기능 (사용 가능한 옵션들을 보여줌) */ $ aptitude -h aptitude 0.6.3 Usage: aptitude [-S fname] [-u|-i] aptitude [options] <action> ... …[중략]… install - Install/upgrade packages. remove - Remove packages. purge - Remove packages and their configuration files. hold - Place packages on hold. …[중략]… Options: -h This help text. --no-gui Do not use the GTK GUI even if available. -s Simulate actions, but do not actually perform them. -d Only download packages, do not install or remove anything. -P Always prompt for confirmation or actions. …[중략]… |
▷ moo 옵션 : 이스터에그(Easter eggs) - 즐거움을 주기 위해 프로그램 속에 숨겨져 있는 기능
$ aptitude moo There are no Easter Eggs in this program. $ aptitude -v moo There really are no Easter Eggs in this program. $ aptitude -vv moo Didn't I already tell you that there are no Easter Eggs in this program? $ aptitude -vvv moo Stop it! $ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? $ aptitude -vvvvv moo All right, you win. /----\ …[중략]… |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #07] - deb 패키지 만들기 (0) | 2011.08.06 |
---|---|
[Chap2 #06] - debsums를 사용하여 설치된 패키지 검증 (0) | 2011.08.06 |
[Chap2 #04] - dpkg를 사용하여 Software 관리 (0) | 2011.08.05 |
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
♧ dpkg 유틸리티는 APT 유틸리티보다 낮은 수준에서 작업을 수행.
APT는 우분투 시스템의 Software를 관리하기 위해 내부적으로는 이 dpkg를 이용한다.
APT와 dpkg의 관계는 레드햇기반 리눅스 배포판에서 yum과 rpm의 관계와 유사.
보통은 APT 명령어가 가진 기능만으로도 충분하다. 그러나 시스템에 있는 특정 파일이 어떤
패키지에 포함되어 있는지 확인하는 등의 작업을 수행하기 위해서라면 dpkg 명령이 필요.
▶ dpkg 유틸리티의 일반적 사용
dpkg 명령어 | 설 명 |
dpkg -c <.deb file> | 주어진 .deb 파일이 설치한 파일 목록을 보여줌. (.deb 파일은 '경로/파일명' 형태로 주어져야 함) |
dpkg -I <.deb file> | 주어진 .deb 파일에 대한 정보를 보여줌. |
dpkg -p <package> | 패키지에 대한 정보를 보여줌. |
dpkg -S <filename> | 주어진 파일명 또는 경로가 포함된 패키지들을 검색. |
dpkg -l | 설치된 패키지 목록을 보여줌. 이 명령은 좀 더 세부적인 정보를 위해 옵션들을 취할 수 있음. |
dpkg -L <package> | 주어진 패키지로부터 설치된 모든 파일목록을 보여줌. (물론 패키지가 먼저 설치되어 있어야만 함) |
dpkg -s <package> | 주어진 패키지의 상태를 보여줌. |
sudo dpkg -i <.deb file> | 주어진 .deb 파일을 설치. |
sudo dpkg -r <package> | 시스템으로부터 주어진 패키지를 삭제. 그러나 파일들은 남겨둔다. |
sudo dpkg -P <package> | 주어진 패키지와 해당 패키지의 설정파일을 삭제. |
sudo dpkg -x <.deb file> <directory> | .deb 파일에 포함되어 있는 파일들을 지정된 디렉토리에 풀어 놓음. (이 명령은 지정된 디렉토리의 퍼미션을 초기화하므로 주의) |
sudo dpkg -e <.debfile> <directory> | .deb 파일 내부의 제어스크립트를 지정된 목표 디렉토리에 추출. |
■ dpkg를 사용하여 패키지 설치 & 삭제
apt-get 명령어가 저장소(Repository)에서 패키지를 찾거나 다운로드하는 등의 세부사항을 다루는데 반해
dpkg 명령어는 패키지 그 자체에 집중한다.
▷ 실습 준비를 위해 .deb 파일 다운로드.
# apt-get명령에 -d 옵션을 사용하면 다운로드만 받는다. # $ sudo apt-get -d install minicom # /var/cache/apt/archives 디렉토리에 .deb 파일을 다운로드 받음. # $ ls -l /var/cache/apt/archives lock lrzsz_0.12.21-5_i386.deb minicom_2.5-1_i386.deb |
▷ 패키지 설치 & 삭제
## 패키지 설치 ## $ sudo dpkg -i /var/cache/apt/archives/minicom_2.5-1_i386.deb Selecting previously deselected package minicom. …[중략]…
## 패키지 삭제 ## $ sudo dpkg -r minicom (데이터베이스 읽는중 ...현재 170237개의 파일과 디렉터리가 설치되어 있습니다.) minicom 패키지를 지우는 중입니다 ... ## 패키지 설정파일 까지 삭제 ## $ sudo dpkg -P minicom (데이터베이스 읽는중 ...현재 170237개의 파일과 디렉터리가 설치되어 있습니다.) minicom 패키지를 지우는 중입니다 ... minicom의 설정 파일을 깨끗이 지우는 중입니다 ... Cannot remove /etc/minicom, please do it manually. man-db에 대한 트리거를 처리하는 중입니다 ... |
■ dpkg를 사용하여 .deb 파일 풀기
우분투 패키지는 .deb라는 단일 파일로 묶여 있다.
.deb 파일은 그 내부에 빌드된 명령어, 관련 파일, 문서, 그리고 소스코드 등 하나 이상의 파일들을 포함.
기본적으로 .deb 파일은 컴퓨터에 설치하길 원하는 파일들로 묶인 아카이브로,
소프트웨어를 식별하기 위한 헤더정보와 제어정보(설명, 체크섬, 빌드정보 등) 등을 포함하고 있다.
$ sudo dpkg -x minicom_2.5-1_i386.deb /tmp/minicom/contents $ ls /tmp/minicom_contents/ etc usr |
■ .deb 패키지 정보 질의
## 패키지 정보 확인 ## $ dpkg -p minicom Package: minicom Priority: optional Section: comm Installed-Size: 1164 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: i386 Version: 2.5-1 …[중략]…
## 현재 디렉토리에 있는 .deb 파일 정보 ## $ dpkg -I minicom_2.5-1_i386.deb new debian package, version 2.0. size 285352 bytes: control archive= 3144 bytes. 520 bytes, 13 lines control 4669 bytes, 65 lines md5sums 412 bytes, 20 lines * postinst #!/bin/sh 365 bytes, 20 lines * postrm #!/bin/sh 900 bytes, 39 lines * preinst #!/bin/sh Package: minicom …[중략]…
## 시스템에 설치되어 있는 모든 패키지 목록 (한 화면씩) 확인 ## $ dpkg -l | less …[중략]… ii abiword-plugin-grammar 2.8.6-0.3build1 grammar checking plugin for AbiWord ii abiword-plugin-mathview 2.8.6-0.3build1 equation editor plugin for AbiWord …[중략]…
## 시스템에 있는 파일이 어떤 패키지에 포함되어 있는지 확인 ## $ dpkg -S /usr/bin/rsync rsync: /usr/bin/rsync $ dpkg -S /sbin/ifconfig net-tools: /sbin/ifconfig
## 설치된 패키지에 상태 정보 ## $ dpkg -s rsync Package: rsync Status: install ok installed Priority: optional Section: net Installed-Size: 676 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> …[중략]…
## 로컬 디렉토리에 있는 .deb 파일 내용 ## $ dpkg -c minicom_2.5-1_i386.deb drwxr-xr-x root/root 0 2011-02-05 15:31 ./ drwxr-xr-x root/root 0 2011-02-05 15:31 ./usr/ drwxr-xr-x root/root 0 2011-02-05 15:31 ./usr/share/ drwxr-xr-x root/root 0 2011-02-05 15:31 ./usr/share/man/ drwxr-xr-x root/root 0 2011-02-05 15:31 ./usr/share/man/man1/ …[중략]…
## 패키지가 시스템에 설치한 파일 목록 ## $ dpkg -L minicom /. /usr /usr/share /usr/share/man …[중략]… |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #06] - debsums를 사용하여 설치된 패키지 검증 (0) | 2011.08.06 |
---|---|
[Chap2 #05] - aptitude를 사용하여 Software 관리 (0) | 2011.08.05 |
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
♧ 실질적으로 APT는 dpkg와 함께 동작하지만, 데비안 시스템에서 필요한
소프트웨어 검색, 다운로드, 설치, 업그레이드 그리고 확인 등
대부분의 패키지 관리 작업은 APT 유틸리티만으로도 충분하다.
▶ APT(Advenced Package Tool) 일반적 사용
APT 명령어 | 설 명 |
apt-get - APT package handling utility | |
sudo apt-get update | /etc/apt/sources.list 를 참조해 사용할 수 있는 패키지 데이터베이스를 업데이트한다. (source.list 파일을 변경했다면 반드시 이 명령을 실행) |
sudo apt-get check | 시스템 무결성 검사. |
sudo apt-get install <package> | 주어진 패키지명을 데이터베이스에서 찾을 수 있다면, 해당 패키지를 다운로드받아 설치. (APT 버전 0.6부터, 이 명령어는 자동적으로 GPG키를 사용해 패키지의 신뢰성을 검증) |
sudo apt-get -f install | 깨진 패키지를 위해 정상여부를 검사. (이 명령어는 의존성 문제에 대한 메시지 수정을 시도) |
sudo apt-get -d install <package> | 패키지를 설치하지 않고 /var/cache/apt/archives 디렉토리에 다운로드만 받음. |
sudo apt-get clean | 디스크 공간 확보를 위해 /var/cache/apt/archives 디렉토리에 캐시되어 있는 패키지들을 모두 삭제. |
sudo apt-get autoclean | 불완전하게 다운로드된 패키지나 오래된 패키지를 삭제하고자 할 때 실행. (부분적으로 디스크 공간을 절약할 수 있다) |
sudo apt-get upgrade | 설치되어 있는 모든 패키지에 대한 최신 업데이트를 검사한 후, 다운로드 받아 설치. |
sudo apt-get dist-upgrade | 전체 시스템을 새로운 버전으로 업그레이드 한다. 여기에는 패키지 삭제도 포함되어 있다. (이 방법은 시스템을 업데이트하는 방법으로는 잘 사용되지 않음) |
sudo apt-get --purge remove <package> | 주어진 패키지와 그 설정파일을 삭제. (--purge 옵션을 사용하면 설정파일까지 삭제) |
apt-cache - query the APT cache | |
apt-cache search <keyword> | 패키지 데이터베이스에서 주어진 키워드를 대소문자 구분 없이 검색. (결과로 키워드를 포함하고 있는 패키지명과 설명이 출력) |
apt-cache showpkg <package> | 단일 패키지에 대한 일반적인 정보 출력. |
apt-cache show <package> | 주어진 패키지명에 해당하는 소프트웨어에 대한 정보 출력. |
apt-cache stats | 설치된 모든 패키지에 대한 상태정보를 출력. |
apt-cache dump | 캐시에 있는 모든 패키지를 간단한 형식으로 출력. |
apt-cache dumpavail | 표준출력으로 유효한 파일들을 출력. |
apt-cache depends | 패키지가 설치되어 있는지 여부에 관계없이, 패키지에 대한 의존성을 출력. |
apt-cache pkgnames | 시스템에 설치되어 있는 모든 패키지 목록을 보여줌. |
apt-config - APT Configuration Query program | |
apt-config -v | 설치된 APT 유틸리티의 버전정보 출력. |
apt-key - APT key management utility | |
sudo apt-key list | APT가 알고 있는 gpg 키 목록을 출력. |
sudo apt-key add <file> | APT에 서명키 등록. |
sudo apt-key del <keyid> | 신뢰할수 있는 키 리스트에서 키를 제거. |
■ APT리포지토리와 써드파티 서명키 추가
Google에서 만들어 공개한 디지털 사진 공유 및 관리도구인 Picasa 프로그램(http://picasa.google.com/)을 설치해 보자. |
① 구글 리포지토리를 사용하기 위해 텍스트 에디터로 /etc/apt/sources.list 파일 하단에 두 라인 추가.
$ sudo vi /etc/apt/sources.list … #cn - added for google software deb http://dl.google.com/linux/deb/ stable non-free |
▷ 변경에 대한 코멘트를 남기고 싶다면 다음에 보이는 바와 같이 #cn을 사용.
▷ 첫번째 필드 - deb : 빌드된 패키지, deb-src: 소스 패키지
▷ 두번째 필드 - 배포판에 대한 Repository의 URL 주소.
▷ 세번째 필드 - 배포(distribution)
▷ 나머지 필드 - 소프트웨어 컴포넌트 기술
② Google Package에 대한 인증을 위해 먼저 서명키를 다운.
wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/key.pub |
▷ wget 명령으로 Google 사이트로부터 파일을 다운로드 받아 저장.
(공개 암호화 키는 구글 사이트로부터 다운로드 받은 패키지 검증에 사용)
③ 다음 apt-key 명령어를 사용해 APT에 서명키를 등록.
$ sudo apt-key add /tmp/key.pub [sudo] password for devanix: OK |
④ Google 디지털 서명키가 정상적으로 등록되었는지 확인.
$ sudo apt-key list /etc/apt/trusted.gpg ------------------------- …[중략]… pub 1024D/7FAC5991 2007-03-08 uid Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com> sub 2048g/C07CB649 2007-03-08 |
⑤ 다음으로, APT 패키지 업데이트를 통해 새로운 리포지토리를 활성화 한다.
$ sudo apt-get update |
■ APT를 사용하여 패키지 검색 & 설치 & 업그레이드
위 과정에서 마치고 새로운 리포지토리가 준비되었다면
해당 리포지토리에서 제공하는 새로운 소프트웨어를 검색, 설치할 수 있다.
## 패키지 검색 ## $ apt-cache search picasa …[중략]… picasa - Image management application from Google ## 패키지 정보 확인 ## $ apt-cache show picasa Package: picasa Version: 2.7.3736-15 Architecture: i386 Depends: libc6 (>= 2.2), libasound2, zlib1g, bash …[중략]… ## 패키지 의존성 확인 ## $ apt-cache depends picasa picasa 의존: libc6 의존: libasound2 liboss-salsa-asound2 …[중략]…
## 패키지 설치 ## (이미 설치 되어 있는 경우 - 자동적으로 최신 버전으로 업데이트) $ sudo apt-get install picasa Reading package lists… Done …[중략]…
## 업데이트 목록 확인 ## $ sudo apt-get update ## 설치되어 있는 패키지 모두 업그레이드 ## $ sudo apt-get upgrade |
■ APT를 사용하여 패키지 삭제 & 캐시정보 삭제
## 패키지 삭제 ## $ sudo apt-get rermove picasa
## 패키지 캐시정보 검색&삭제 ## $ find /var/cache/apt/ -name \*.deb /var/cache/apt/archives/picasa_2.7.3736-15_i386.deb …[중략]… $ sudo apt-get clean |
▷ 다운로드한 패키지는 /var/cache/apt/에 캐시해 두는데,
이들 패키지가 다시 필요할 경우 다운로드 시간을 절약할 수 있다.
패키지 캐시는 결과적으로 많은 디스크 공간을 사용하게 된다.
물론 이 캐시도 삭제할 수 있지만, 나중에 의존성 문제 등 삭제된 패키지가 필요하게 되면
다시 다운로드받아야 한다는 단점이 있다.
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #05] - aptitude를 사용하여 Software 관리 (0) | 2011.08.05 |
---|---|
[Chap2 #04] - dpkg를 사용하여 Software 관리 (0) | 2011.08.05 |
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
[Chap1 #03] - 리눅스 명령어 찾기 (0) | 2011.08.04 |
♧ 우분투는 데비안 기반 시스템의 표준 패키징 방식인 데비안 패키지 포맷(실제로는 ar 아카이브 파일)을 사용.
소프트웨어는 하나 이상의 데비안 패키지(.deb 확장자) 컴포넌트로 분리될 수 있는데,
여기에는 소프트웨어 파일만 저장되어 있는 것이 아니라 패키지에 대한 많은 정보를 포함 시킬 수 있다.
이러한 메타데이터는 소프트웨어의 의존성, 컴퓨터 아키텍처, 벤더, 크기, 라이센스, 설명문 등 다양한 정보를 포함.
우분투 시스템을 설치한 후, 시스템의 사용목적에 따라 필요한 .deb 파일을 추가, 삭제, 관리할 수 있다.
우분투를 비롯한 그밖의 데비안 기반 시스템에서는 대부분 소프트웨어 설치를 위해 .deb 파일을 사용.
aptitude 툴은 그때 그때 필요한 소프트웨어를 다루는 데 아주 유용.
그러나 패키지 관리를 위해 매우 다양한 툴이 개발되어 있고 일부는 함께 사용되는 경우도 있다.
▶ 패키지 관리 툴
APT |
온라인 리포지토리에서 패키지를 다운로드 받고 설치하는 데 사용되는 프로그램. APT 명령어(apt-get, apt-cache 등)들은 로컬에서 패키지를 설치하는 데 사용할 수도 있지만, 정상적인 사용을 위해서는 온라인 환경에서 사용해야 함. |
dpkg |
CD-ROM이나 다른 디스크 저장장치에 있는 .deb 파일을 제어하는 경우 사용. 시스템 소프트웨어에 대한 설정, 설치, 그리고 정보 획득을 위한 옵션들을 가짐. |
aptitude |
커맨드라인 명령어로 온라인 리포지토리와의 작업을 위해 사용. aptitude 도구는 APT나 dpkg를 사용할 경우 사용자가 직접 해주어야 하는 번거로운 작업들을 자동화해주기 때문에 사용자의 첫 번째 패키지툴로써 추천된다. |
▷ 시냅틱 패키지 관리자(Synaptic Package Manager):
데비안 패키지 관리 시스템인 APT(Advanced Packaging Tool)의 그래픽 유저 인터페이스(GUI) 프론트엔드 프로그램.
일반적으로 deb 패키지를 기반으로 한 시스템에서 이용하지만, RPM을 베이스로 한 시스템에서도 이용할 수 있다.
소프트웨어 패키지의 설치, 삭제 그리고 업그레이드 및 소프트웨어 저장소(software repository)를 추가할 수 있다.
▷ APT 하우투 문서 : http://www.debian.org/doc/manuals/apt-howto
▷ 다른 리눅스 배포판들도 APT와 비슷한 패키징 시스템을 사용.
- 레드햇 기반의 배포판들의 경우 : yum, rpm, urpmi, smart와 같은 소프트웨어 관리 툴을 사용.
▶ 우분투(Ubuntu)에서 소프트웨어의 종류.
▷ 사용가능한 전체 패키지 수:
$ apt-cache stats 전체 패키지 이름 : 42450 (849 k) 전체 패키지 구조: 42450 (2,038 k) 일반 패키지: 32601 …[중략]… |
앞에서 볼 수 있듯이 우분투에서는 기본적으로 수만 가지가 넘는 소프트웨어 패키지를 사용할 수 있다.
데비안 커뮤니티에서는 이들 패키지에 재배포 가능한 소프트웨어만 포함될 수 있도록 지속적으로 노력하고 있다.
비록 데비안이 자유 소프트웨어를 신뢰하고 있지만, 사람들이 자신의 컴퓨터에
독점 소프트웨어를 설치해야 하는 경우도 있다. 따라서 데비안에서는 독점 소프트웨어가
주요 배포판에 포함되지는 않더라도 가능한 한 언제든지 이들을 지원할 것이다.
이러한 소프트웨어는 보통 FTP 사이트의 non-free 디렉토리에서 사용할 수 있다.
우리가 직접 배포할 수는 없기 때문에 개인이 직접 설치하는 독점 소프트웨어의 수가 증가하고 있다.
이와 유사하게 Canonical사에서도 우분투 소프트웨어를 다음과 같이 네 개의 카테고리로 나누어 제공.
(http://www.ubuntu.com/community/ubuntustory/licensing)
main |
우분투 팀에 의해 지원되며 자유롭게 배포할 수 있는 소프트웨어가 포함. 우분투가 설치될 때 이들 소프트웨어 중 상당수가 설치. |
restricted |
완전한 자유 라이선스 소프트웨어는 아니지만, 우분투팀에 의해 지원되며 많은 리눅스 시스템에서 일반적으로 사용되고 있는 소프트웨어가 포함 |
universe |
리눅스 세계에서 사용할 수 있는 거의 대부분의 오픈소스 소프트웨어를 포함. universe 카테고리의 소프트웨어는 자유 라이선스일 수도 있고 아닐 수도 있으며 보안에 대한 수정이나 자원을 보장받을 수는 없다. |
multiverse |
우분투의 핵심 라이선스 정책에 준하는 자유 소프트웨어가 아닌 소프트웨어를 포함. 이 카테고리의 소프트웨어는 어떠한 지원도 받지 못하며 라이선스의 적법성도 개인이 스스로 확인해야 한다. |
▷ 서버와 같이 안정적인 서비스가 중시되는 시스템인 경우 가급적 universe, multiverse 카테고리 사용을 피한다.
[ 로케일 에러 메시지 다루기 ] |
||
만약 우분투(Feisty Fawn)의 커맨드라인 환경에서 패키지 설치 작업을 수행하고 있다면, 다음과 유사한 로케일 에러 메시지를 접하게 될 것이다.
이러한 에러는 일반적으로 설치된 언어 설정과 관련된 문제이거나 국제화된 인코딩에 관련된 문제인 경우가 많다. 이 문제에 대한 한 가지 만족할 만한 해결 방법은 LC_ALL 환경변수의 값을 LANG 변수의 값과 동일하게 설정하는 것.
▷ ~/.bashrc 파일에 해당 명령을 입력하면 local 또는 ssh 쉘이 실행될 때마다 자동 실행. |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #04] - dpkg를 사용하여 Software 관리 (0) | 2011.08.05 |
---|---|
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
[Chap1 #03] - 리눅스 명령어 찾기 (0) | 2011.08.04 |
[Chap1 #01] - 우분투, 데비안, 그리고 리눅스 (0) | 2011.08.03 |
♧ 전통적인 리눅스와 유닉스 문서들은 모두 맨 페이지(man pages)라고 하는 매뉴얼 페이지로 만들어져 있다.
이후에 GNU info 명령어를 통해 조금 더 정교한 문서화 방법이 제안되었다.
이렇듯 각각의 명령어는 자기 자신을 위한 다양한 형태의 도움말을 가지고 있다.
맨 페이지는 시스템 컴포넌트 지향적인 참고자료이다. 시스템에 설치되어 있는 거의 모든 명령어들에 대한
맨 페이지들뿐만 아니라 디바이스, 파일 포맷, 시스템, 개발자 정보, 그리고 리눅스 시스템의 많은 다른
컴포넌트에 대해서도 문서화되어 있다. 전체 소프트웨어 패키지의 설명서는 전통적으로
/usr/share/doc 디렉토리의 하위 디렉토리에 구분되어 저장.
우분투에서는 이들 문서 대부분이 압축되어 있기 때문에 문서를 읽으려면 먼저 압축을 풀어야 한다.
이 작업은 gzip 명령어를 이용해 수행(gzip은 파일의 내용을 출력할 뿐 디스크에 압축을 풀어놓지 않음)
mount 명령어에 대한 문서 압축을 해제하기:
$ gzip -dc /usr/share/doc/mount/README.mount.gz mount/umount for Linux 0.97.3 and later. … |
◈ 도움말(help) 이용하기
리눅스 시스템의 거의 모든 명령어들은 자체적으로 대략적인 사용 정보를 담고 있다.
보통 명령어와 -h 또는 --help 옵션을 사용.
$ ls --help Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. …[중략]… |
card 명령을 사용하여 도움말을 기본 프린터로 직접 출력.
evince 프로그램과 같은 문서뷰어를 통해 다시 볼 수 있는 포스트스크립트 파일로 저장 가능.
ps2pdf 유틸리티를 이용해 PDF 파일로 변환 가능
◈ 맨 페이지(man) 사용하기
$ man man Reformatting man(1), please wait… … |
▶ 맨 페이지의 섹션:
번 호 |
매뉴얼의 종류 |
1 |
실행 가능한 프로그램이나 쉘 명령어 |
2 |
시스템 콜(커널에서 제공하는 기능) |
3 |
라이브러리 콜(프로그램 라이브러리 기능) |
4 |
특별한 파일들(일반적으로 /dev/ 디렉토리에 있는 파일) |
5 |
파일 포맷과 /etc/passwd와 같은 파일 명명규칙 |
6 |
게임 |
7 |
그 외의 여러 가지것들(매크로 패키지와 명명규칙 등을 포함) |
8 |
시스템 관리 명령어(일반적으로 root 유저를 위한 명령어) |
9 |
커널 루틴[비 표준] |
섹션이란: 맨 페이지를 주제별로 그룹화 하는 방법
▶ man 명령어 옵션:
옵 션 |
설 명 |
man -a uname |
uname에 대한 모든 맨 페이지 섹션을 보여줌 |
man 2 uname |
uname에 대한 섹션 2의 맨 페이지를 보여줌 |
man uname -P more |
uname 맨 페이지를 more 명령어를 사용하여 페이지 단위로 보여줌 |
man -f uname |
whatis 명령어 수행결과와 동일(키워드와 동일한 맨 페이지만 출력) |
man -k crontab |
apropos 명령어 수행결과와 동일(키워드가 포함된 맨 페이지 출력) |
man -S 2 uname |
검색할 매뉴얼 섹션들을 콜론으로 구분하여 지정. |
◈ info 문서 사용하기
경우에 따라 개발자들은 info 데이터베이스에 명령어, 파일 포맷, 디바이스 또는 다른 리눅스 컴퓨넌트에
대한 좀 더 자세한 설명, 예를 들어 온라인 매뉴얼 페이지에 대한 링크 정보 등을 입력해 놓는다.
단순히 info 명령어를 입력하거나, 특정 컴포넌트를 열어 info 데이터베이스에 접근할 수 있다.
(q를 사용하면 종료)
예) ls 명령어에 대한 info 정보 :
$ info ls
이동 : Page Up, Page Down 상,하,좌,우 방향키를 이용.
info 데이터베이스가 사용하는 파일 : /usr/share/info디렉토리에 저장.
▶ info 화면에서 이동하기
키스트로크 |
이 동 |
? |
info 화면에서 사용되는 기본적인 명령들을 보여줌. |
Shift+l |
현재 화면에서 바로 이전 노드로 이동. |
n, p, u |
순서대로, 다음, 이전, 그리고 위 노드로 이동. |
Enter |
커서가 있는 곳에 하이퍼링크를 따라 이동. |
Shift+r |
참조 위치를 따라간다. |
q or Shift+q |
info 유틸리티를 종료하고 빠져나감. |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
---|---|
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #03] - 리눅스 명령어 찾기 (0) | 2011.08.04 |
[Chap1 #01] - 우분투, 데비안, 그리고 리눅스 (0) | 2011.08.03 |
UBUNTU LINUX TOOLBOX (0) | 2011.08.03 |
▶ 명령어 에러 메시지의 여러 유형
▷ 오타 등 명령어를 잘못 입력 또는 지정된 디렉토리에 존재하지 않는 경우(PATH 변수)
-bash: sillycommand: command not found |
또는 잘못된 명령이지만 비슷한 명령이 존재 하는 경우.
No command 'xxx' found, did you mean: Command 'xdx' from package 'xdx' (universe) Command 'x2x' from package 'x2x' (universe) Command 'xxd' from package 'vim-common' (main) xxx: command not found |
▷ 해당 명령어가 root 계정에만 사용 가능한 경우(sudo 또는 그와 비슷한 방법을 사용)
- 해당 프로그램마다 각종 에러 메시지가 틀림.
▷ 명령어 또는 명령어가 포함된 우분투 패키지가 설치되어 있지 않는 경우.
The Program 'nmap' is currently not installed. You can install it by typing: sudo apt-get install nmap |
▶ 설치된 명령어를 찾기 위한 일반적인 리눅스 명령어들:
명령어와 출력결과의 예 |
설명 |
$ echo $PATH /usr/local/bin:/usr/sbin:/usr/bin:..[생량]… |
현재 path 변수의 내용을 보여줌. |
$ which mount /bin/mount |
PATH에서 첫 번째로 검색된 mount 명령어를 보여줌. |
$ find /usr -name umount /usr/lib/klibc/bin/umount |
/usr 파일 시스템에서 umount 문자열을 가진 파일 또는 디렉토리를 찾는다. |
$ whereis mount mount: /bin/mount /usr/share/man/man8/mount.8.gz |
mount 명령어에 대한 첫 번째 실행 파일과 맨 페이지를 보여준다. |
$ locate mount … /usr/bin/fdmountd |
locate 명령어를 사용하여(설정되어 있는) 디렉토리 목록에서 mount를 검색. |
$ apropos umount … umount(8) - unmount file systems |
맨 페이지 설명에서 입력된 키워드인 umount를 찾는다. |
$ man 8 umount Reformatting umount(8), please wait… |
맨 페이지 섹션 8에 있는 umount 맨 페이지를 본다. (q를 입력해 종료) |
▶설치된 명령어를 찾기 위한 우분투 . 데비안 기반의 명령어들:
명령어와 출력결과의 예 |
설명 |
$ apt-cache search umount … gnome-mount - wrapper for (un)mounting and ejecting… |
패키지 캐시 목록에서 umount에 대한 명령어 또는 설명이 포함된 패키지를 찾는다. |
$ dpkg-query -S umount … initscripts: /etc/init.d/umountnfs.sh |
설치된 패키지에서 파일명에 umount를 포함하고 있는 패키지를 보여준다. |
$ dpkg -L initscripts … /bin/mountpoint |
패키지에 포함된 파일 목록을 보여준다. |
$ sudo apt-get update password: Get:1 http://security.ubuntu.com feisty-security Relase… … |
패키지 캐시 목록을 업데이트 한다. |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
---|---|
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
[Chap1 #01] - 우분투, 데비안, 그리고 리눅스 (0) | 2011.08.03 |
UBUNTU LINUX TOOLBOX (0) | 2011.08.03 |
♧ 우분투는 데비안 GNU/리눅스(www.debian.org)에 기반한 운영체제. 1990년대 초부터
시작되어 이미 성숙단계에 들어선 데비안은 안정성과 보안성 측면에서 선도적인 리눅스
배포판으로 여겨지고 있다. 자유 소프트웨어의 기준을 엄격하게 준수하며 기여함.
▶ 배포판
우분투를 기반으로 한 Xface 데스크탑 환경의 시스템 |
|
우분투를 기반으로 한 KDE 데스크탑 환경의 시스템. |
|
우분투를 기반으로 한 LXDE 데스크탑 환경의 가벼운 시스템. |
|
교육적 활용에 초점을 둔 우분투 버전. |
|
데비안을 기반으로 한 KDE 데스크탑 지향의 라이브 CD |
|
데비안 기반의 라이브 CD |
|
Knoppix 기반의 작은 라이브 CD(50 MB) |
|
우분투와 데비안에 기반한 데스크탑 라이브 CD |
▶ 우분투와 다른 리눅스 배포판 비교
우분투 시스템과 레드햇 엔터프라이즈 리눅스 또는 페도라 시스템에 커맨드 라인으로 로그인했다면
아주 약간의 차이만 느껴질 것이다. 두 시스템은 모두 공통의 디렉토리들과 유틸리티를 가지고 있고
기능 측면에서는 근본적으로 동일하다.
▷ 차이점 :
- 설치프로그램, 설치할 개별 패키지 선택, 설정 옵션등.
- 소프트웨어 관리툴 (데비안 기반 : APT(Advenced Package Tool) 계열 유틸)
- 룩앤필(Look-and-feel)관점 (초기화, 로그인 화면, 기본 데스크탑, 바탕화면, 아이콘 모음등..)
- 우분투의 경우 root계정이 신중하게 사용되도록 제한(su 대신 sudo 권장)
▶ 우분투 리소스 찾기
웹 포럼이자 소셜 네트워크인 이곳은 다양한 우분투 사용자와 그들을 지원하는 인력을 위한 커뮤니티 공간. |
|
공식적으로 우분투를 지원하고 있는 Canonical사로부터 유료 지원을 제공받을 수 있는곳. 만약 포럼을 검색하거나 답변을 기다릴 시간이 없거나 보다 신속한 지원을 원하는 경우, 한 달에 약 20달러의 비용 으로Canonical사로부터 전화, 이메일 그리고 웹을 통한 지원을 받을 수 있다. 또한 기업과 기업 사용자를 위한 우분투 트레이닝도 제공. |
|
각 버전에 대한 공식적인 최신 온라인 문서를 제공. 새로운 우분투 버전이 릴리즈된다면 해당 버전에 추가된 새로운 기능이나 달라진 내용이 무엇인지 이곳에서 찾을 수 있다. |
|
프린터 설정에서부터 삼바 파일 공유, 우분투 시스템을 최상의 상태로 유지할 수 있는 업데이트 작업까지 우분투와 관련되 다양한 사용법이 기록된 데스크탑 세션을 볼 수 있다. 이 사이트에 기여하고 싶은 우분투 사용자라면 Ubuntu Screencast Launchpad Team에 가입을 권한다. |
|
listinfo/ubuntu-users |
우분투 사용자들과 이메일을 통해 토론하고 함께 문제를 해결하고자 한다면, 우분투 사용자 메일링리스트에 가입. 우분투에 관한 것이라면 무엇이든 제안할 수 있다. 축적된 과거 자료를 보고자 한다면 https://lists.ubuntu.com/archives/ubuntu-users 참조. |
IRC 무료 채팅을 통해서 실시간으로 도움을 받고 싶다면 우분투 IRC 리소스 페이지를 방문한다. IRC 가이드라인, 클라이언트 프로그램, 채팅 서버 등에 대한 정보를 제공하고 있다. IRC를 통한 채팅 경험이 없다면 Ubuntu Code of Conduct page (www.ubuntulinux.org/community/conduct/) 도움을 구한다. |
|
리눅스와 호환된다고 알려진 USB 디바이스에 대한 정보를 공유. 이곳을 통해 USB 디바이스의 제조회사, 모델, 이름을 검색해볼 수 있으며 리눅스 환경에서의 사용 방법 등에 관한 정보도 얻을 수 있음. |
|
리눅스 성장과 발전을 위한 비영리 단체 |
|
SANE(Sacnner Access Now Easy)는 리눅스 환경에서의 문서 스캐닝에 초점을 맞춘 사이트. 만약 리눅스에서 스캐너 또는 스캐닝 기능이 포함된 복합기를 사용하고자 한다면, 이곳에서 리눅스를 적절히 지원 하고 있는 제조사를 찾아볼 수 있다. |
|
리눅스 문서화 프로젝트는 리눅스 대한 각종 안내서, 하우투 문서 그리고 FAQ 등의 온라인 문서 보관소. |
▶ 우분투 소프트웨어
우분투 패키지 웹사이트 : http://packages.ubuntu.com
시냅틱(Synaptic), APT, 그리고 업데이트 관리자 같은 표준툴들은 대부분 동일한 소프트웨어 설치 방법을 사용.
공식적으로 우분투용 패키지를 제공하지 않는 소프트웨어나 실험적인 소프트웨어가 필요한 경우라도,
대부분의 패키지들은 MD5sum 또는 GPG 키를 제공하기 때문에 다운로드받은 소프트웨어의 위조 여부
를 검증해볼 수 있다 - http://www.debian-administration.org/articles/375
(비표준 소프트웨어 사용과 관련해서 호환성 문제가 발생하거나 업그레이드 작업의 문제가 발생할 수 있음.)
▷ 공식적인 패키지 이외의 소프트웨어들을 살표볼 수 있는 웹사이트들.
리눅스 게임 창고. (다양한 리눅스 환경의 게임들) |
|
유닉스와 크로스플랫폼 소프트웨어, 테마, 액세서리 프로그램, 팜용 소프트웨어까지 방대한 양의 소프트웨어 제공. |
|
오픈소스 개발자들이 함께 새로운 프로젝트를 시작하고자 한다면 도움을 받을 수 있다. 프로젝트 개설하면 프로젝트 관리 툴, 리소스, 사용자와의 의사소통 및 코드 관리를 위한 툴뿐 아니라 프로젝트를 위한 웹 공간까지 사용할 수 있다. |
|
Linux.org는 리눅스 운동에 대한 정보를 제공하기 위해 1994년부터 운영되어 온 웹사이트. 모든 리눅스에 대한 정보의 보고로서 성장. 특히 애플리케이션 섹션은 리눅스 시스템에서 사용 가능한 광범위하고 다양한 소프트웨어를 안내할 것이다. |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
---|---|
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
[Chap1 #03] - 리눅스 명령어 찾기 (0) | 2011.08.04 |
UBUNTU LINUX TOOLBOX (0) | 2011.08.03 |
|
[ 원서 ] - E-Book [ View ]
|
Book Description: |
이 책에는 Ubuntu를 기반으로 하는 리눅스 배포판을 보다 더 유용하게 사용할 수 있는 방법(명령어) 이 소개되어 있다. 파일시스템 제어부터 멀티미디어 파일조작에 이르기까지 리눅스 시스템 관리에 필요한 1,000여개의 커맨드라인 명령어를 망라하고 있으므로 이 책을 통해 리눅스 시스템에 대한 이해를 넓힐 수 있다. 또한 항상 옆에 두고 필요할 때마다 바로바로 참조할 수 있도록 핵심내용을 중심으로 구성되어 있다. |
Table of Contents: |
역자 서문 |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap2 #03] - APT 사용하여 Software 관리 (0) | 2011.08.04 |
---|---|
[Chap2 #02] - Debian Software Package 사용 (0) | 2011.08.04 |
[Chap1 #04] - 리눅스 참고 정보(help, man, info) (0) | 2011.08.04 |
[Chap1 #03] - 리눅스 명령어 찾기 (0) | 2011.08.04 |
[Chap1 #01] - 우분투, 데비안, 그리고 리눅스 (0) | 2011.08.03 |