Differences between revisions 4 and 5
Revision 4 as of 2011-11-22 02:50:24
Size: 9837
Editor: ?tuxfolder
Comment: Full-Screen Frontends
Revision 5 as of 2011-11-22 04:29:03
Size: 10368
Editor: ?tuxfolder
Comment:
Deletions are marked like this. Additions are marked like this.
Line 30: Line 30:
== Command-line Frontends ==
Generally, the command line tools integrate a number of operations (package list management, package retrieval, package installation, package configuration) in a single command plus arguments. The primary command line tool is [[aptitude]]. [[apt-get]] fulfills a similar purpose and although it is no longer the recommended primary tool some still use it. Here are some typical invocations:
== 명령행 프런트 엔드 ==
일반적으로 명령행 도구들은 명령 뒤에 인자들을 연결하여 여러 처리과정들을(패키지 목록 관리, 패키지 검색, 패키지 설치, 패키지 구성)을 통합한다. 가장 기본적인 명령행 도구로 [[ko/aptitude]] 가 있다.
[[ko/apt-get]] 는 유사한 목적을 수행하며, 더 이상 손꼽히는 도구군에 포함되진 않지만 여전히 사용하고 있다. 전형적으로 아래와 같이 실행한다:
Line 33: Line 34:
 * {{{aptitude update}}} (or {{{apt-get update}}}, see [[apt-get]]) to update apt's internal database of available packages  * {{{aptitude update}}} (또는 {{{apt-get update}}}) 처리가능 패키지 목록 데이터베이스를 갱신
Line 35: Line 36:
 * {{{aptitude safe-upgrade}}} (or {{{apt-get -u upgrade}}}) to bring all currently installed packages up to date  * {{{aptitude safe-upgrade}}} (또는 {{{apt-get -u upgrade}}}) 기존 설치된 패키지를 업그레이드하기 위해 버전을 읽어 옴.
Line 37: Line 38:
 * {{{aptitude search jabber}}} (or {{{apt-cache search jabber}}}) to find a program that gives you access to the jabber instant-messaging system  * {{{aptitude search jabber}}} (또는 {{{apt-cache search jabber}}}) jabber 인스턴트 메신저를 검색함
Line 39: Line 40:
 * {{{aptitude show gabber}}} (or {{{apt-cache show gabber}}}) to display more info about the GNOME jabber client  * {{{aptitude show gabber}}} (또는 {{{apt-cache show gabber}}}) GNOME jabber 클라이언트에 관한 자세한 정보를 화면에 출력
Line 41: Line 42:
 * {{{aptitude install gabber}}} (or {{{apt-get install gabber}}}) to install the package  * {{{aptitude install gabber}}} (또는 {{{apt-get install gabber}}}) gabber 패키지를 설치함
Line 43: Line 44:
 * {{{aptitude remove gabber}}} (or {{{apt-get remove gabber}}}) to remove it again  * {{{aptitude remove gabber}}} (또는 {{{apt-get remove gabber}}}) 시스템에 설치된 gabber 패키지를 삭제함
Line 45: Line 46:
 * {{{aptitude search '~i'}}} to show installed packages  * {{{aptitude search '~i'}}} 설치된 패키지 목록을 출력
Line 47: Line 48:
"Apt Help":http://www.spack.org/wiki/UsingApt "Apt 도움말":http://www.spack.org/wiki/UsingApt
Line 49: Line 50:
You can also use [[Wajig]], for an unified and more logical command-line interface to all package management functions. 전체 패키지 관리 기능에 대하여 더욱 정교한 명령행 인터페이스를 쓸 수 있게 [[ko/Wajig]] 라는 것도 있다.
Line 51: Line 52:
== Low-level Tools ==
Largely {{{dpkg}}} and friends, these are commands that perform a single task. They are most directly comparable to Redhat's "rpm" command.
== 저-차원 도구 ==
크게 {{{ko/dpkg}}} 와 기타 꾸러미로 뭉뚱그려 부르는 것들은 한 가지 작업을 수행하는 명령들로 구성된다. 이것들은 레드햇의 "rpm" 명령에서 수행하는 기능들과 직접적으로 호환된다.
Line 54: Line 55:
 * {{{dpkg-reconfigure locales}}} to reconfigure [[Locale]]s  * {{{dpkg-reconfigure locales}}} [[Locale]]s 패키지 환경을 재설정한다.
Line 56: Line 57:
 * {{{dpkg-reconfigure exim}}} to reconfigure the exim mail-transfer agent. This command isn't currently part of dpkg; it's provided by debconf.  * {{{dpkg-reconfigure exim}}} exim 메인 전송 에이전트 패키지 환경을 재구성한다.
이 명령(파일)은 dpkg 에 들어있지 않으며, debconf 패키지에 포함되어 있다.
Line 58: Line 60:
 * {{{dpkg}}}, (see [[dpkg|DPkg]]) invoked with various command-line arguments. If you find a place to download debian-packages that is not accessible via apt, you can download the packages and install them directly. Note that this method will not automagically resolve dependencies between packages etc, therefore use apt or dselect if possible.  * {{{dpkg}}}, ([[ko/dpkg|DPkg]] 참고) 는 여러가지 명령행 인자들과 조합해서 실행할 수 있다. apt 로 접근할 수 없는 위치에 Debian 패키지가 있다면 dpkg 로 바로 설치할 수 있다. 그러나 이 방법으로는 패키지 간 의존성을 스스로 해결할 수 없기 때문에 가능한한 apt 혹은 dselect 를 사용해야 함을 명심하자.
Line 60: Line 62:
 * {{{dpkg --listfiles textutils}}} to list all the files provided by the textutils package. This only works for packages which are already installed. This can be useful to find out what form a package's documentation has been provided in.  * {{{dpkg --listfiles textutils}}} textutils 패키지에서 제공하는 파일 목록을 조회한다. 이 작업은 현재 설치된 패키지에만 적용되며, 특정 패키지에서 제공하는 문서위치들을 파악할 때 유용하게 쓰인다.
Line 62: Line 64:
 * {{{dpkg -S /path/to/some/file}}} to find out which package a file belongs to.  * {{{dpkg -S /path/to/some/file}}} 지정한 파일이 어느 패키지에서 제공하는지 검사한다.
Line 64: Line 66:
 * {{{deborphan}}} 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 는 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.

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 는 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.

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

$ apt-file update
$ apt-file list foo

To get the contents of the file "abc.deb", you have to enter

$ dpkg-deb -c abc.deb 

Reconfiguring of debconf

To reconfigure debconf, so that it informs you of most changes of the new packages, you have to enter (as Root):

 # dpkg-reconfigure debconf

Chose "medium" here

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

$ man 5 sources.list

Retrieve new lists of packages:

To fetch the new lists of all the packages from sources.list enter:

# aptitude update

or the equivalent

# apt-get update

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

# aptitude safe-upgrade

If you want to do this from cron you should consider using the cron-apt package.

The older apt-get based method is:

# apt-get upgrade -u

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.

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