Articles

Ubuntu Documentation

Posted on

(i) この記事は、サポートされているすべてのバージョンのUbuntuに適用されます

APTによるパッケージ管理

IconsPage/apt.png apt-getによるパッケージ管理は、/etc/apt/sources.listファイルと連動しています。 ソースリストの編集や更新についてはSourcesListを参照してください。

はじめに

このページでは、apt-getや関連コマンドを使ってシステム上のパッケージを扱う方法を説明します。 例えば、新しいパッケージをインストールしたり、インストールされているパッケージを削除したり、インストールされているすべてのパッケージを最新のバージョンに更新したりすることができます。

コマンド

IconsPage/info.png 検索コマンドを除くこれらのコマンドはすべて、rootまたはsuperuser権限で実行する必要がありますが、詳細はsudoを参照してください。

  • IconsPage/example.png 例です。

    sudo apt-get install ubuntu-desktop 

インストールコマンド

  • apt-get install <package_name> 

    このコマンドは、新しいパッケージをインストールします。

  • apt-get build-dep <package_name> 

    このコマンドは、リポジトリを検索し、<>のビルド依存関係をインストールします。

  • aptitude install <package_name>

    Aptitude は、インストールされている、または利用可能なパッケージの Ncurses ビューアです。 Aptitudeはapt-getと同じようにコマンドラインから使用できます。

  • APTとaptitudeは複数のパッケージ名をスペースで区切ったリストとして受け付けます。 例えば、以下のようになります。
    apt-get install <package1_name> <package2_name> <package3_name>

    IconsPage/note.png アクションをシミュレートするには-sフラグを使います。 例えば、以下のようになります。 “apt-get -s install <>”とすると、パッケージのインストールをシミュレートし、どのようなパッケージがインストールされ、設定されるのかを表示します。

auto-apt

  • auto-apt run <command_string>

    このコマンドは、auto-aptの制御下で<command_string>を実行します。 プログラムが、アンインストールされたパッケージに属することがわかっているファイルにアクセスしようとした場合、auto-aptはapt-getを使ってそのパッケージをインストールします。

  • Auto-apt は、効果を発揮するために最新の状態にしておく必要のあるデータベースを保持しています。 これは、auto-apt update、auto-apt updatedb、auto-apt update-local というコマンドを呼び出すことで実現します。
  • 使用例
    • IconsPage/example.png あなたがプログラムをコンパイルしていると、突然、持っていないファイルを必要とするエラーが発生しました。 プログラムは自動的に、必要であればパッケージをインストールするように求め、関連するプロセスを停止し、パッケージがインストールされると続行します。

       # auto-apt run ./configure

      すると、必要なパッケージをインストールするように求められ、自動的に apt-get を呼び出します。 X を使用している場合は、デフォルトのテキスト インターフェイスに代わってグラフィカル インターフェイスが表示されます。

メンテナンスコマンド

  • apt-get update

    /etc/apt/sources.list や /etc/apt/preferences を変更した後にこのコマンドを実行してください。 /etc/apt/preferencesについては、PinningHowtoをご覧ください。 このコマンドを定期的に実行して、ソースリストが最新の状態であることを確認してください。

  • apt-get upgrade

    このコマンドは、インストールされているすべてのパッケージをアップグレードします。 Synapticの “Mark all upgrades “に相当します。

  • apt-get dist-upgrade

    「スマートアップグレード」のチェックボックスを追加する以外は上記と同じです。 これはAPTに「スマートな」競合解決システムを使うように指示し、必要に応じて重要度の低いパッケージを犠牲にして最も重要なパッケージをアップグレードしようとします。

    IconsPage/note.png 「apt-get dist-upgrade」では、Ubuntuの旧バージョンからのアップグレードはできません。 以前のバージョンのUbuntuからのアップグレードの詳細については、http://www.ubuntu.com/getubuntu/upgrading .

  • apt-get check

    このコマンドは診断ツールです。 パッケージリストの更新を行い、壊れた依存関係をチェックします。

  • apt-get -f install

    このコマンドは、SynapticのEdit->Fix Broken Packagesと同じことを行います。

  • apt-get autoclean

    このコマンドは、システムにインストールされなくなったパッケージの .deb ファイルを削除します。

  • apt-get clean

    パッケージ キャッシュからすべてのパッケージを削除すること以外は、上記と同じです。

    • パッケージ キャッシュは /var/cache/apt/archives にあります。

      du -sh /var/cache/apt/archives

      コマンドを実行すると、キャッシュされたパッケージがどのくらいのスペースを消費しているかがわかります。

  • dpkg-reconfigure <package_name>

    名前付きのパッケージを再構成します。

    • IconsPage/example.png 例えば、以下のようになります。

      dpkg-reconfigure fontconfig-config

      では、Ubuntuでのフォントの設定に関する「ウィザード」が表示されます。

  • echo "<package_name> hold" | dpkg --set-selections

    このコマンドは、目的のパッケージを保留にします。

  • echo "<package_name> install" | dpkg --set-selections

    このコマンドは、上記のコマンドによって設定された「保留」または「ロックされたパッケージ」の状態を解除します。 上記の sudo の使用に関する注意事項は、このコマンドにも適用されます。

