apt-getスクリプトアップデートのアップグレードdist-upgradeのクリーンアップと自動削除[閉じる]

apt-getスクリプトアップデートのアップグレードdist-upgradeのクリーンアップと自動削除[閉じる]

私はこの台本を書いた。

#!/bin/bash
#if not root, run as root
if (( $EUID != 0 )); then
    sudo $0
    exit
fi
apt update
echo
echo ">> Upgrading Packages"
apt -y upgrade
echo
echo ">> Upgrading Distro Packages"
apt -y dist-upgrade
echo
apt clean
echo ">> Performing Autoremove"
apt -y autoremove
dpkg --list |grep "^rc"
if [[ $? -eq 0 ]]
then echo
    echo ">> Purging Old Configuration Files"
    dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
fi
if [[ `du -m /var/log/syslog | cut -f1` -gt 99 ]]
then echo ">> syslog is over 100MB"
    echo ">> logs can be rotated  using the following command:"
    echo
    echo sudo logrotate -f /etc/logrotate.conf
    echo
    echo ">> let me go ahead and do that for you"
    logrotate -f /etc/logrotate.conf
fi
echo ">> Done."

目標は、すべてを更新して不要なパッケージを削除できるワンストップショップを持つことです。

上記の内容で十分ですか?ここに重複または不要なものはありますか?考慮すべきリスク/注意事項はありますか?その他(空白を埋めてください)?

編集:組み込みのUbuntu 12.04アップデートマネージャを使用すると、コンテンツがクリーンアップされ、自動的に削除されますか?

答え1

基本的にそうです。しかし、AsheeshRが自分の意見で指摘したように、「望ましくない」と見なされるタスクが実行されると、中断されます。毎回動作することを確認する1つの方法は、--force-yesオプションを追加しますが、マニュアルページを読むことです。このオプションの実装は非常に危険なので、現在持っているオプションに固執する必要があります。実際、apt-getのマニュアルページには、このオプションが「システムを損傷する可能性がある」と記載されているため、上記の方法が機能しない場合と非常に特定の(そしてまれな)状況でのみ手動で使用することができます。

答え2

以下は、Debian(テスト)とUbuntuでアップグレードを実行するために使用したスクリプトです。

#!/bin/bash
apt update
apt -y dist-upgrade
apt -y autoremove
apt clean
apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')

デフォルトではスクリプトも含まれます。

apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')

どのパッケージ構成ファイルの削除スペースを節約するのに役立ちます。

私はあなたの#ルートではない場合は、ルート部分として実行するのが好きです。私はそれを盗むと思います:-)

私は過去数年間毎日このスクリプトを実行してきましたが、一度もイベントは発生しませんでした。これは起こりますが、非常にまれで修正が簡単です。

私は最近これを見つけました:

apt -y dist-upgrade --auto-remove --purge

これは、いくつかのコマンドを1行にまとめることができることを意味しますが、わかりません。

Ubuntu Update Managerはもっと参加するそうだ。

関連情報