rootやSudo以外のアカウントを使用してRedHatシステムにアクセスしました。 Midnight Commander(mc)をインストールしたいのですが、yumにはroot権限が必要です。 RPMファイルだけを使用して再構築せずにローカルホームにmcをどのようにインストールできますか?
答え1
これを行い、rootアクセスなしで完全に機能するMidnight Commanderを入手することが可能です。次のステップで構成されます。
- 必要なバージョンのRPMファイルをインポートします。
- RPMファイルを解凍しました。 RPMはgzipアーカイブに過ぎず、別のアーカイブであるCPIOファイルが含まれていることに注意してください。これを行う方法については、多くの参考資料をオンラインで見つけることができます。 "rpm2cpio"コマンドを見つけます。 「RPMパッケージのcpioアーカイブからファイルを抽出する」を検索します。したがって、mc-*.rpm を解凍し、「etc」と「usr」という 2 つのディレクトリを取得できると仮定します。ホームディレクトリの下のディレクトリに「mc」と言うと、「~/mc/etc」と「~/mc/usr」が表示されます。
- 設定されていない場合は、~/mc/usr/bin にあるファイルの実行権限を設定します。 (「chmod」を使用)
- 今~/mc/usr/bin/mcを実行すると動作しますが(少なくとも私のRHEL 7.4では動作します)、ファイルが見つからないという警告メッセージが表示され、機能が制限されます。ただし、一度実行するとローカルディレクトリを作成できます。
- 環境変数MC_DATADIRを設定するには、「export MC_DATADIR=~/mc/usr/share/mc」を使用してください。これを.bashrcファイルに追加する必要があります。 (例:「echo text_to_add >> ~/.bashrc」)。
- .bashrc ファイルにエイリアス「alias mc=/home/vladimir.shutow/mc/usr/bin/mc」を追加します。変更を適用するには、「source ~/.bashrc」を使用する必要があります。
- それでは、コピーを作成しましょう。 ~/mc/etc/mc の内容を ~/mc/usr/share/mc にコピーします。
- ~/mc/usr/libexec/mc の内容を ~/.local/share/mc にコピーします。
- ~/mc/usr/share/mc/syntax/Syntax ファイルを ~/.config/mc/mcedit ディレクトリにコピーします。
- ビューア拡張を正しく機能させるには、 ~/mc/usr/libexec/mc/ext.d ディレクトリ内のすべての *.sh ファイルの実行権限を設定し、 ~/mc/usr/share/mc/mc すべての行を編集します。 /usr/libexec/mc/ext.d/*.sh ファイルを参照する .ext ファイルのうち、 ~/mc/usr/libexec/mc/ext.d/*.sh を指します。
「mc」を実行すると、Midnight Commanderが表示されます。