削除コマンド

  • apt-get remove <package_name>

    このコマンドは、インストールされたパッケージを削除し、設定ファイルはそのまま残します。

  • apt-get purge <package_name>

    このコマンドは、パッケージと関連する設定ファイルを完全に削除します。

    • + operator
      • IconsPage/example.png パッケージ1の削除とパッケージ2のインストールを一度に行いたい場合に使用します。

        apt-get remove <package1> <package2>+

  • apt-get autoremove

    このコマンドは、他のパッケージによってインストールされ、不要になったパッケージを削除します。

    • apt-get autoremove <package_name>

      このコマンドは、インストールされたパッケージと依存関係を削除します。

  • 削除されたパッケージからすべての設定情報を削除する方法は組み込まれていませんが、以下のコマンドで削除されたすべてのパッケージからすべての設定データを削除することができます。

    dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

検索コマンド

  • apt-cache search <search_term>

    各パッケージには名前と説明があります。 このコマンドは、名前または説明に<search_term>が含まれるパッケージをリストアップします。

  • dpkg -l *<search_term>*

    名前に <search_term> が含まれているパッケージを探します。 apt-cache searchと似ていますが、パッケージがあなたのシステムにインストールされているかどうかを ii (installed) と un (not installed) でマークして表示します。

  • apt-cache show <package_name>

    このコマンドは、パッケージの説明<>と、バージョン、サイズ、依存関係、競合などの関連情報を表示します。

  • dpkg --print-avail <package_name>

    このコマンドは「apt-cache show」と似ています。

  • dpkg -L <package_name>

    このコマンドはパッケージ<>内のファイルを一覧表示します。

  • dpkg -c foo.deb

    このコマンドはパッケージ「foo.deb」内のファイルを一覧表示します。 foo.deb はパス名であることに注意してください。

  • dlocate <package_name>

    このコマンドは、どのインストールされたパッケージが<><>にマッチするファイルを、そのファイルがインストールされたパッケージの名前とともに表示します。

    IconsPage/info.png このコマンドを使用するには、システムに dlocate パッケージがインストールされている必要があります。

  • dpkg -S <filename_search_pattern>

    このコマンドは dlocate と同じことをしますが、追加のパッケージをインストールする必要はありません。

  • apt-file search <filename_search_pattern>

    このコマンドは dlocate と dpkg -S のように動作しますが、利用可能なすべてのパッケージを検索します。

    • apt-fileはapt-getのように定期的にアップデートする必要があります。 コマンドを使ってください。

      apt-file update

    IconsPage/info.png このコマンドを使うには、apt-fileというパッケージがシステムにインストールされている必要があります。

  • apt-cache pkgnames

    このコマンドは、システム内のすべてのパッケージのリストを提供します

  • 検索に関する一般的な注意点: 検索によって長すぎるリストが生成された場合、結果を grep コマンドでパイプしてフィルタリングすることができます。 例を示します。

    • apt-cache search <filename> | grep -w <filename>

      を含むファイルのみを表示します <filename>を単語全体として含むファイルのみを表示します

    • dpkg -L package | grep /usr/bin 

      では、/usr/bin ディレクトリにあるファイルを表示します。 特定の実行ファイルを探している場合に便利です。

apt-get、apt-cache、dpkgの詳細については、manコマンドを使ってそれぞれのマニュアルページを参照してください。 これらのマニュアルでは、各プログラムで使用できるすべてのオプションに加えて、より幅広い情報を提供しています。

  • IconsPage/example.png 例です。

    man apt-get

    となります。

典型的な使用例

髪をなでる風を感じたい、スピードのアドレナリンを出したい。 だから、レースゲームをインストールしよう。 でも、どんなレースゲームがあるんだろう?

apt-cache search racing game

たくさんの答えが出てきました。 torcs」という名前のゲームがありますね。 このゲームについて、もう少し情報を得てみましょう。

