Apt-getを使用して、ubuntuに重要なセキュリティ更新のみをインストールする方法を教えてください。
他のすべてのパッケージをアップグレードせずに、セキュリティ上の理由でアップグレードが必要なパッケージのみをアップグレードしたいと考えています。
セキュリティ更新のみを適用するたびに(つまり2回目)、sources.listを手動で編集するのに飽きたときは、apt-getのマニュアルページを注意深く読みました。
このソリューションを考え出した:
Sudo cp /etc/apt/sources.list /etc/apt/security.sources.list
後者を編集して、セキュリティリポジトリのみが含まれるようにします。
Sudo apt-get upgrade -o Dir::Etc::SourceList=/etc/apt/security.sources.list
Tadaaaa ...スクリプト可能なもの。
別のリポジトリを作成し、いくつかの自動化などのスクリプトを作成するのではなく、これをすばやく1回だけ実行したい場合。システムの監査中に何か変更を加えることになっていない場合に最適です。
これらの2つのコマンドはリストを吐き出します。 wc -lにパイプして、遅れている数を確認します。 ;-)
grep security /etc/apt/sources.list > /tmp/security.list
Sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -s
古いディストリビューションや、更新リポジトリがオフになっているが、セキュリティがオンの場合は引き続き有効です。
Sudo apt-get upgrade -s| grep ^Inst |grep Security
動作するかどうかはわかりませんが、aptは/etc/apt/sources.listおよび/etc/sources.list.d/にソースを持っています。
ファイルを編集して、セキュリティ更新の一部ではないすべての行にコメントを付けませんか?
Aptのセキュリティラインは次のようになります。
deb http://security.ubuntu.com/ubunt ..... ..... ...
それらの行はそのままにして、他のすべての行にコメントしてください。
私がやること:
apt-get update
apt-get install -y --only-upgrade $( apt-get --just-print upgrade | awk 'tolower($4) ~ /.*security.*/ || tolower($5) ~ /.*security.*/ {print $2}' | sort | uniq )