/var/cacheをどのように復元する必要がありますか?

/var/cacheをどのように復元する必要がありますか?

画像から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 updaterootとして実行する必要があります。

/var/cacheDebian には再構築できない部分があります/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-commonfontconfigは空ですが、彼らが私のヘッドレスサーバーで何をしているのかわからないので心配しません! (おそらく、ownCloudがLibreofficeに依存しているからです。)

この情報は私のシステムに固有のものです。/var/cache今後はバックアップから除外しません。

関連情報