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と同じように出力されます。