この記事では、apt-get update
コマンドに関して基本的な使い方を紹介しています。といってもパッケージリストの更新しかできないですが、、、(笑)
関連記事
コマンドについて
apt-get update
を実行することで、インストールすることのできるパッケージリストを最新に更新することができます。
このコマンドを実行して、現在インストールされているパッケージと最新のパッケージリストのバージョンが異なっている場合、apt-get upgrade
を実行することで最新のバージョンに更新することができます。
apt-get install [パッケージ名]
を実行する前にもパッケージリストを更新する必要があります。更新しないままの古いパッケージリストを使用すると、最新のバージョンでないソフトウェアがインストールされたり、ダウンロード先が変更となっているとダウンロードできない場合があります。
apt-get update
以下のようにしてコマンドを実行します。実行には管理者権限が必要となっているためroot
ユーザーに変更するか、sudo
コマンドとともに実行します。
$ sudo apt-get update Get:1 http://raspbian.raspberrypi.org/raspbian stretch InRelease [15.0 kB] Get:2 http://archive.raspberrypi.org/debian stretch InRelease [25.4 kB] Hit:3 https://dl.yarnpkg.com/debian stable InRelease Get:4 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages [11.7 MB] Fetched 11.7 MB in 23s (494 kB/s) Reading package lists... Done
実行すると取得するパッケージリストに指定されているURLを参照して更新します。Raspberry Piであれば何も追加していない状態であれば、1分以内には完了します。
特にオプションなどなく、リストを更新するだけなのでコマンド自体は極々単純なものとなっていますね!😎
表示されている文字列について
コマンドを実行したときに各行の先頭に表示されている内容については以下のようになっています。
Get
対象のパッケージリストが、ローカル内の保持しているものと差分があり、実際に取得している状態。
Hit
対象のパッケージリストをローカル内に保持しているもののチェックサムを比較して同じだった状態です。チェックサムが同じということは完全に同一のファイルなのでパッケージリストの更新は行われません。
Ign
無視できるレベルの問題が発生している状態です。最初に実行したリストの取得方法が失敗したときなんかに表示されます。その次に2番目の方法が試されます。おそらくIgnore
の短縮です。
Err
無視できないレベルの問題が発生している状態です。指定しているりリポジトリが見つからないなどどうやっても解決できないような場合に発生します。このエラーが発生しているリポジトリだけ更新されず、他の正常なリストは更新されるので放置しておいても特に問題はありません。(毎回表示されるので鬱陶しいですが🤔)
リポジトリが記されているファイル
Raspberry Pi, Debianの場合、/etc/apt/source.list
に対象のリポジトリが書かれています。中身はこんな感じでURLとOSのバージョン、安定版か開発版かなどが文法に沿って書かれています。
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
リポジトリを追加したときに必ず実行する
上記の/etc/apt/source.list
を追加したのちに、欲しいパッケージをダウンロードしようとしても、ローカル内のパッケージリストが更新されていないため、失敗します。必ずapt-get update
を実行しましょう。
参考
以下のサイトの情報を引用・参考にしました。
https://askubuntu.com/questions/960575/what-do-hit-and-get-mean-in-the-output-of-apt-get-update