たとえば、binフォルダの内容をすべて削除してから別のbinフォルダの内容と置き換えると、システムは引き続き実行されますか?ファイルシステムが独自のファイルにバインドされている場合はどうなりますか? 444権限を持つ重要なファイルがあるとしましょう。そのファイルを削除して同じタイプですが、777権限を持つ別のファイルを作成して動作させることはできますか?別のオペレーティングシステムの別のフォルダをコピーして貼り付けるだけで起動し続けますか?
答え1
どの(既知の?)オペレーティングシステム上のすべてのファイルを置き換えることができます。
重要な質問は何に置き換えるのでしょうか。
ファイルが代替ファイルと互換性がない理由はいくつかあります。すべてリストするにはあまりにも多くの理由がありますが、味を知らせると次のようになります。
コンパイルされたプログラムとライブラリは、特定のCPUアーキテクチャ用にコンパイルされます。 (通常)AMD64システムにARMでコンパイルされたファイルを入れることはできません。
などのコマンドラインユーティリティは、スクリプト(またはに
/bin
あります)でよく使用されます。別のシステムのシステムと交換し、両方が同じアップストリームパッケージに基づいている場合/usr/bin/
/usr/local/bin
/bin
おそらくあまりにも多くの問題を引き起こします。しかし、たとえば、次のように非常に異なる場合GNUコアユーティリティもう一つは忙しい箱これは互換性がない可能性が高いです。ライブラリのバージョンも問題になる可能性があります。プログラムがコンパイルされると、使用する特定のバージョンのライブラリに対してコンパイルされます。間違ったバージョンのライブラリを交換すると、あらゆる種類のメモリリークや「違法な操作」エラーが発生しやすくなります。
私はこれを意図的に無視しました。あなたがそれを削除するのと同じ悲惨なことをした場合/bin
、あなたのシステムは交換されるまですべての種類の問題を経験し、潜在的に動作できなくなります。
答え2
複数の質問:
binフォルダの内容をすべて削除して別のbinフォルダの内容と置き換えると、システムは実行されますか?
習慣。削除すると、/bin
その内容を置き換えることができるプログラムがなくなります(mkdir
、などcp
はmv
すべて削除されます)。
これらのツールを維持しても、すでにシステムに存在するライブラリの一致バージョンを使用するように代替ツールが構築されていることを確認する必要があります。
ファイルシステムは独自のファイルに関連付けられていますか? 444権限を持つ重要なファイルがあるとしましょう。そのファイルを削除して同じ種類の別のファイルを作成できますか?
おそらく。ただし、強制モードでSELinuxのようなものを実行している場合はそうではありません。
しかし、777の権限を持っていてもまだ動作しますか?
おそらくそうではありません。権限が存在する理由はあります。一部のプログラム(sudo
、、passwd
)またはファイル()の権限を変更すると、/etc/passwd
システムの動作が停止します。
Chrome OSなどの他のオペレーティングシステムの他のフォルダの場合は、フォルダをコピーして貼り付けるだけで実行されます。
/bin
ChromeOSが起動時に常に再インストールまたはリセットされるためかどうか疑問に思います。私はそれが正常に機能していると信じるのは難しいです。
答え3
可能な唯一の答えは次のとおりです。時によって異なります。。
ファイルは常に変更されます(システムが更新されたとき、または構成変更が発生したときなど)。ただし、システム上のファイルとディレクトリを盲目的に削除/交換すると、「何もなし」から「システムが起動せず、完全に再インストールする必要がある」まで予測できない結果が生じる可能性があります。
/bin
重要なバイナリとシステムコマンドが含まれているため、/sbin
これを操作することはお勧めできません。一方、ファイルを削除すると、/var/log
システムログに関する情報のみが失われます。 (権限のない)ユーザーのホームディレクトリにあるエントリを削除しても、他のユーザーには影響しません。
権限を変更する場合も同様です。x
実行可能ファイルから権限を削除すると、実行できなくなります。ほとんどのファイルに対する権限を444から777に変更しても、ファイルを誰でも書き込むことができるように設定しない限り、最初は顕著な違いはないので、これはセキュリティの問題です。さらに、SSH秘密鍵などの一部のファイルには、特定の制限付き権限セットが必要です。