Differences between revisions 5 and 6
Revision 5 as of 2011-11-22 04:29:03
Size: 10368
Editor: ?tuxfolder
Comment:
Revision 6 as of 2011-11-22 05:28:36
Size: 10694
Editor: ?tuxfolder
Comment: translated till 'Upgrade of all the files:'
Deletions are marked like this. Additions are marked like this.
Line 66: Line 66:
 * {{{deborphan}}} 은 편리하지만 더 이상 사용되지 않는 명령이다. 요즘 apt 는 can be handy but is no longer required to recover space because apt now automatically un-installs unneeded packages that were installed only to satisfy a dependency of a package that was specifically requested to be installed but has since been removed. It gives you a list of library packages that no longer have higher-level packages depending on them.  * {{{deborphan}}} 은 편리하지만 더 이상 공간 확보를 위해 사용되진 않는다. 요즘은 apt 에서 특정 패키지 의존성을 지키기 위해 이미 삭제된 상태에서 다시 설치되었던 불필요한 패키지를 알아서 삭제하기 때문에 그 필요성을 상실했다. deborphan 은 더 이상 상위 차원의 패키지 의존성을 가지고 있지 않은 패키지들의 목록을 보여준다.
Line 69: Line 69:
== Contents of a debian file ==
To see the contents of debian packages in the Debian repositories, whether installed or uninstalled, install the {{{apt-file}}} package and enter
== Debian 파일의 내용물 ==

시스템 설치여부에 관계없이 Debian 저장소에 존재하는 패키지의 내용물을 확인하려면 {{{apt-file}} 패키지를 설치하고 다음 명령을 실행한다:
Line 76: Line 77:
To get the contents of the file "abc.deb", you have to enter 다음 명령은 abc.deb 파일의 내용을 보여준다:
Line 81: Line 82:
== Reconfiguring of debconf ==
To reconfigure debconf, so that it informs you of most changes of the new packages, you have to enter (as [[Root]]):
== debconf 재설정하기 ==
새 패키지에 특정하게 반영된 변경사항을 확인할 수 있도록 debconf 를 재설정하려면 [[ko/Root|Root]] 권한으로 다음 명령을 실행하라:
Line 86: Line 87:
Chose "medium" here 여기서 "medium" 고른다.
Line 88: Line 89:
== Package Management with apt-get and dpkg ==
=== Package resource list for APT ===
The file {{{/etc/apt/sources.list}}} is the definition file of the sources for apt. For further information about this file type
== apt-get 과 dpkg 를 활용한 패키지 관리 ==
=== APT 패키지 리소스 목록 ===
{{{/etc/apt/sources.list}}} 파일은 apt 가 찾는 저장소 목록을 정의한다.
이 파일에 관해 더 알려면 맨페이지를 참고하라:
Line 95: Line 97:
=== Retrieve new lists of packages: ===
To fetch the new lists of all the packages from sources.list enter:
=== 신규 패키지 목록 가져오기 ===
sources.list 파일로부터 신규 (혹은 판올림된) 패키지를 불러오려면 다음 명령을 실행하라:
Line 101: Line 103:
or the equivalent 또는 그와 호환되는
Line 105: Line 107:
를 실행한다.
이 명령은 서버에서 새 릴리즈 파일을 확인한다.
지난 번 갱신 이후로 릴리즈 파일에 변경이 발생하였는지 검사할 정도로 기특하다.
Line 106: Line 111:
This command checks for new release-files on the given servers. Luckily the command is clever enough to check if the release-file has changed after the last update.

=== Upgrade of all the files: ===
To make an update of all the changed packages, enter the line
=== 전체 파일 업그레이드: ===
변경이 발생한 패키지들을 업데이트하려면 다음 명령을 실행하자:
Line 114: Line 117:
If you want to do this from cron you should consider using the cron-apt package. 이 작업을 crond 에서 처리하도록 하려면 cron-apt 패키지 사용을 고려해보라.
Line 116: Line 119:
The older {{{apt-get}}} based method is: 구. {{apt-get}}} 방식으로 실행하려면 아래와 같다:
Line 122: Line 125:
The additional flag -u shows a list of upgraded packages as well. If you want to run the update in a cron-job, you should use the flags -dy. With this flags the new packages will be downloaded but not installed. You can install them later by writing apt-get update -u. 뒤에 붙인 -u 인자는 판올림된 패키지 목록도 함께 보여준다. cron-job 에서 소스를 갱신하려면 -dy 인자를 붙이자. 이것은 새로운 패키지를 다운로드하되 설치하지 않는다. 추후 apt-get update -u 로 다운로드한 패키지들을 설치할 수 있다.

Translation(s): English - Italiano - 한국어(Korean)


