Linuxシステムファイルを修復できますか?それとも唯一のオプションを再インストールするのですか?

Linuxシステムファイルを修復できますか?それとも唯一のオプションを再インストールするのですか?

私を悩ませるLinuxに関する質問があります。 Windowsでは、システムファイルが破損している場合は、ディスクを再フォーマットせずにシステムファイルを再インストールするだけです。これは良いオプションです。 Linuxにも似ていますか?

Raspberry PiでRaspbian Distroを実行していますが、停電が発生した後にシステムが再び破損しています。 NetatalkサーバーをMac用のTimeMachineとして実行します。停電後にシステムが起動しないため、問題を解決するには、ファイルシステムでfsck.ext4を手動で実行する必要がありました。そして修正しなければならないエラーがたくさんありました。これを実行した後、システムが起動しますが、周囲に奇妙なエラーが発生します。システム名がわからないため、pi@(不明)とマークされ、lsやsudoなどの一部の基本システムプログラムでは、「許可拒否」エラーが発生します。カードを別のコンピュータに接続し、sudoの正しい権限を手動で設定しましたが、今実行すると「セグメントエラー」エラーが発生し、ファイルが明らかに破損しています。

今私のポイントは、すべてを再インストールするのが痛いということです。私のnetatalkのすべてのカスタマイズを損なうことなく、すべてのシステムファイルを再インストールして問題を解決するオプションはありますか?

答え1

Debianベースのディストリビューションでは、aptitude reinstall <corrupted-packages>問題を解決するのに役立ちます。

特定のファイルが破損していることがわかっている場合dpkg -S /my/corrupted/file

「基本システム」パッケージのみを再インストールしてみることもできます。

# aptitude reinstall "~prequired"
# aptitude reinstall "~pimportant"
# aptitude reinstall "~pstandard"

再インストールを試すこともできますが、非常に注意してください。すべて:

# aptitude reinstall "~i"

私はこれらの「大規模な」再インストールをテストしたことがないので...保証できません。

答え2

ディストリビューションがDebian / Ubuntuベースの場合は、1つを選択またはapt試してaptitudeみましょう。

Redhatベースのディストリビューション(CentOS / Fedora / RHELなど)の場合は、RPMを使用してインストールされたパッケージの特定の側面を確認して変更できます。

すべてのパッケージを確認

% rpm -qVav
.........    /usr/bin/rdesktop
.........    /usr/share/doc/rdesktop-1.6.0
.........  d /usr/share/doc/rdesktop-1.6.0/AUTHORS
.........  d /usr/share/doc/rdesktop-1.6.0/COPYING
.........  d /usr/share/doc/rdesktop-1.6.0/ChangeLog
.........  d /usr/share/doc/rdesktop-1.6.0/HACKING
.........  d /usr/share/doc/rdesktop-1.6.0/README
.........  d /usr/share/doc/rdesktop-1.6.0/TODO
.........  d /usr/share/doc/rdesktop-1.6.0/ipv6.txt
.........  d /usr/share/doc/rdesktop-1.6.0/keymap-names.txt
.........  d /usr/share/doc/rdesktop-1.6.0/keymapping.txt
...
...

openssh 確認

% rpm -qVv openssh
.........    /etc/ssh
..?......  c /etc/ssh/moduli
.........    /usr/bin/ssh-keygen
.........    /usr/libexec/openssh
.........    /usr/libexec/openssh/ssh-keysign
.........    /usr/share/doc/openssh-5.5p1
.........  d /usr/share/doc/openssh-5.5p1/CREDITS
.........  d /usr/share/doc/openssh-5.5p1/ChangeLog
.........  d /usr/share/doc/openssh-5.5p1/INSTALL
.........  d /usr/share/doc/openssh-5.5p1/LICENCE
.........  d /usr/share/doc/openssh-5.5p1/OVERVIEW
...
...

権限と所有権の編集

% rpm --setperms {packagename}
% rpm --setugids {packagename}

メモ:出力の詳細については、参考man rpm資料を参照してください。-V|--verify

詳細については、この記事を参照してください。http://www.cyberciti.biz/tips/reset-rhel-centos-fedora-package-file-permission.html

答え3

Fedoraシステム(本当に良いと思う)では、yum reinstall <package>パッケージを再インストールできます(ほとんどの損傷を解決する必要があります)。そして、rpm -Vaある種の問題があるパッケージのリストを提供します(出力の詳細についてはマニュアルを参照)。理解できない理由で、新しくインストールされたパッケージでも違いを報告することがよくありますが、(まだ)追加の調査をするのに十分気にしません。それにもかかわらず、損傷があまりにも深刻な場合は、可能なすべてを回収して再インストールすることは依然として最善の選択です。

関連情報