Unix command > aptによるパッケージ管理
更新日
2020-02-10
広告
aptは、DebianやUbuntuなどで採用されているパッケージ管理システムです。いろんなコマンドやアプリケーションを、簡単にインストールしたり、更新したり、アンインストールしたりできます。
パッケージ情報の更新
インストールできるパッケージは、日々、更新されています。パッケージ情報を最新にするには、以下のコマンドを実行します。$ sudo apt-get update
パッケージの検索
パッケージを検索するには、apt-cacheコマンドを使います。$ apt-cache search 検索キーワードパッケージの名前のみを検索対象としたい場合は、--names-only オプションを追加します。
$ apt-cache search --names-only postgres postgresql-client-common - manager for multiple PostgreSQL client versions postgresql-common - PostgreSQL database-cluster manager aolserver4-nspostgres - AOLserver 4 module: Postgres connector cl-sql-postgresql - CLSQL database backend, PostgreSQL via library :一番左に表示されているのが、パッケージの名前です。
パッケージのインストール
インストールしたいパッケージが見つかったら、以下のコマンドでインストールできます。$ sudo apt-get install パッケージ名
インストール済みパッケージのアップグレード
インストール済みのパッケージをアップグレードするには、以下のコマンドを実行します。$ sudo apt-get upgrade
パッケージのアンインストール
パッケージをアンインストールするには、以下のコマンドを実行します。$ sudo apt-get remove パッケージ名
プロキシ
aptはHTTPを使ってパッケージをダウンロードします。 以下のように、sudoでapt系のコマンドを実行したときに、プロキシの設定が無効になる場合があります。$ sudo add-apt-repository ppa:ubuntu-toolchain-r/testこのときは、以下のように、管理者権限に移動してから、、、
$ sudo suexportコマンドでプロキシを設定します。
# export http_proxy=http://test.proxy.hoge:8080 # export https_proxy=http://test.proxy.hoge:8080それからコマンドを実行すれば、プロキシを使用してくれます。
# add-apt-repository ppa:ubuntu-toolchain-r/test
No priorityエラー
Ubuntu 14から16にアップグレードした直後にapt-getをしようとしたところ、以下のエラーが出ました。$ sudo apt-get upgrade Reading package lists... Done E: No priority (or zero) specified for pinこのエラーは、今頃(2019年頃)になってようやくUbuntu 14から16にアップグレードした場合に発生する現象のようです。
$ cat /etc/apt/preferences.d/ubuntu-esm-infra-trusty # Written by ubuntu-advantage-tools Package: * Pin: release o=UbuntuESM, n=trusty Pin-Priority: never上記の、 ubuntu-esm-infra-trusty というファイルが作成されていたら、それを削除しましょう。 上記ファイルにより、UbuntuESMというpackageにupdateが限定されてしまっています。 これで、apt-getできるようになります。
広告
お問い合わせは sweng.tips@gmail.com まで。