私を悩ませる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
ある種の問題があるパッケージのリストを提供します(出力の詳細についてはマニュアルを参照)。理解できない理由で、新しくインストールされたパッケージでも違いを報告することがよくありますが、(まだ)追加の調査をするのに十分気にしません。それにもかかわらず、損傷があまりにも深刻な場合は、可能なすべてを回収して再インストールすることは依然として最善の選択です。