りなっくすとらずぱい!

Raspberry Pi初心者に向けた各コマンドの説明、プログラムの作り方について紹介しています!

apt-get update - パッケージリストを最新に更新する

f:id:ibuquicallig:20190421025644p:plain

この記事では、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/294525/what-does-ign-or-hit-mean-when-running-an-apt-get-update?noredirect=1&lq=1

https://askubuntu.com/questions/960575/what-do-hit-and-get-mean-in-the-output-of-apt-get-update