방금 이미지에서 Raspberry Pi 서버를 복원했습니다 rsync
. 백업 프로세스 중에 /var/cache/*
빈 디렉토리를 복원할 것이라고 생각하여 을 제외했습니다. 이것은 작동하지만 다시 시작하면 다음 메시지에 프로세스를 쓸 수 없다고 불평합니다.
Subject: status report from ddclient@raspberrypi
...
WARNING: updating <url>.dynu.com: nochg: No update required; unnecessary attempts to change to the current address are considered abusive
FATAL: Cannot create file '/var/cache/ddclient/ddclient.cache'. (No such file or directory)
권한을 확인했는데 /var/log
내 Arch 데스크탑 시스템과 일치합니다.
$ ls -ld /var/cache/
drwxr-xr-x 3 root root 4096 Aug 15 13:23 /var/cache/
제가 더 해야 할 일이 있나요? 권한이 yes a-w
이면 루트가 아닌 프로세스가 여기에 어떻게 쓸 수 있습니까?
답변1
/var/cache
자유분방하거나 그런 것은 아닙니다 /var/tmp
. 이를 필요로 하는 각 서비스에는 /var/cache
파일을 저장할 적절한 권한이 있는 하위 디렉터리가 있습니다.
Debian 및 그 파생 배포판에서는 실행하여 dpkg -S /var/cache
어떤 패키지에 디렉터리가 설정되어 있는지 찾아 해당 패키지를 다시 설치 /var/cache
하고 apt-get --reinstall install PACKAGE_NAME …
아래에 디렉터리를 다시 만들 수 있습니다 /var/cache
.
일부 응용 프로그램은 캐시를 동적으로 다시 채웁니다. 다른 경우에는 캐시를 명시적으로 채워야 합니다. 이는 일반적으로 cron 작업을 통해 수행됩니다. 일부는 수동 채우기가 필요합니다. 예를 들어 를 사용하려면 apt-file
먼저 apt-file update
루트로 실행해야 합니다.
/var/cache
데비안에는 다시 빌드할 수 없는 부분이 있습니다 : /var/cache/debconf/config.dat
. 이 파일에는 데비안 패키지를 설치하는 동안 제공한 답변이 포함되어 있습니다. 이것은오래 지속되는 버그Debconf에서.
답변2
다행스럽게도 손상된 파일 시스템의 복사본이 아직 남아 있으므로 /var/cache
시스템에 무엇을 포함해야 하는지 알고 있습니다.
cd /var/cache
sudo mkdir apache2 apt ddclient debconf dictionaries-common fontconfig ldconfig man modsecurity
sudo chmod a=,u=rwx ldconfig
sudo chmod g=rsx man
sudo chown man man
sudo chown www-data modsecurity
sudo mkdir apache2/mod_cache_disk
sudo chown www-data:www-data apache2/mod_cache_disk
재부팅 후 apt-get update
대부분의 디렉토리가 다시 채워졌습니다. 하지만 여러 파일이 누락되어 있어서 man
다음을 사용했습니다.
sudo apt-get --reinstall install man
나는 또한 그것을 발견했고 dictionaries-common
지금 fontconfig
은 비어 있지만, 그들이 내 헤드리스 서버에서 무엇을 하고 있는지 모르기 때문에 걱정하지 않습니다! (아마도 ownCloud가 Libreoffice에 의존하기 때문일 것입니다.)
이 정보는 내 시스템에만 해당될 수 있습니다. /var/cache
앞으로는 백업에서 제외하지 않겠습니다 .