APTはパッケージの取り寄せ、インストール、アップグレード、検索などを行う 便利なアプリケーションです。RPMに対してパッケージ間の依存関係や競合関係 を解決してくれるためOSのバージョンアップを行うときにも利用できます。
APTはVine Linux 2.1.5から正式採用になっていますので、それ以前のバージョ ンをお持ちの方は、VinePlusからrpmコマンドを用いてインストールする必要が あります。rpmコマンドの使い方は次節を御覧下さい。
APTがインストールされていると、ファイル /etc/apt/sources.listがあるはず です。このファイルには apt line と呼ばれるパッケージを取り寄せる場所が記 述されています。「#」で始まっている行はコメントになっています。標準では、 アップデートパッケージのみをvinelinux.orgからダウンロードするようになっ ています。
例 8-1. ネットワークからダウンロードする場合
ネットワークに接続されている場合は、ネットワーク上のサーバからダウンロー ドして、インストール/アップグレードすることができます。ただし、ダイアル アップなどの低速なネットワークでOSのバージョンアップを行うと、非常に時間 がかかりますので注意して下さい。
ファイル /etc/apt/sources.listの標準設定では、vinelinux.orgのみからパッケージをダウンロードするようになっています。 もし、別のサイトからダウンロードする場合は、このファイルを修正して下さい。
たとえば、Ring Server Projectからもパッケージを取得できる様にしたい場合は、以下の様に行頭の#を削除します。
# (ring mirror) rpm [vine] http://www.t.ring.gr.jp/pub/linux/Vine/apt 3.0/$(ARCH) main devel plus extras updates rpm-src [vine] http://www.t.ring.gr.jp/pub/linux/Vine/apt 3.0/$(ARCH) main devel plus extras updates |
例 8-2. CD-ROMから利用する場合
標準ではネットワークにアクセスします。APT対応のCD-ROM等を入手している場合は、 apt-cdrom コマンドを使用します。
# apt-cdrom add CDROM のマウントポイントとして以下を使用します: /mnt/cdrom/ CDROM をアンマウントしています CDROM をドライブに挿入してエンターキーを押して下さい |
標準ではネットワークにアクセスします。CD-ROM等を入手している場合は、 ここで CDROM を挿入し、エンターキーを押すことで apt データベースにそのCDROMにふくまれるパッケージの情報 が登録されます。登録されたあとは CDROM は抜いておいても 構いません。VinePlus のCDも登録したい場合は同様の手順を おこないます。
ここで apt-get をおこなったときに必要なパッケージが CDROMにある場合は以下のようにCDROMの挿入をうながされます ので、指示されたCDROMを挿入してエンターキーをおすことで apt-get は続行されます。
apt-get install xmms ファイル依存を処理しています... 完了 パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: xmms 0 個のアップグレードパッケージ, 1 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。 取得パッケージ: 0B/211kB のアーカイブを取得します。インストール後は 536kB が使用されます。 メディア変更: 'Vine Linux 2.6CR' とラベルのついたCDROMをドライブ '/mnt/cdrom/' に挿入し、enter を押して下さい |
まず、インストールされているパッケージ情報と新しいパッケージの情報のデー タベースを更新します。apt-getコマンドを用いて、apt line 上のパッケージ情 報を取得し APT 用のデータベースを構築します。この段階ではまだパッケージ の更新は行われません。sources.list の変更をした場合や、前回の apt-get か ら数時間以上たった場合はパッケージ情報が更新されていますので、かならず 更新の操作をして下さい。
アップデートパッケージを updates.vinelinux.org からダウンロードする場合、 以下のように表示されます。
# apt-get update 取得:1 http://updates.vinelinux.org 2.6/i386/base/pkglist.updates [14B] 取得:2 http://updates.vinelinux.org 2.6/i386 release.updates 無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors 取得完了: 14B を 0s (80B/秒) ファイル依存を処理しています... 完了 パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 W: http://updates.vinelinux.org/apt/ は認証を省略します。 |
また、CD-ROMを利用する場合、以下のように表示されます。
# apt-get update 無視 file: Vine/base/mirrors ファイル依存を処理しています... 完了 パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 W: file:/mnt/cdrom/ は認証を省略します。 |
既にインストールされているパッケージのアップデートを行なうには apt-get upgradeで行います。この場合は、パッケージが他のものと入 れ替わる場合や、消えると言った場合には保留されますので、完全なアップグレー ドをすることはできません。
# apt-get upgrade パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージがアップグレードされます: emacs emacsen-common 2 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。 取得パッケージ: 20.4MB のアーカイブを取得します。インストール後は 564kB が使用されます。 続行しますか? [Y/n] |
オプション-sあるいは--no-actをapt-getの後に指 定すると、実際にはアップグレード動作は行ないません。通常は、まずこのオプ ションを指定して、どのパッケージがアップグレードされるか確認してから行う と良いでしょう。
パッケージが入れ替わる場合などの依存関係の解決が必要な場合は、 dist-upgradeを用います。OS全体のバージョンアップを行う場合はこ ちらを使用します。
# apt-get dist-upgrade |
特定のパッケージをインストールしたりアップグレードする場合は、 apt-get installを用います。
# apt-get install (パッケージ名) |
パッケージ名には複数のパッケージを空白で区切って指定することができます。 パッケージに依存関係がある場合は、自動的に解決され必要となるパッケージも インストールやアップグレードされます。 例えば、パッケージxemacsの場合は、以下のようになります。
# apt-get install xemacs パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下の追加パッケージがインストールされます: xemacs-sumo 以下のパッケージが新たにインストールされます: xemacs xemacs-sumo 0 個のアップグレードパッケージ, 2 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 32 個の保留パッケージがあります。 取得パッケージ: 0B/21.0MB のアーカイブを取得します。インストール後は 61.0MB が使用されます。 続行しますか? [Y/n]y RPM コマンドを実行しています (-U)... xemacs-sumo ################################################## xemacs ################################################## ..後略.. |
特定のパッケージを削除する場合は、removeを用います。
# apt-get remove (パッケージ名) |
パッケージ名には複数のパッケージを空白で区切って指定することができます。
apt-getコマンドにより取得されたアーカイブファイルは、/var/cache/apt/archives/以下に蓄積されていきます。 これらのファイルを一括して削除する場合は、cleanを用います。
# apt-get clean |
パッケージの情報を知りたい場合は、apt-cacheコマンドを用います。 まず、gencachesで情報を収集しておきます。
# apt-cache gencaches |
個別のパッケージ情報を知りたい場合は、apt-cache show (パッケージ名) を用います。apt 自身の場合、以下のように表示されます。
$ apt-cache show apt パッケージ名: apt セクション: System Environment/Base インストールサイズ: 2228 メンテナ: Daisuke SUZUKI <daisuke@linux.or.jp> バージョン: 0.3.19.cnc.55-3vl7 Depends: rpm (>= 3.0.5), gnupg, ld-linux.so.2, libapt-pkg.so.3.1, libbz2.so.1, libc.so.6, libdb.so.2, libm.so.6, libpopt.so.0, librpm.so.0, libstdc++-libc6.2-2.so.3, libz.so.1, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1) 提供: libapt-pkg.so.3.1 アーキテクチャ: i386 ファイルサイズ: 135271872 MD5sum: 9611abf4494fd0245d7dd2b73e4ea9b0 ファイル名: apt-0.3.19.cnc.55-3vl7.i386.rpm 説明: Debian's Advanced Packaging Tool with RPM support A port of Debian's apt tools for RPM based distributions, or at least for Conectiva. It provides the apt-get utility that enables a simpler, safer way to install and upgrade packages. APT features complete installation ordering, multiple source capability and several other unique features. |
また、showpkgを用いると、パッケージの依存関係などが表示されます。
$ apt-cache showpkg apt Package: apt Versions: 0.5.15.cnc.6-0vl5(/var/state/apt/lists/updates.vinelinux.org_apt_3.0_i386_base_pkglist.main)(/var/lib/rpm/Packages) Reverse Depends: tiny-buildfarm,apt 0.3.19.cnc.52 cron-apt,apt apt-listchanges,apt 0.5.4.cnc.9 apt-cron,apt apt-devel,apt 0.5.15.cnc.6-0vl5 synaptic,apt 0.5.5 Dependencies: 0.5.15.cnc.6-0vl5 - fileutils (0 (null)) ldconfig (0 (null)) sed (0 (null)) rpm (2 4.0.4) gnupg (0 (null)) bzip2 (0 (null)) db4 (0 (null)) readline (2 4.3) vine-keyring (2 1.0) /bin/sh (0 (null)) /bin/sh (0 (null)) /bin/sh (0 (null)) /bin/sh (0 (null)) /usr/bin/python (0 (null)) libapt-pkg-libc6.3-5.so.0 (0 (null)) libbz2.so.1 (0 (null)) libc.so.6 (0 (null)) libc.so.6(GLIBC_2.0) (0 (null)) libc.so.6(GLIBC_2.1) (0 (null)) libc.so.6(GLIBC_2.1.3) (0 (null)) libc.so.6(GLIBC_2.2) (0 (null)) libc.so.6(GLIBC_2.2.3) (0 (null)) libc.so.6(GLIBC_2.3) (0 (null)) libdl.so.2 (0 (null)) libdl.so.2(GLIBC_2.0) (0 (null)) libdl.so.2(GLIBC_2.1) (0 (null)) libgcc_s.so.1 (0 (null)) libgcc_s.so.1(GCC_3.0) (0 (null)) libm.so.6 (0 (null)) libm.so.6(GLIBC_2.0) (0 (null)) libncurses.so.5 (0 (null)) libpopt.so.0 (0 (null)) libpthread.so.0 (0 (null)) libpthread.so.0(GLIBC_2.0) (0 (null)) libreadline.so.4 (0 (null)) librpm-4.0.4.so (0 (null)) librpmdb-4.0.4.so (0 (null)) librpmio-4.0.4.so (0 (null)) librt.so.1 (0 (null)) libstdc++.so.5 (0 (null)) libstdc++.so.5(GLIBCPP_3.2) (0 (null)) libz.so.1 (0 (null)) Provides: 0.5.15.cnc.6-0vl5 - libapt-pkg-libc6.3-5.so.0 Reverse Provides: |
キーワードを元にパッケージを検索することができます。例えば、 「office」という文字を含むパッケージを検索してみます。
$ apt-cache search office koffice - A set of office applications for KDE. abiword - Multiplattform word processor koffice-devel - Development files for KOffice imap - Server daemons for IMAP and POP network mail protocols. |
このようにkofficeとabiwordなど4つのパッケージが関係 していることがわかります。さらに詳細を知りたい場合は、--fullオ プションを付けて実行します。検索にひっかかったパッケージそれぞれについ てshowと同じように出力されます。