私は大規模なコンピューターシステムの非管理者ユーザーです。システムにインストールされていない最新のパッケージが必要です。yumを使用してインストールしたいです。sudo、admin、またはrootアクセスのないユーザーとして、パッケージ管理を使用してホームディレクトリにパッケージをインストールできますか?ソースからmakeをいつでも使用できますが、yumを使用できると生活が楽になります。
私は大規模なコンピューターシステムの非管理者ユーザーです。システムにインストールされていない最新のパッケージが必要です。yumを使用してインストールしたいです。sudo、admin、またはrootアクセスのないユーザーとして、パッケージ管理を使用してホームディレクトリにパッケージをインストールできますか?ソースからmakeをいつでも使用できますが、yumを使用できると生活が楽になります。
回答:
ほとんどのバイナリは、特定の場所にインストールされるようにコンパイルされます/
。
Gentoo PrefixやRootless GoboLinuxなどの非ルートパッケージマネージャーがあり、場合によっては0installがあります。
あなたが言ったように、自分でコンパイルするとその問題が軽減されるか、chrootが使用されます。ただし、chrootingの最大のハードルは、前提条件とカーネル共有オブジェクトへのリンクです。
use yum
ではなく、必要なrpmを見つけてダウンロードします。ルートにならずに直接インストールすることはできませんが、RPMパッケージは実際には豪華な.cpioファイルであり、その内容を解凍できます。これを行う最も簡単な方法は、おそらくmc
(「真夜中の司令官」)ファイルブラウザ(これまでで最高のソフトウェアの1つ)を使用することです。これにより、.rpm
ファイルの内容を閲覧し、そこからファイルをコピーできます。
rpm2cpio
それを使用して、.cpioに変換し、cpio
内部のファイルを抽出して適切な場所に配置することができます。これらは両方ともすでにredhatまたはfedoraシステムにインストールされます。「xsnow」をインストールする例を次に示します(おそらく空のディレクトリでこれを実行する必要があります)。
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
fc17 x86_64というシステムに適切な.rpmが見つかったことに注意してください。これらは、他のコンポーネントに対してリンクされているプリコンパイルされたバイナリであるため、重要です。次に、.cpioを抽出します。
»cpio -idv < xsnow.cpio
./usr/bin/xsnow
./usr/share/doc/xsnow-1.42
./usr/share/doc/xsnow-1.42/README
./usr/share/man/man6/xsnow.6.gz
212 blocks
Press any key to continue...
このディレクトリツリーを参照すると、依存関係の解決に役立つ可能性のあるメタ情報を除き、必要なものはすべて揃っています。これは次を使用して見つけることができますrpm -q -p [package] --[query]
:
»rpm -q -p xsnow-1.42-17.fc17.x86_64.rpm --requires
warning: xsnow-1.42-17.fc17.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID d2382b83: NOKEY
libX11.so.6()(64bit)
libXext.so.6()(64bit)
libXpm.so.4()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
私はすでにこのようなものをすべて持っていると確信しています。そのため、xsnow実行可能ファイルを$ PATHに配置するだけで、ホームディレクトリに既にbinが含まれています。
»cp ./usr/bin/xsnow ~/bin
ビオラ!xsnow
xsnowはKDEでうまく動作しないことがわかったので、入力も監視もできなくなりました:
ライブラリをインストールする必要がある場合は、ライブラリもホームにディレクトリを作成して追加する必要があります~/.bashrc
。
export LD_LIBRARY_PATH=/home/you/lib