私はUbuntuを初めて使用します。友人から、次のコマンドを頻繁に実行するように勧められました。
Sudo apt-get upgrade
Sudo apt-get update
Sudo apt-get autoremove
Sudo apt-get autoclean
彼は、これが何らかの形で私のシステムをきれいに更新し続けると言った。これらのコマンドが正確に何をするのかわかりません。それらを定期的に実行することは本当に便利ですか?
現在サポートされているすべてのバージョンのUbuntuでは、apt-get
の代わりにapt
を使用できます。出力をファイルにキャプチャする場合は、apt-get
を使用しますが、そうでない場合は、出力が読みやすい(入力が好きな人は?)のでapt
を使用します。
Sudo apt update
リポジトリから情報をダウンロードします 1 APTは、リポジトリの変更を反映するために、使用可能、インストール、およびアンインストールされたパッケージのdpkg
データベースをチェックおよび更新するように構成されています。これは、次のようなコマンドを使用してシステム上のデータベースを照会する場合を意味します
apt policy package-name
apt show package-name
apt search package-name
正確な情報を出力し、次のようなコマンドを実行すると
Sudo apt install package-name
利用可能な最新バージョンを取得します。
Sudo apt update
を実行すると、一部のパッケージがアップグレード可能であることがわかります。これは、リポジトリに新しいバージョンが追加されたことを意味します。多くの場合、新しいバージョンにはバグ修正とセキュリティ更新が含まれているため、インストールする必要があります。これは、コマンドで利用可能な新しいバージョンを持つすべてのパッケージをアップグレードすることで実行できます
Sudo apt upgrade
カーネルがアップグレードされた場合(linux-image-4.15.0-20-generic
などのパッケージ)、古いカーネルバージョンを削除するコマンドを実行する必要があります(新しいバージョンがバグの場合に備えて、予備として保持されている2番目に新しいバージョンを除く)。次のコマンドを使用できます。
Sudo apt autoremove
それをするために。このコマンドは、孤立したパッケージも削除しました。これらは通常、次のようなコマンドを使用する場合にのみ存在します
Sudo apt remove package-name
およびpackage-name
には自動的にインストールされた依存関係がありますが、他のパッケージには必要ありません。
autoclean
については、man apt-get
を参照します
autoclean (and the auto-clean alias since 1.1)
Like clean, autoclean clears out the local repository of retrieved
package files. The difference is that it only removes package files
that can no longer be downloaded, and are largely useless.
他の3つのコマンドは非常に重要であり、通常はシステムを安全に更新し、古いカーネルファイルでディスクをいっぱいにしないために定期的に実行する必要がありますが、autoclean
を実行しても大きな違いは見られません。たまに削除される可能性のあるいくつかのファイルは、あまり多くありません。
1これらのリポジトリはデフォルトで設定されているため、通常は何もする必要はありません。これらは、ファイル/etc/apt/sources.list
および/etc/apt/sources.list.d
のファイルにリストされています。 APTは(セキュリティ上の理由から)これらのファイルの形式に厳格であり、構文に誤りがあるとエラーをスローします。システムにグラフィカル環境がある場合、設定でリポジトリを構成するオプションがあります。そのジョブを実行するには、root権限が必要です。
ザンナの答え はこれらのコマンドの目的をカバーしていますが、2番目の部分に焦点を当てたいと思います。
それらを定期的に実行することは本当に便利ですか?
それらを実行するのは良いことですがしばしば十分です、私はそれらを文字通り定期的に実行する理由は見当たりません1週間、1か月に1回)。
これらのコマンドによって実行される更新タスクとクリーンタスクは、時間ベースでは作成されません。これらは、インストールされたパッケージの新しいバージョンがリポジトリで見つかると便利になり始めます。
apt-get update
コマンドは、デフォルトでシステムによって定期的に実行されます( 自動パッケージ更新 、 AutomaticSecurityUpdates を参照)。 apt-get upgrade
によってインストールされるセキュリティ更新プログラムも、無人アップグレードによって自動的にインストールされます。
自動update
はすべてのパッケージに適用されます。 APTが自動的にインストールされない更新について知ると、システムはそれらを手動でインストールするように通知します(apt install <package>
またはapt upgrade
を使用してそれらをすべてアップグレードします)、例えば:
cLIログイン画面で:
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.113-rt128+ x86_64)
...
29 packages can be updated.
6 updates are security updates.
APTコマンドの出力:
$ Sudo apt update
...
5 packages can be upgraded. Run 'apt list --upgradable' to see them.
autoremove
も実行するように通知されます。
$ Sudo apt update
...
The following packages were automatically installed and are no longer required:
devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
Use 'apt-get autoremove' to remove them.
それでも時間ベースでコマンドを実行する場合は、 cron
それらのタスク を作成できます。