apt-cache show torcs

ふむふむ、面白そうですね。 しかし、このゲームは私のコンピュータにすでにインストールされていないのでしょうか? また、利用可能なバージョンは何ですか? それはどのリポジトリからのものですか (Universe or Main)?

apt-cache policy torcs

よし、では早速インストールしてみましょう!

apt-get install torcs

このゲームを起動するためにコンソールで入力しなければならないコマンドは何ですか? この例では、単純明快(「torcs」)ですが、必ずしもそうとは限りません。 バイナリの名前を調べるには、パッケージが「/usr/bin」にインストールされているファイルを確認する方法があります。 ゲームの場合、バイナリは「/usr/games」にあります。 管理プログラムであれば、「/usr/sbin」にあります。

dpkg -L torcs | grep /usr/games/

コマンドの最初の部分では、「torcs」パッケージによってインストールされたすべてのファイルを表示します (試してみてください)。 2番目の部分では、「/usr/games/」を含む行のみを表示するようにしています。

うーん、そのゲームはクールですね。 余分な曲があるかも?

apt-cache search torcs

でも、容量が足りない。 aptのキャッシュを削除します!

apt-get clean

いやいや、母からはこのコンピューターからすべてのゲームを削除するように言われました。 しかし、後で単純に再インストールできるように、設定ファイルを残しておきたいのです。

apt-get remove torcs

設定ファイルも削除したい場合。

apt-get purge torcs

http-proxyを使用するためのapt-getの設定

http-proxyでapt-getを使用するには、以下の3つの方法があります。

Temporary proxy session

これは一時的な方法で、http-proxy経由でapt-getを使用したいときに毎回手動で使用することができます。 この方法は、http-proxyを一時的に使用したいだけの場合に便利です。

apt-getを使用する前に、ターミナルで次の行を入力してください(あなたの詳細をyourproxyaddressとproxyportに置き換えてください)。

export http_proxy=http://yourproxyaddress:proxyport

通常 apt-get を実行するのに sudo を使用している場合、/etc/sudoers に明示的な環境設定を追加しない限り、これを動作させるにはまず root としてログインする必要があります。

Defaults env_keep = "http_proxy https_proxy ftp_proxy"

APT 設定ファイル方式

この方式は、/etc/apt/ ディレクトリにある apt.conf ファイルを使用します。 この方法は、apt-getだけに(他のアプリケーションではなく)恒久的にhttp-proxyを使用させたい場合に便利です。

IconsPage/info.png インストール環境によっては、apt-confファイルが設定されていない場合があります。

gksudo gedit /etc/apt/apt.conf

以下の行を/etc/apt/apt.confファイルに追加してください(yourproxyaddressとproxyportはあなたの詳細情報に置き換えてください)。

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

apt.confファイルを保存します。

BASH rc法

この方法は、$HOMEディレクトリにある.bashrcファイルに2行を追加します。 この方法は、apt-getや他のアプリケーション(例えばwget)にhttp-proxyを使用させたい場合に便利です。

gedit ~/.bashrc

これらの行を ~/.bashrc ファイルの一番下に追加してください (yourproxyaddress と proxyport にあなたの詳細を置き換えてください)

http_proxy=http://yourproxyaddress:proxyportexport http_proxy

ファイルを保存してください。 ターミナルウィンドウを閉じて、別のターミナルウィンドウを開くか、~/.bashrcファイルをソースにします。

source ~/.bashrc

sudo apt-get update とお望みのネットワークツールでプロキシをテストします。 firestarterやconkyを使ってアクティブな接続を確認することができます。

間違えてもう一度ファイルを編集するために戻った場合、ターミナルを閉じて再度開くか、上に示したように ~/.bashrc をソースにすることができます。

source ~/.bashrc

プロキシユーザーのログイン方法

プロキシサーバーにログインする必要がある場合、ほとんどの場合、http-proxyでプロキシアドレスを指定する際に次のようなレイアウトを使用することで実現できます。 (ユーザー名、パスワードはあなたの詳細を代用してください。

http_proxy=http://username:password@yourproxyaddress:proxyport

有用な追加パッケージ

  • Deborphan

  • Debfoster

追加の リンク

  • リポジトリ/コマンドライン

  • PinningHowto

  • AutoDeb

  • Synaptic Package Manager

  • Ubuntu Community Forums: インストールとアップグレード

  • apt-を使ってパッケージの更新を高速化する方法。fast

トラブルシューティング

  • https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure

CategoryPackageManagement

CommandLine

p

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です