Linux/Ubuntu2018. 5. 17. 22:04

부팅하고 나서 바로 업데이트 하거나 설치하려고 하면

dpkg/lock 잠금 파일을 얻을 수 없다고 배째는데

apt나 dpkg로 프로세스 검색해서 죽여도 안되는 경우가 많다.


간단한(?) 해결책으로야 해당 프로세스 죽인후 lock 파일을 삭제하고 진행하는 것인데

$ sudo apt-get update; sudo apt-get upgrade

기존:1 http://ppa.launchpad.net/saiarcot895/myppa/ubuntu xenial InRelease

기존:2 http://ports.ubuntu.com/ubuntu-ports xenial InRelease

기존:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease

기존:4 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease

기존:5 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease

패키지 목록을 읽는 중입니다... 완료

E: /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 - open (11: Resource temporarily unavailable)

E: 관리 디렉터리를 (/var/lib/dpkg/) 잠글 수 없습니다. 다른 프로세스가 사용하고 있지 않습니까? 


근본적으로는 그에 연관되는 apt.systemd.daily가 문제라고 보여진다.

~$ ps -ef | grep apt

root      2471     1  0 12:42 ?        00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily update

root      2475  2471  0 12:42 ?        00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held update

root      3743     1  0 12:45 ?        00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily install


아무튼 검색을 해보니 아래 명령을 통해서 죽여 놓을 수 있고

$ sudo systemctl stop apt-daily.timer

$ sudo systemctl disable apt-daily.timer

$ sudo systemctl mask apt-daily.service

$ sudo systemctl daemon-reload 


추가로 아래의 파일을 삭제해주면 완벽! 인가?

/usr/lib/apt/apt.systemd.daily 


그리고 저번에 찾았던 를 통해 주기적인 업데이트를 막아 둘 수 있다.

$ sudo vi /etc/apt/apt.conf.d/10periodic

APT::Periodic::Enable "0";


그 외에는  cloud-init 스크립트를 통해서 apt-daily.service가 불려지니 could-init도 같이 죽이는게 나으려나?

Systemd is all about concurrent start of services, so the cloud-init script is run at the same time the apt-daily.service is triggered. By the time cloud-init gets to execute the user-specified payload, apt-get update is already running. So the attempts 2. and 3. failed not because of some namespace magic, but because they altered the system too late for apt.systemd.daily to pick the changes up.


This also means that there is basically no way of preventing apt.systemd.daily from running -- one can only kill it after it's started. 


[링크 : https://unix.stackexchange.com/.../how-to-disable-apt-daily-service-on-ubuntu-cloud-vm-image]

'Linux > Ubuntu' 카테고리의 다른 글

tmux  (0) 2018.08.13
우분투 자동 업데이트  (0) 2018.05.21
apt-mark 사용자가 수동으로 설치한 패키지 목록  (0) 2018.05.08
powertop  (0) 2018.05.04
ubuntu auto update 끄기  (0) 2018.04.19
Posted by 구차니