업그레이드 dist-upgrade 정리 및 자동 제거를 업데이트하는 apt-get 스크립트

업그레이드 dist-upgrade 정리 및 자동 제거를 업데이트하는 apt-get 스크립트

나는 이 대본을 썼다.

#!/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이 자신의 의견에서 지적했듯이 "바람직하지 않다"고 간주되는 작업을 수행하면 중단됩니다. 매번 작동하는지 확인하는 방법은 --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

이는 일부 명령을 한 줄로 병합할 수 있다는 것을 의미하지만 확실하지 않습니다.

우분투 업데이트 관리자는더 많이 관여것 같다.

관련 정보