다음을 실행하여 Kali Linux를 업데이트하려고 할 때마다
sudo apt update
다음과 같은 오류 메시지가 나타납니다.
Unable to lock directory /var/lib/apt/lists/
이 문제를 해결한 방법은 다음을 실행하여 프로세스를 찾는 것이었습니다.
lsof /var/lib/dpkg/lock
lsof /var/lib/apt/lists/lock
lsof /var/cache/apt/archives/lock
잠금을 획득한 프로세스를 종료합니다.
이 프로세스를 자동화하고 싶습니다.
답변1
물어봐야 할 질문에 대한 답변
이건 좋은 생각이 아니야. 맹목적으로 프로세스를 종료해서는 안 됩니다. 파일을 잠근 프로세스와 그 이유를 알아보세요.
또한, 이 문제가 자주 발생한다면 뭔가 잘못하고 있는 것일 수도 있습니다. Kali Linux는 침투 테스트에 사용되는 특수 배포판입니다. 설치용으로 설계되지 않았습니다.침투 테스트 이외의 작업을 수행하려면 Kali를 사용하지 마세요.. Ubuntu와 같은 정규 분포를 사용합니다.
Python에서 파일을 여는 프로세스를 찾는 방법
당신은 그것을 사용할 수 있습니다psutil
프로세스를 열거하고 해당 프로세스의 열린 파일을 열거하는 패키지입니다.https://stackoverflow.com/questions/20106220/check-for-open-files-with-python-in-linux코드 예제가 있습니다.
파일이 열려 있는 프로세스만 열거하려면 다음 명령의 출력을 구문 분석하는 것이 더 쉬울 수 있습니다.fuser
.
import os, subprocess
try:
pids = subprocess.check_output(['fuser', '--', filename], stdout=open(os.devnull))
for pid in map(int, pids.split()):
print('Process {} has {} open'.format(pid, filename))
답변2
/var/lib/apt/lists/ 디렉토리를 잠글 수 없습니다.
apt
활성화 되면 백그라운드에서 실행될 서비스 apt-daily-upgrade.service
를 제공합니다 . 바라보다apt-daily.service
apt
systemctl list-timers
비활성화:
systemctl disable apt-daily.timer
systemctl disable apt-daily.service
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.service
더반:무인 업그레이드