패키지 관리 시스템은 Debian 시스템에 설치된 소프트웨어 전체를 하나로 묶는다. Debian 에서 "패키지(들)" 라고 하면 시스템에 설치되는 파일 꾸러미 제공체인 소프트웨어(각각), 패키지끼리의 의존성 관계, 소프트웨어 환경설정 등을 일컫는다. 패키지는 설치, (다른 패키지에서 더 이상 필요한 패키지가 아닌 경우 자동으로) 삭제가 가능하다.

Debian 설치 프로세스의 주는 Debian 이 동작하기 위해서 가장 기본적인 패키지들을 설치하는 것이다.

Debian 패키지 관리는 몇 가지 계층으로 나눌 수 있다. 건드리기 힘든 최하위 층은 dpkg, 이것과 연결된 프로그램으로 구성된다. 그것들의 상위 층에 Apt, apt-get, 그리고 더 새로운 aptitude 도구가 존재한다. 패키지 관리 도구들 에 앞서 언급한 도구들과 더불어 DebianPackage 파일과 함께 동작하는 도구들을 간략히 소개하고 있다.

모두 맨페이지 에 문서화 되어 있어서 궁금한 점들을 찾아 볼 수 있다. (이런 식으로 'man apt' 말이다). 이 도구들과 친하지 않다면 매일 쓰기에 유용하다고 검증된 도구들을 쓸 수 있다. 아래 분류를 참고하자:

전체화면을 지원하는 프런트 엔드

(ncurses 기반) 콘솔용 프로그램과 GUI 기반 프로그램이 있다.

기능이 유사하면서도 서로 차이가 나는 대체물들이 많이 존재한다. RPM (레드햇 패키지 관리자) 기반을 가진 리눅스 배포판 및 유사하게 파생된 배포판 유저들은 RedCarpet 과 Up2Date 를 사용할 수 있다.

  • aptitude 는 (ko/Ncurses|ncurses) 전체화면 콘솔모드와 CLI 모드를 둘 다 지원한다. 이것은 apt 에 친화적인 프런트 엔드로서 명령행에서 시용 시 ko/apt-get 을 대체할 만하다.

  • ?DSelect 는 더 오래된 apt 프런트 엔드이며, 더 이상 권장하지 않는다.

  • adept 는 소수의 특별한 옵션을 지원하는 괜찮은 GUI 기반 프런트 엔드이다.

  • Synaptic 는 또 다른 GUI 기반 프런트 엔드이다.

  • 여전히 다른 프런트 엔드들 (이를테면, gnome-apt) 이 존재한다. 위에서 소개한 도구들을 사용해보기 바란다. apt-cache search 로 그것들을 검색할 수 있다.

명령행 프런트 엔드

일반적으로 명령행 도구들은 명령 뒤에 인자들을 연결하여 여러 처리과정들을(패키지 목록 관리, 패키지 검색, 패키지 설치, 패키지 구성)을 통합한다. 가장 기본적인 명령행 도구로 ?ko/aptitude 가 있다. ko/apt-get 는 유사한 목적을 수행하며, 더 이상 손꼽히는 도구군에 포함되진 않지만 여전히 사용하고 있다. 전형적으로 아래와 같이 실행한다:

  • aptitude update (또는 apt-get update) 처리가능 패키지 목록 데이터베이스를 갱신

  • aptitude safe-upgrade (또는 apt-get -u upgrade) 기존 설치된 패키지를 업그레이드하기 위해 새 버전을 읽어 옴.

  • aptitude search jabber (또는 apt-cache search jabber) jabber 인스턴트 메신저를 검색함

  • aptitude show gabber (또는 apt-cache show gabber) GNOME jabber 클라이언트에 관한 자세한 정보를 화면에 출력

  • aptitude install gabber (또는 apt-get install gabber) gabber 패키지를 설치함

  • aptitude remove gabber (또는 apt-get remove gabber) 시스템에 설치된 gabber 패키지를 삭제함

  • aptitude search '~i' 설치된 패키지 목록을 출력

"Apt 도움말":http://www.spack.org/wiki/UsingApt

전체 패키지 관리 기능에 대하여 더욱 정교한 명령행 인터페이스를 쓸 수 있게 ?ko/Wajig 라는 것도 있다.

저-차원 도구

크게 ko/dpkg 와 기타 꾸러미로 뭉뚱그려 부르는 것들은 한 가지 작업을 수행하는 명령들로 구성된다. 이것들은 레드햇의 "rpm" 명령에서 수행하는 기능들과 직접적으로 호환된다.

  • dpkg-reconfigure locales Locales 패키지 환경을 재설정한다.

  • dpkg-reconfigure exim exim 메인 전송 에이전트 패키지 환경을 재구성한다.

