web-dev-qa-db-ja.com

Linuxシステムを取り除く方法は?

Linuxディストリビューションを構築していて、バイナリなどを削除しました。システムはChromeキオスクになるため、GCCや開発ツールを使用しません。私がシステムを取り除くことができれば大いに役立ちます...

実行時にどのファイル/ライブラリが使用されているかを監視することで、未使用のシステムファイル(バイナリなど)をすべて削除できる方法はありますか?別の方法が好ましいかもしれませんが、このようなことを達成する方法はありますか?

24
Blender

Bootchart のようなプログラムがあり、起動時に実行したプログラムを表示できます。起動後も実行を続けて、セッション中に何が呼び出されたかを確認できます。

より良い解決策は、リマスターツールを使用することかもしれません。

Fedorabunt などのリマスターツールがあります。これらを使用して、ディストリビューションをカスタマイズできます。

Tiny Core Linux をご覧ください。 リマスタースクリプト に取り組んでいる人もいます。

11
Shawn J. Goff

とりわけ、不要なものすべてを削除したい。ファイルシステムでatimeが完全に有効になっていることを確認してください。これは/etc/fstabで設定できます。現在のデフォルトはrelatimeですが、atimeだけを使用します。ファイルにアクセスするたびに、タイムスタンプが更新されます。次に、数日間使用して、時刻が更新されていないファイルを確認します。システムが読み取り専用モードのときに読み取られるファイルがいくつかあると思うので、これらすべてをVMで慎重に行います。注:本番環境の準備ができたらnoatimeに設定してください。そうしないと、読み取るたびに書き込みが行われます。これは非効率的です。

正直なところ、私は Damn Small Linux ;を見てみます。あなたは本当にそれよりも小さくする必要がありますか?ディストリビューションに基づいてビルドし、ウィンドウマネージャーといくつかの追加プログラムを削除するだけです。シェルを修復またはリロードする必要がある場合は、すべてのコマンドラインツールをそのままにしておきます。

6
xenoterracide

Debianまたはその派生物を使用していると仮定します

数日間(頻繁に)使用した後、popularity-contestを実行します。一番古い未使用のパッケージが下部に表示されます。それらをアンインストールしますが、インストールされているものに応じて何かがあるかどうかに注意してください。

出力のスニペットは次のとおりです。

1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop

カラムとは、atimectimepackage-name、およびfileaccessedを意味します。

5
tshepang

ファイルアクセス時間を有効にして、しばらくの間システムを積極的に使用します。アクセス時間が変更されていないファイルを確認してください。これらは削除の候補です(ただし、保持する理由がないことを確認してください。たとえば、使用していないハードウェアのハードウェアドライバーであるため、またはルートパーティションがまだ残っているブートプロセスの早い段階で必要になるためです。マウントされた読み取り専用)。

大きなアプリケーションはほとんどないので、単一の実行可能ファイルで使用されているライブラリを確認してください。それらを静的にリンクすることを検討してください。

ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c

どこから始めていますか?既存のディストリビューションを削除していますか?ディストリビューションから始めなければならない理由はありますか?

組み込みシステムを最初から構築し、必要なものだけをロードすることを検討することをお勧めします。

0
Falmarri