무인 업그레이드 및/또는 종료/중단(비활성화 아님)에 대한 GUI를 볼 수 있습니까?

무인 업그레이드 및/또는 종료/중단(비활성화 아님)에 대한 GUI를 볼 수 있습니까?

무인 업그레이드 비활성화에 대한 수많은 스레드가 있습니다. 나는 그들을 이해합니다.

내 불만은 사용자 경험이 unattended-upgrade아쉬운 점이 많다는 것입니다. 작업 표시줄(xubuntu의 오른쪽 상단)에 있는 항목 중 하나는 "무인 업그레이드가 실행 중입니다. 47% 완료되었습니다. 중지하려면 여기를 한 번 누르세요" 위젯을 배치하는 곳입니다. 그런 건 존재하지 않는 것 같아요.

자주 사용하지 않는 오래된 저전력 노트북이 있는데, 부팅할 때 대부분의 경우 무인 업그레이드로 인해 부팅 후 최대 15분 동안 크롤링 속도가 느려지는 경우가 많습니다.

그래서 가끔은 그만하고 싶을 때도 있어요. ps -ef | grep -v grep | grep unattended-upgradePID를 표시하는 것은 종료 신호를 무시하는 것처럼 보이므로 이는 올바른 접근 방식이 아닙니다. 그냥 죽이고 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.

pspid 조회 에 의존하지 않고도 종료됩니다 .

지연

그러나 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

작은 도구

관련 정보