Linux / コマンド / apt-get - APTパッケージ作業をスクリプトとコマンドラインで実行

apt-getはDebian・Ubuntu系でパッケージのインストール・削除・更新を行うAPTコマンドです。ユーザー向けのaptと機能が重複しますが、自動化スクリプトにはapt-getの方が適しています。

APT(Advanced Package Tool)はパッケージと依存関係を管理するツール群です。apt-get updateは設定されたリポジトリからパッケージ情報を取得します。installは必要な依存関係も処理します。対話的な作業との比較はaptの基本も参照してください。-sは変更前のシミュレーション、-yは確認への自動承認です。

基本的な文法

apt-get [オプション] コマンド [パッケージ ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man apt-getで現在のシステムの説明を確認してください。

使用例

リポジトリリストの更新

インストール候補のメタデータを新しく取得します。

sudo apt-get update

アップグレード計画の事前確認

apt-get upgradeは既存パッケージを更新しますが、新規パッケージの追加や既存パッケージの削除はしません。必要な依存関係を満たせない更新は保留します。次の例では、その更新・保留予定を実際の変更なしで確認します。

apt-get -s upgrade

パッケージのインストール

自動承認オプションなしで変更リストを確認した後にインストールします。

sudo apt-get install curl

実際の変更前シミュレーション

apt-get -s installはインストール予定を表示し、実際のパッケージ変更を行いません。一般ユーザーでは一部の設定が読めず結果が異なることがあり、シミュレーション中はロックも行わないため、後の実行結果を保証するものではありません。更新したパッケージ情報と最新のシステム状態を基に判断します。

apt-get -s install curl

出力で確認できる行の形式(パッケージ・バージョンは環境によって異なります):

Inst curl (...)
Conf curl (...)

Instはインストールまたはアップグレード予定項目、Confは設定予定項目です。依存パッケージも表示される場合があるため、最後の概要だけでなく削除・置換される項目を確認してください。apt-get updateはリストの更新、apt-get upgradeはインストール済みパッケージのアップグレードという違いも区別する必要があります。

主なオプションと形式

オプション・形式 説明
update パッケージリストを更新します。
install / remove パッケージをインストールまたは削除します。
upgrade / dist-upgrade 更新を適用します。dist-upgradeは依存関係の解決のため削除も行い得ます。
-s, --simulate 実際の変更なしで実行結果をシミュレーションします。
-y, --yes 確認の質問に自動で同意します。変更計画を事前に確認してください。

使用する際の注意点

-yを無条件に付けると予期しない依存関係の変更を見逃す可能性があります。dist-upgradeはパッケージを削除する可能性があるため、サービスが重要なシステムではシミュレーションとバックアップの後に進めてください。スクリプトでもリポジトリの信頼性とエラー終了コードを確認する必要があります。

よくある質問

aptの代わりにapt-getを必ず使う必要がありますか?

対話型の使用にはaptが便利です。自動化スクリプトでは動作と出力の互換性を考慮してapt-getを優先してください。

公式ドキュメント

オプションの正確な動作と実装ごとの差異はapt-get 関連の公式文書で確認できます。