APT (ツール)
読み:アプト
外語:APT: Advanced Packaging Tool
Debian GNU/Linuxで導入され、UbuntuやVine Linuxでも採用されているパッケージ管理システム。
概要
各パッケージ間の依存関係情報をあらかじめデータベース化しておいて、特定のパッケージをインストールしたりアンインストールする際に必要なパッケージを自動的に組み込んでくれる。
もともとはDebian形式パッケージ(.deb)に対応するものだったが、現在はRed Hat形式パッケージ(.rpm)にも対応するバージョンが作成されている(Vine Linuxが使っているのは.rpm対応版)。
多くの機能は、フロントエンドapt-getで処理できる。
パッケージの詳細な情報を表示する場合はapt-cacheを使う。
また、CUIフロントエンドとしてaptitudeもある。
特徴
使い方
[sudo] apt-get [オプション] コマンド [引数]
実際にシステムを変更する操作はroot権限が必要。suでrootになるか、UbuntuのようにsuではrootになれないOSの場合は逐一sudoする必要がある。
コマンド
- update ‐ パッケージリストの取得と更新
- upgrade ‐ パッケージのアップグレード(更新)を実行
- install ‐ 新しいパッケージ(pkgはlibc6.debではなくlibc6)をインストールする
- remove ‐ パッケージを削除する
- autoremove ‐ 自動的に使用されていないすべてのパッケージを削除する
- purge ‐ パッケージと設定ファイルを削除する
- source ‐ ソースアーカイブをダウンロードする
- build-dep ‐ ソースパッケージのビルド依存関係を設定する
- dist-upgrade ‐ ディストリビューションのアップグレード(更新)を実行する
- dselect-upgrade ‐ dselectの選択に従う
- clean ‐ ダウンロードしたアーカイブファイルを消去する
- autoclean ‐ ダウンロードした古いアーカイブファイルを消去する
- check ‐ 壊れた依存関係がないことを確認する
日常の更新
Ubuntuのアップデート・マネージャは頻繁にフリーズして使い物にならないため、日常は以下の方法で更新を確認し、更新を実行する。
sudo apt-get update
sudo apt-get upgrade
先にアップデート・マネージャが更新を連絡してきた場合は、そのまま何もせずクローズし、sudo apt-get upgradeを実行すればよい。
保留
そのパッケージを更新するとほかのパッケージが削除される場合、保留となり、そのままではアップグレード(更新)することができない。
特に、カーネルを含むアップデートが該当し、この場合、apt-get upgradeではなく、apt-get dist-upgradeが必要となる。
apt-get dist-upgradeは慎重に実施する必要がある。最悪、システムが起動しなくなることもある。
どのような更新が実行されるかは、-s オプションでシミュレーションして確認することができる。
apt-get -s dist-upgrade
イースターエッグ
apt-get
apt-getをそのまま、または-hオプションを付けて起動するとヘルプメニューが表示される。
これは英語だが、能書きの最後には、「This APT has Super Cow Powers.」なる謎の文言が記載されている。事情は良く分からないが、このAPTには「Super Cow Powers」(スーパー牛さんパワー)なるものが存在するらしい。
そこで、モーと鳴いてみることにしよう(以下、アスキーアートの\は円記号ではなくバックスラッシュである)。
$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
君は今日、モーと鳴いたかい?
aptitude
aptitude -hとして実行してヘルプを見る。
この最後にも、英語なら「This aptitude does not have Super Cow Powers.」、日本語環境なら日本語で「この aptitude にはスーパー牛さんパワーなどはありません。」なる謎の文言が記載されている。
そこで、ここでもモーと鳴いてみることにしよう。英語版と日本語版を併記する。
$ aptitude moo
There are no Easter Eggs in this program.
このプログラムにはイースターエッグ (隠し機能) はありません。
この時点で既にイースターエッグである。ちなみに、aptitude -hでつらつらと表示される説明の中に、以下のようなものがある。
-v 付加的な情報を表示します (何倍もの情報が提供されます)。
そこで、付加的な情報とやらを表示してみよう(以下、アスキーアートの\は円記号ではなくバックスラッシュである)。
$ aptitude -v moo
There really are no Easter Eggs in this program.
このプログラムには本当にイースター・エッグはありませんよ。
$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
このプログラムにイースターエッグはないって言わなかったかい?
$ aptitude -vvv moo
Stop it!
やめてくれ!
$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
わかった、わかった。あんたにイースターエッグをあげればどっか行ってくれるかい?
$ aptitude -vvvvv moo
All right, you win.
わかったよ。あんたの勝ちだ。
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
これが何なのか? もちろんウワバミに食べられた象だよ。
これ以上は、いくつvを増やしても同じ回答しか得られない。
確かに「スーパー牛さんパワー」は無いようだが、もっと得体の知れない何かはあるようだ。
なお、「ウワバミに食べられた象」の元ネタは、「Le Petit Prince」(邦題:星の王子さま)の最初のほうに登場する。
再検索