私たちは2005年にインストールされた古いサーバー(Fedora Core 4)を持っています。このサーバーは更新されませんでした。外部世界と直接接続しなくても生産ラインを監視できる特殊ソフトウェアを実行する。
システムのアップグレードに問題はありません。
一部のユーティリティにはエラーがあるか、オプションがありません。いくつかの他のユーティリティがありません。
このサーバーにいくつかのスクリプトをインストールする必要があります。最大の問題は、Bashが本当に古くて便利なものが欠けていることです。私はよくテストされたスクリプトをハックするという考えが好きではありません。
システムを変更せずに最新のBashを実行して新しいプログラムをインストールする方法はありますか?
BusyBoxのような?それともchroot内で? chrootの問題は、実際のシステムにアクセスするのが難しいことです。たとえば、私のバックアップスクリプトは機能しません。
ベストアンサー1
私の考えの最も簡単な方法は、別のインストールのプログラムとライブラリを別々のディレクトリに一括コピーすることです。たとえば、数百メガバイトにすぎず、必要なものすべてを含めることができるsystemrescuecdなどのライブCDから/opt/new/にコピーします。これにより、どのライブラリが必要かを検索/検索/推測/テストすることなく複製できます。
LD_LIBRARY_PATH=/opt/new/lib/ ; /opt/new/bin/diff
その後、このプログラムを使用または実行できますLD_LIBRARY_PATH=/opt/new/lib/ ; /opt/new/bin/bash
。これは、ユーティリティが理解できなくなった古い設定ファイルを読み取らなくなるまで完全に機能します。それとも悪いことは、彼らが書くのをやめるまでです。
成功したら、新しいライブラリを/ lib /にコピーしてLD_LIBRARY_PATHトリックを忘れることができます。ファイル名が競合しない限り、これは安全です(他の提案も大歓迎です)。
大胆に古いバイナリを新しいバイナリに置き換えることもできます(選択したバイナリのみ)、これは本番サーバーには適していない可能性があります。