이 명령(파일)은 dpkg 에 들어있지 않으며, debconf 패키지에 포함되어 있다.

  • dpkg, (DPkg 참고) 는 여러가지 명령행 인자들과 조합해서 실행할 수 있다. apt 로 접근할 수 없는 위치에 Debian 패키지가 있다면 dpkg 로 바로 설치할 수 있다. 그러나 이 방법으로는 패키지 간 의존성을 스스로 해결할 수 없기 때문에 가능한한 apt 혹은 dselect 를 사용해야 함을 명심하자.

  • dpkg --listfiles textutils textutils 패키지에서 제공하는 파일 목록을 조회한다. 이 작업은 현재 설치된 패키지에만 적용되며, 특정 패키지에서 제공하는 문서위치들을 파악할 때 유용하게 쓰인다.

  • dpkg -S /path/to/some/file 는 지정한 파일이 어느 패키지에서 제공하는지 검사한다.

  • deborphan 은 편리하지만 더 이상 공간 확보를 위해 사용되진 않는다. 요즘은 apt 에서 특정 패키지 의존성을 지키기 위해 이미 삭제된 상태에서 다시 설치되었던 불필요한 패키지를 알아서 삭제하기 때문에 그 필요성을 상실했다. deborphan 은 더 이상 상위 차원의 패키지 의존성을 가지고 있지 않은 패키지들의 목록을 보여준다.

Debian 파일의 내용물

시스템 설치여부에 관계없이 Debian 저장소에 존재하는 패키지의 내용물을 확인하려면 {apt-file 패키지를 설치하고 다음 명령을 실행한다:

$ apt-file update
$ apt-file list foo

다음 명령은 abc.deb 파일의 내용을 보여준다:

$ dpkg-deb -c abc.deb 

debconf 재설정하기

새 패키지에 특정하게 반영된 변경사항을 확인할 수 있도록 debconf 를 재설정하려면 ?Root 권한으로 다음 명령을 실행하라:

 # dpkg-reconfigure debconf

여기서 "medium" 를 고른다.

apt-get 과 dpkg 를 활용한 패키지 관리

APT 패키지 리소스 목록

/etc/apt/sources.list 파일은 apt 가 찾는 저장소 목록을 정의한다. 이 파일에 관해 더 알려면 맨페이지를 참고하라:

$ man 5 sources.list

신규 패키지 목록 가져오기

sources.list 파일로부터 신규 (혹은 판올림된) 패키지를 불러오려면 다음 명령을 실행하라:

# aptitude update

또는 그와 호환되는

# apt-get update

를 실행한다. 이 명령은 서버에서 새 릴리즈 파일을 확인한다. 지난 번 갱신 이후로 릴리즈 파일에 변경이 발생하였는지 검사할 정도로 기특하다.

전체 파일 업그레이드:

변경이 발생한 패키지들을 업데이트하려면 다음 명령을 실행하자:

# aptitude safe-upgrade

이 작업을 crond 에서 처리하도록 하려면 cron-apt 패키지 사용을 고려해보라.

구. apt-get} 방식으로 실행하려면 아래와 같다:

# apt-get upgrade -u

뒤에 붙인 -u 인자는 판올림된 패키지 목록도 함께 보여준다. cron-job 에서 소스를 갱신하려면 -dy 인자를 붙이자. 이것은 새로운 패키지를 다운로드하되 설치하지 않는다. 추후 apt-get update -u 로 다운로드한 패키지들을 설치할 수 있다.

Distribution Upgrade of all the files:

WARNING

Following the upgrade instructions found in the release notes is the best way to ensure that your system upgrades from one major Debian release to another (e.g. from lenny to squeeze) without breakage!

These instructions will tell you to do a dist-upgrade (instead of upgrade) in the case of apt-get or safe-upgrade (instead of safe-upgrade in the case of aptitude) at least once. So you would have to type something like

# aptitude full-upgrade

or

# apt-get dist-upgrade -dy

# apt-get dist-upgrade -u

at some point during the major release upgrade.

A dist-upgrade may also be required to keep up-to-date with the latest version of sid.

Add a package:

How can you add a package to your system without the GUI programs? All you have to do is find out the name of this package and enter the command

# aptitude install sylpheed-claws

or

# apt-get install sylpheed-claws

to add the package sylpheed-claws.

Remove a package:

To get rid of the package foo which is no longer needed, enter the command

# aptitude remove foo

or

#  apt-get remove foo

If the package is needed by other packages you will be prompted to remove this package and all packages which depend on it.

Forcing removal of a package:

While making a distribution upgrade it could happen that you have to remove a package first. But sometimes this is not possible with apt-get remove since the package has unmet dependencies or is not installed completely. You can remove the package foo by using the command

# dpkg --force-all --remove foo 

Read the contents of a installed package:

Sometimes you want to know which files are in the package foo. To get this information enter the command

$ dpkg -L foo 

Get the description of a package:

You don't know what the package foo is for? Just write

$ aptitude show foo

or

$ dpkg -p foo 

Search the package of a file:

Have you ever wondered to which package belongs a given file? To get this information (e.g. for /usr/bin/apt-get), start the command

$ dpkg -S /usr/bin/apt-get

and it will tell you that this file is part of the package apt.


?CategoryQuickPackageManagement | CategoryPackageManagement