画像から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
rootとして実行する必要があります。
/var/cache
Debian には再構築できない部分があります/var/cache/debconf/config.dat
。このファイルには、Debianパッケージのインストール中に提供した回答が含まれています。これは長続きするバグ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
今後はバックアップから除外しません。