Published Book on Amazon
All of IOT
Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1 |
|
All of IOT
Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2 |
출판된 한글판 도서
최신 라즈베리파이(Raspberry Pi)로 시작하는 사
물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상) |
|
최신 라즈베리파이(Raspberry Pi)로 시작하는 사
물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하) |
Original Book Contents
17.2.3 package 관리도구 – APT
17.2.3.1 APT 도구 개요
APT(Advanced Package Tool)는 Debian packaging system에 대한 고급 interface로서, "apt-get" 프로그램을 제공해준다. 이 도구는 순차적인 설치작업을 완벽히 지원하고, 복수 source에 있는 자료를 처리할 수 있으며, 기타 여러 가지 특징있는 기능들을 제공해 준다. Debian에서 이러한 APT 기반 package 관리도구를 이용해서 repository를 이용한 package 관리작업들은 처리할 수 있다.
APT 관리 도구는 mid-level tool로서, 가장 기본적인 APT 기반 package 관리도구들이며, 내부적으로는 dpkg 명령이 사용되도록 되어 있으며, command line user interface만 제공한다.
APT 관리도구에는 다음과 같은 명령들이 함께 포함되어 있다.
■ apt-get -- package를 설치하고, 제거하고, 업그레이드해준다.
■ apt-cache -- package에 대한 유용한 정보를 조회하는데 사용한다.
■ apt-cdrom -- 패키지를 위한 소스로 이동식 미디어를 사용할 수 있도록 해준다
■ apt-config -- 구성 설정에 대한 인터페이스를 제공한다.
■ apt-key -- 인증키 관리용 매니져이다.
17.2.3.2 "apt-get" 명령
"apt-get" 명령은 command line을 사용하여 복수 source에 있는 package를 조회하고, 설치할 수 있는 간단 방법을 제공해 준다. "dpkg"와는 다르게 "apt-get .deb" files을 이해하지는 못한다. "apt-get"은 제대로 된 package 이름으로만 작동하고, "/etc/apt/sources.list" 파일에 지정된 source로부터 받은 ".deb" archives만 설치할 수 있다. "apt-get" 명령은 지정된 source에서 ".deb" archives를 download 받은 후에 곧바로 "dpkg" 명령을 호출한다.
"apt-get" 명령은 주요한 release 사이의 major system upgrade에 가장 적합하며, package dependency를 확실하게 해결해주는 도구이며, hardware resources를 적게 사용한다.
[명령 형식]
apt-get [options] command <package> |
[명령 개요]
■ 시스템의 package를 쉽고 편리하게 조회하고, 설치할 수 있는 도구이다.
■ user 권한 -- super user.
[상세 설명]
■ 프로그램을 새로이 설치하거나 제거하는 등의 작업을 수행한다.
[주요 command]
update | Retrieve new lists of packages |
upgrade | Perform an upgrade |
install | Install new packages (pkg is libc6 not libc6.deb) |
remove | Remove packages |
autoremove | Remove automatically all unused packages |
purge | Remove packages and config files |
source | Download source archives |
build-dep | Configure build-dependencies for source packages |
dist-upgrade | Distribution upgrade, see apt-get(8) |
dselect-upgrade | Follow dselect selections |
clean | Erase downloaded archive files |
autoclean | Erase old downloaded archive files |
check | Verify that there are no broken dependencies |
changelog | Download and display the changelog for the given package |
download | Download the binary package into the current directory |
[주요 option]
-d, --download-only
| Download only; package files are only retrieved, not unpacked or installed. Configuration Item: APT::Get::Download-Only. |
--reinstall
| Re-install packages that are already installed and at the newest version. Configuration Item: APT::Get::ReInstall. |
--auto-remove
| If the command is either install or remove, then this option acts like running the autoremove command, removing unused dependency packages. Configuration Item: APT::Get::AutomaticRemove. |
--no-download
| Disables downloading of packages. This is best used with --ignore-missing to force APT to use only the .debs it has already downloaded. Configuration Item: APT::Get::Download. |
--reinstall
| Re-install packages that are already installed and at the newest version. Configuration Item: APT::Get::ReInstall. |
-s, --simulate, --just-print, --dry-run, --recon, --no-act | No action; perform a simulation of events that would occur but do not actually change the system. Configuration Item: APT::Get::Simulate. |
-y, --yes, --assume-yes
| Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an undesirable situation, such as changing a held package, trying to install a unauthenticated package or removing an essential package occurs then apt-get will abort. Configuration Item: APT::Get::Assume-Yes. |
--assume-no | Automatic "no" to all prompts. Configuration Item: APT::Get::Assume-No. |
17.2.3.3 "apt-cache" 명령
"apt-cache" 명령은 package에 대한 여러 가지 정보를 조회하는데 사용할 수 있는 도구이다. package name과 설명에 대해서 표준적인 검색방식을 제공하는데, package lists를 조회할 수 있고, 간단한 text나 정규 연산식을 이용하여 특정 기능을 제공하는 package를 찾거나, package들의 dependencies 조회를 통하여 원하는 package를 확인할 수 있게 해준다.
[명령 형식]
apt-cache [options] command <package> |
[명령 개요]
■ package에 대한 여러 가지 정보를 쉽고 간편하게 조회할 수 있는 도구이다.
■ user 권한 -- super user.
[상세 설명]
■ None
[주요 command]
search word | find packages whose description contain word |
show package | print the detailed information of a package |
depends package | print the packages a given package depends on |
showpkg package | print detailed information of the versions available for a package and the packages that reverse-depends on it |
showsrc pkg...
| showsrc displays all the source package records that match the given package names. All versions are shown, as well as all records that declare the name to be a binary package. |
pkgnames [prefix]
| This command prints the name of each package APT knows. The optional argument is a prefix match to filter the name list. The output is suitable for use in a shell tab complete function and the output is generated extremely quickly. This command is best used with the --generate option. |
[주요 option]
-i, --important | Print only important dependencies; for use with unmet and depends. Causes only Depends and Pre-Depends relations to be printed. Configuration Item: APT::Cache::Important. |
--installed | Limit the output of depends and rdepends to packages which are currently installed. Configuration Item: APT::Cache::Installed. |
--names-only, -n | Only search on the package names, not the long descriptions. Configuration Item: APT::Cache::NamesOnly. |
[사용 Example]
다음은 Microsoft Windows 원격 desktop 접속을 위해서 사용되는 "xrdp" package에 대한 내용을 조회한 것이다. 해당 package에 대한 여러 가지 정보가 표시되는 것을 확인할 수 있다.
pi@raspberrypi ~ $ apt-cache show xrdp |
Version: 0.6.1-2 Architecture: armhf Maintainer: Vincent Bernat <bernat@debian.org> Installed-Size: 1449 Depends: libc6 (>= 2.15), libpam0g (>= 0.99.7.1), libssl1.0.0 (>= 1.0.0), libx11-6, libxfixes3, adduser Recommends: vnc4server | tightvncserver | vnc-server Homepage: http://xrdp.sourceforge.net Priority: optional Section: net Filename: pool/main/x/xrdp/xrdp_0.6.1-2_armhf.deb Size: 195340 SHA256: ee9faa30e8382f220ced3c4b00480281e14f088f7b64c02ca211e6780ffc669d SHA1: 55af41486deb72a8b3484caf5496cc67b75da4b7 MD5sum: bbae86c2f2cf8054b58629921fd10cdd Description: Remote Desktop Protocol (RDP) server Based on research work by the rdesktop project, xrdp uses the Remote Desktop Protocol to present a graphical login to a remote client. xrdp can connect to a VNC server or another RDP server. . Microsoft Windows users can connect to a system running xrdp without installing additional software. Description-md5: b98c1889e17be6136503794b3491891b |