1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Debianでのパッケージ管理:aptツールの使用方法

aptツールの概要

Debianでは、パッケージ管理システムを管理するためにaptツールセットが使用されます。その中でも、apt-getは一般的なコマンドラインツールの一つです。また、コマンドラインとGUIの両方をサポートするツールとして、有名なaptitudeがあります。さらに、Linuxパッケージ管理コマンドは、apt-getapt-cacheapt-configという3つのコマンドに分散されています。

2014年に初めて安定版がリリースされ、Ubuntu 16.04にも導入されたaptコマンドは、これらの分散したコマンドの問題を解決しました。aptコマンドには、apt-getコマンドで最もよく使われる機能オプション、ならびにapt-cacheapt-configコマンドの機能も含まれています。これにより、ユーザーはパッケージ管理に必要な基本的なオプションを利用でき、apt-getからapt-cacheapt-configへと移動する必要がありません。

aptは、apt-getapt-cacheapt-configの最も一般的なコマンドオプションを集約したものと言えます。aptはより精簡ですが、十分なコマンドオプションを備えており、オプションの整理方式も効率的です。さらに、進捗バーの表示や、アップグレード可能なパッケージ数の提示などの便利な機能も含まれています。ただし、aptapt-getのコマンドオプションは一部似ていますが、完全な下位互換性はありません。

aptコマンドと置き換えられたコマンド一覧

aptコマンド 置き換えられたコマンド コマンドの機能
apt install apt-get install パッケージのインストール
apt remove apt-get remove パッケージの削除
apt purge apt-get purge パッケージと設定ファイルの削除
apt update apt-get update リポジトリインデックスの更新
apt upgrade apt-get upgrade アップグレード可能なパッケージの全てをアップグレード
apt autoremove apt-get autoremove 不要なパッケージの自動削除
apt full-upgrade apt-get dist-upgrade アップグレード時に依存関係を自動処理
apt search apt-cache search アプリケーションの検索
apt show apt-cache show インストール詳細の表示

aptコマンドの使い方

apt [options] command

主なオプション

  • -h | --help :ヘルプを表示
  • -v | --version :バージョンを表示
  • -y | --yes :自動的にyesと回答
  • -q | --quiet :静かモード

主なコマンド

  • list :名前によるパッケージリスト表示
  • search :パッケージ説明の検索
  • show | info :パッケージの詳細表示
  • install :パッケージのインストール
  • remove :パッケージの削除
  • autoremove :不要な自動インストール済みパッケージの削除
  • update :パッケージリストの更新(インデックスファイルの更新)
  • upgrade :システムの更新(インストール/アップグレード)
  • full-upgrade:システムの完全更新(削除/インストール/アップグレード)
  • edit-sources:ソース情報ファイルの編集

破損したパッケージの修復インストールコマンド

apt --fix-broken install

パッケージ一覧表示

すべてのパッケージをリスト

root@ubuntu22:~# apt list

インストール済みのパッケージをリスト

root@ubuntu22:~# apt list --installed

アップグレード可能なパッケージをリスト

root@ubuntu22:~# apt list --upgradeable

使用例:特定のパッケージ名またはワイルドカード指定

root@ubuntu22:~# apt list redis*
Listing... Done
redis-redisearch-doc/jammy 1:1.2.2-4 all
redis-redisearch/jammy 1:1.2.2-4 amd64
redis-sentinel/jammy 5:6.0.16-1ubuntu1 amd64
redis-server/jammy 5:6.0.16-1ubuntu1 amd64
redis-tools/jammy 5:6.0.16-1ubuntu1 amd64
redis/jammy 5:6.0.16-1ubuntu1 all
root@ubuntu22:~# apt list --installed redis*
Listing... Done

使用例:検索

パッケージ名と説明情報で検索

root@ubuntu22:~# apt search nginx

正規表現での検索

root@ubuntu22:~# apt search "^ngin*"

パッケージ名のみで検索

root@ubuntu22:~# apt search --names-only nginx

使用例:パッケージの詳細情報クエリ

root@ubuntu22:~# apt info nginx
Package: nginx
Version: 1.18.0-6ubuntu14.1
Priority: optional
Section: web
Origin: Ubuntu
......

すべてのバージョンを表示

root@ubuntu22:~# apt show nginx -a
Package: nginx
Version: 1.18.0-6ubuntu14.1
Priority: optional
Section: web
Origin: Ubuntu
......
Package: nginx
Version: 1.18.0-6ubuntu14
Priority: optional
Section: web
Origin: Ubuntu
......

使用例:パッケージのインストール

root@ubuntu22:~# apt install nginx

複数のパッケージを同時にインストール

root@ubuntu22:~# apt install nginx redis -y

特定バージョンのパッケージをインストール(デフォルトでは最新版をインストール)

root@ubuntu22:~# apt install nginx=1.14.0-0ubuntu1 

