무인 업그레이드 비활성화에 대한 수많은 스레드가 있습니다. 나는 그들을 이해합니다.
내 불만은 사용자 경험이 unattended-upgrade
아쉬운 점이 많다는 것입니다. 작업 표시줄(xubuntu의 오른쪽 상단)에 있는 항목 중 하나는 "무인 업그레이드가 실행 중입니다. 47% 완료되었습니다. 중지하려면 여기를 한 번 누르세요" 위젯을 배치하는 곳입니다. 그런 건 존재하지 않는 것 같아요.
자주 사용하지 않는 오래된 저전력 노트북이 있는데, 부팅할 때 대부분의 경우 무인 업그레이드로 인해 부팅 후 최대 15분 동안 크롤링 속도가 느려지는 경우가 많습니다.
그래서 가끔은 그만하고 싶을 때도 있어요. ps -ef | grep -v grep | grep unattended-upgrade
PID를 표시하는 것은 종료 신호를 무시하는 것처럼 보이므로 이는 올바른 접근 방식이 아닙니다. 그냥 죽이고 apt
소리내는 것도 위험해요 dpkg
.
그렇다면 이미 시작된 것을 안전하게 중지할 수 있는 방법이 있습니까 unattended-upgrade
? 아니면 내 유일한 옵션은 다음과 같습니다.
- 무인 업그레이드를 비활성화하고 완료합니다. 결코 업데이트되지 않는 시스템의 불안정함을 안고 살아가십시오.
apt-get install new-shiny-tool
다음 을 시도하려면 시작 후 15분 정도 기다리십시오.
답변1
예, 그렇습니다. 실제로 원하는 대로 정확하게 작동하도록 만들 수 있지만 자세히 설명해주세요.
그래서 가끔은 그만하고 싶을 때도 있어요. ps-ef | grep -v grep | grep -v grep unattended-upgrade 표시된 PID는 종료 신호를 무시하는 것 같습니다.
이 부분이 조금 걱정되기 때문에 루트로 트리거된 SIGKILL은 시스템 호출이 처리되지 않는 한 PID 1(init) 이외의 프로세스에서 무시될 가능성이 낮기 때문에 시스템 호출은 문장에서 종료되면 무시됩니다. 커널 코드 손상을 일으킵니다. 이 경우 SIGKILL을 완전히 차단하지는 않지만 시스템 호출이 깨어나 완료될 때 전달되는 비동기 신호로 변환합니다.
멈추다
의 경우 unattended-upgrade
시작할 시기를 구성할 수 있으며 중지할 경우 서비스가 있어야 합니다.
sudo service unattended-upgrades status
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-08-30 20:48:27 EDT; 18h ago
Docs: man:unattended-upgrade(8)
Main PID: 1410 (unattended-upgr)
Tasks: 2 (limit: 4915)
Memory: 21.9M
CGroup: /system.slice/unattended-upgrades.service
└─1410 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
Aug 30 20:48:27 OPTIMUM systemd[1]: Started Unattended Upgrades Shutdown.
그리고
sudo service unattended-upgrades stop sudo service unattended-upgrades status
● unattended-upgrades.service - Unattended Upgrades Shutdown
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2019-08-31 15:44:18 EDT; 1s ago
Docs: man:unattended-upgrade(8)
Process: 1410 ExecStart=/usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal (code=exited, status=0/SUCCESS)
Main PID: 1410 (code=exited, status=0/SUCCESS)
Aug 30 20:48:27 OPTIMUM systemd[1]: Started Unattended Upgrades Shutdown.
Aug 31 15:44:18 OPTIMUM systemd[1]: Stopping Unattended Upgrades Shutdown...
Aug 31 15:44:18 OPTIMUM systemd[1]: unattended-upgrades.service: Succeeded.
Aug 31 15:44:18 OPTIMUM systemd[1]: Stopped Unattended Upgrades Shutdown.
ps
pid 조회 에 의존하지 않고도 종료됩니다 .
지연
그러나 unattended-upgrades
. 이 경우 타이머를 만들어 지연시킬 수 있습니다. 타이머를 생성하려면 5분 시작 지연에 대해 다음 구성을 사용하여 동일한 디렉터리에 타이머를 unattended-upgrades.service
생성하십시오 .unattended-upgrades.timer
[Unit]
Description=Run delayed
[Timer]
OnBootSec=5min
[Install]
WantedBy=timers.target
그런 다음 서비스를 비활성화하고 타이머를 활성화하여 서비스를 제어합니다.
sudo systemctl disable unattended-upgrades.service
sudo systemctl enable unattended-upgrades.timer
sudo systemctl start unattended-upgrades.timer
sudo systemctl list-timers
타이머가 실행 중이더라도 unattended-upgrades.service를 종료할 수 있지만 백그라운드에서 타이머를 알려줍니다.
sudo service unattended-upgrades stop
Warning: Stopping unattended-upgrades.service, but it can still be activated
by: unattended-upgrades.timer
작은 도구