APT 명령으로 관리하기
Ubuntu에서는 주로 APT(Advanced Package Tool)과 dpkg(Debian package)로 SW를 관리합니다.
우선 Ubuntu, Debian, Redhat, Linux의 관계 부터 알려드립니다.
- Ubuntu는 Debian GNU/Linux(www.debian.org/)를 기반으로 한 OS이다.
- Debian은 90년대 초부터 안정성과 보안성이라는 말로 Linux 배포를 주도해 왔다.
- Debian은 Free Software이다.
- Redhat은 또다른 Linux의 배포판이다.
- Redhat는 대표적으로 Fedora가 있다.
- Debian과 Redhat은 기본적으로 큰 차이가 없으며, 쉘과 패키징 관리에서 다르다.
- 일반적으로, 사용 편의성은 UI쪽을 잘 다듬은 Ubuntu가, 범용성은 Fedora가 좋다고 한다.
Debian Software Package 작업하기
- APT
온라인 저장소로 부터 패키지를 다운로드하고 설치하는데 사용된다. - dkpg
CD-ROM이나 다른 디스크로 부터의 .deb 파일과 함께 작동한다.
시스템 소프트웨어의 설정/설치/정보 획득등의 옵션을 제공한다. - aptitude
온라인 저장소로에서의 작업을 제공한다.
dkpg나 APT에 비해 자동화된 작업을 제공하므로, 처음 사용시 추천되는 툴이다.
다음과 같이 apt-cache를 이용하여 현재 가능한 패키지의 Total을 보고받을 수 있습니다.
~$ apt-cache stats Total package names: 39457 (1,578k) Normal packages: 29933 Pure virtual packages: 526 Single virtual packages: 2747 Mixed virtual packages: 296 Missing: 5955 Total distinct versions: 32525 (1,821k) Total distinct descriptions: 32525 (781k) Total dependencies: 211445 (5,920k) Total ver/file relations: 34332 (549k) Total Desc/File relations: 32525 (520k) Total Provides mappings: 5833 (117k) Total globbed strings: 149 (1,936) Total dependency version space: 1,057k Total slack space: 112k Total space accounted for: 10.1M |
APT로 SW 관리하기
APT와 dkpg는 그 기능상 겹치는 부분이 많으나, Debian에서의 대부분의 install, download, upgrade, search 등등의 작업은 APT로도 충분합니다. 이러한 APT의 주요한 명령을 기술합니다.
- sudo apt-get update
/etc/apt/soruces.list에 따라 available package의 DB를 업데이트한다.
물론, soruces.list가 변경되었다면, 꼭 실행해 주도록 한다. - apt-cache search <keyword>
주어진 keyword에 따라 대소문자 구별 없이 DB를 검색한다. - sudo apt-get install <pacakage>
해당 package를 다운로드하고 설치한다. - sudo apt-get -d install <package>
해당 package를 /var/cache/apt/archives에 다운로드한다. - apt-cache show <package>
해당 package로 부터 정보를 표시한다. - sudo apt-get upgrade
설치된 package의 업데이트를 체크한뒤 다운로드하고 설치한다. - sudo apt-get disp-upgrade
삭제된것 포함하여 시스템의 모든 package를 업데이트한다. (추천하지 않는 명령) - sudo apt-get autoclean
다운로드된 package나 더이상 설치되지 않은 package를 삭제한다. - sudo apt-get clean
디스크 공간 확보를 위해 /var/cahce/apt/archive에 cache된 package를 삭제한다. - sudo apt-get --purge remove <package>
해당 package와 그것의 설정 파일을 모두 제거한다. - sudo apt-get -f install
깨진 packge를 위해 정상 체크를 수행한다. - apt-config -V
APT utility의 버전을 표기한다. - sudo apt-key list
APT가 알고있는 gpg 키를 나열한다. - apt-cache status
설치된 모든 package의 통계를 표기한다. - apt-cache depends
package의 dependency를 표기한다. (설치 여부 관계없음) - apt-cache pkgnames
시스템에 설치된 모든 package를 나열한다.
APT 저장소와 3rd-Party signature key 추가하기
Google repository를 사용하기 위해서는, /etc/apt/sources.list에 다음을 추가합니다.
# cn – added for google software deb http://dl.google.com/linux/deb/ stable non-free |
그다음, google package 인증을 위한 signing key를 다운로드하고 설치해야 합니다. 그리고, 제대로 설치되었는지 확인해 봅니다.
~$ wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/key.pub 100%[=================================================================================>] 1,745 --.-K/s in 0.007s 2010-10-04 00:11:18 (259 KB/s) - `/tmp/key.pub' saved [1745/1745] pub 1024D/FBB75451 2004-12-30 pub 1024D/7FAC5991 2007-03-08 |
이 과정을 모두 거치면, 아래와 같이 google의 picasa를 검색/설치/업데이트해 볼 수 있습니다.
~$ apt-cache search picasa
~$ apt-cache show picasa
~$ apt-cache depends picasa
~$ sudo apt-get install picasa
dkpg는 APT보다 낮은 Level에서 작동합니다. 즉, APT는 dpkg를 뒷단에서 사용하게 됩니다. APT와 dpkg는 Red Hat Linux의 yum과 rpm과 유사하게 동작합니다. 이러한 dpkg의 주요한 명령은 다음과 같습니다.
- dkpg -c <.deb file>
주어진 .deb 파일에 의해 설치된 항목을 명기한다. - dpkg -I <.deb file>
주어진 .deb 파일의 정보를 표시한다. - dpkg -p <package>
해당 package의 정보를 표시한다. - dpkg -s <filename>
주어진 파일이름이 발견된 package를 표시한다. 경로나 파일 이름이 가능하다. - dpkg -l
설치된 package를 표시한다. - dpkg -L <package>
해당 package의 설치된 파일들을 표시한다. - dpkg -s <package>
해당 package의 상태를 표시한다. - sudo dpkg -i <package>
주어진 .deb 파일을 설치한다. - sudo dpkg -r <package>
주어진 package를 삭제하지만, 파일은 남겨둔다. - sudo dpkg -p <package>
주어진 package와 설정 파일을 삭제한다. - sudo dpkg -x <.deb file> <directory>
.deb 파일에 포함된 파일을 해당 directory에 압축해제 한다.
추가적으로, 해당 directory의 permission을 초기화한다.
~$ dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-====================-====================-======================================================== ii acpi-support 0.136 scripts for handling many ACPI events ii acpid 1.0.10-5ubuntu2 Advanced Configuration and Power Interface event daemon ... ii zip 3.0-2 Archiver for .zip files ii zlib1g 1:1.2.3.3.dfsg-15ubu compression library - runtime |
'Research > Ubuntu' 카테고리의 다른 글
Ubuntu Shell 활용 (02) redirect / su, sudo / 환경 변수 (0) | 2010.10.27 |
---|---|
Ubuntu Shell 활용 (01) (0) | 2010.10.21 |
ubuntu에서 man 활용하기 (0) | 2010.10.07 |
설치된 Command의 경로, 정보를 얻는 명령들 (0) | 2010.10.06 |
VMWare에서 ubuntu 설치후 SSH 연결하기 (6) | 2010.10.04 |