インストール済みの場合はアップグレードしないオプション

root@ubuntu22:~# apt install nginx --no-upgrade   

既にインストールされている場合のみアップグレード

root@ubuntu22:~# apt install nginx --only-upgrade  

使用例:パッケージの削除

特定パッケージの削除

root@ubuntu22:~# apt remove -y nginx

依存関係のある不要なパッケージの自動削除

root@ubuntu22:~# apt autoremove nginx

使用例:更新とアップグレード

情報の更新(実際の更新は行わない)

root@ubuntu22:~# apt update
Hit:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
Get:2 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease [114 kB]
Get:3 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease [99.8 kB]
......
......
Fetched 1,853 kB in 4s (425 kB/s)                              
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
32 packages can be upgraded. Run 'apt list --upgradable' to see them.

インストール済みのすべてのパッケージをアップグレード

root@ubuntu22:~# apt upgrade

特定パッケージのアップグレード

root@ubuntu22:~# apt install --only-upgrade nginx

使用例:ソースの編集

root@ubuntu22:~# apt edit-sources
root@ubuntu22:~# vim /etc/apt/sources.list

使用例:キャッシュ情報

現在のシステムにインストールされているパッケージの統計情報を表示

root@ubuntu22:~# apt-cache stats
Total package names: 115071 (3,222 k)
Total package structures: 102921 (4,529 k)
 Normal packages: 67637
......

指定ソフトウェアのすべてのバージョンを表示

root@ubuntu22:~# apt-cache madison nginx
     nginx | 1.18.0-6ubuntu14.1 | https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages
     nginx | 1.18.0-6ubuntu14.1 | https://mirrors.aliyun.com/ubuntu jammy-security/main amd64 Packages
     nginx | 1.18.0-6ubuntu14 | https://mirrors.aliyun.com/ubuntu jammy/main amd64 Packages

使用例:依存関係

パッケージの依存関係を確認

root@ubuntu22:~# apt-cache depends nginx
nginx
 |Depends: nginx-core
 |Depends: nginx-full
 ......
 Breaks: <libnginx-mod-http-lua>

パッケージが何に依存されているかを確認

root@ubuntu22:~# apt-cache rdepends nginx | head
nginx
Reverse Depends:
 nginx-core
 nginx-light
 nginx-full
 nginx-extras
 libnginx-mod-stream-geoip
   nginx-core
   nginx-extras

APTパッケージインデックス設定ファイル

設定ファイルを更新した後、apt update を実行する必要があります。

  • /etc/apt/sources.list
  • /etc/apt/sources.list.d/

使用例:設定ファイルの構成

設定ファイルフォーマット説明

deb URL section1 section2

フィールド説明

  • deb:固定開頭、これはバイナリパッケージのリポジトリを示します。deb-srcで始まる場合はソースコードリポジトリを示します。
  • URL:リポジトリのURLは、ネットワークアドレスでもローカルミラーアドレスでもかまいません。
  • section1:Ubuntuバージョンのコードネームを指定します。lsb_release -sc コマンドを使用して確認できます。またはcat /etc/os-release でも確認できます。
  • section2:ソフトウェアのカテゴリを指定します。main(完全なフリーソフトウェア)、restricted(不完全なフリーソフトウェア)、universe(コミュニティサポートのソフトウェア)、multiverse(非自由ソフトウェア)。

使用例:リポジトリの設定

root@ubuntu22:~# cat /etc/apt/sources.list
deb https://mirrors.aliyun.com/ubuntu jammy main restricted # 主リポジトリのmainおよびrestrictedのソースを使用
# deb-src https://mirrors.aliyun.com/ubuntu jammy main restricted
deb https://mirrors.aliyun.com/ubuntu jammy-updates main restricted
# deb-src https://mirrors.aliyun.com/ubuntu jammy-updates main restricted

Ubuntuリポジトリの重要ディレクトリ

Ubuntuリポジトリには、distspool という2つの重要なディレクトリがあります。

  • dists にはリポジトリのメタデータが含まれます。これには、パッケージの名前、対応するアーキテクチャ、バージョン番号、依存関係などが含まれます。
root@ubuntu22:~# tree /cdrom/dists/
/cdrom/dists/
├── jammy
│   ├── main
│   │   ├── binary-amd64
│   │   │   ├── Packages.gz
│   │   │   └── Release
│   │   ├── binary-i386
│   │   │   ├── Packages.gz
│   │   │   └── Release
│   │   └── source
│   ├── Release
│   ├── Release.gpg
│   └── restricted
│       ├── binary-amd64
│       │   ├── Packages.gz
│       │   └── Release
│       ├── binary-i386
│       │   ├── Packages.gz
│       │   └── Release
│       └── source
├── stable -> jammy
└── unstable -> jammy

aptコマンド操作のログファイル

/var/log/dpkg.log
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?