yum
Scientific Linuxにインストールする単一のパッケージの依存関係をどのように無視できますか? CentOS / RHELに対する答えはおそらく同じでしょう。
lsb_release
詳しくは、私が知っているユーティリティをに入れたいと思います/usr/bin/lsb_release
。このコマンドは、そのユーティリティがパッケージの一部であることを知っています(そのアーキテクチャのため)、yum whatprovides /usr/bin/lsb_release
X11関連redhat-lsb
の依存関係を含む多くの依存関係があります。
私はlsb_release
プログラムに従うので、依存関係に付属している「乱れ」を避けたいと思います。どうすればいいですか?
答え1
Goldilocksの答えからヒントを得て、この小さなスクリプトを思い出しました。正確に私が望むものはそれ以上ではありません。 Scientific Linux 6.3で作成およびテストされていますが、他のRHEL派生バージョンでも機能できます。私はスクリプトに名前を付けましたredhat-lsb.sh
(どのように非創造的なのか)。
#!/usr/bin/env bash
WKPKG=redhat-lsb
WKDIR=$HOME/$WKPKG
[[ -d "$WKDIR" ]] && [[ "x$1" != "x-f" ]] && { echo "ERROR: not removing $WKDIR. Use -f to force it."; exit 1; }
(
[[ -d "$WKDIR" ]] && rm -rf "$WKDIR"
mkdir "$WKDIR" && \
cd "$WKDIR" && \
yumdownloader $WKPKG && \
cd / && \
rpm2cpio "$WKDIR"/redhat-lsb-*.$(uname -m).rpm | cpio -idmv
) && rm -rf "$WKDIR"
sudo ./redhat-lsb.sh
またはで呼び出しますsudo ./redhat-lsb.sh -f
(後者は作業ディレクトリがすでに存在する場合は削除します)。
その機能は次のとおりです。
- フォルダ
$HOME/redhat-lsb
の操作 - パッケージをダウンロードするために使用されます
yumdownloader
。 - シェルワイルドカードを使用して正しいものを選択してください
.rpm
。redhat-lsb-*.$(uname -m).rpm
/
インストールしたい場所なので、に変更してください。rpm2cpio
標準出力に解凍するためcpio
これをキャプチャして現在のディレクトリに抽出します(必須ステップですsudo
)。- 最後に、作業フォルダを削除します。
その後、大きな成功を収めました。すべての依存関係なしで動作します。
$ lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description: Scientific Linux release 6.3 (Carbon)
Release: 6.3
Codename: Carbon
結果パッケージ自体には、静的にリンクされた実行可能ファイルのみが含まれます。今残っているのはシェルスクリプトとデータだけです。
答え2
あなたはできません。少量の記憶領域とすべてのMBが含まれていない場合、または完全なDEが含まれていない場合(おそらくそうではない場合)、Xエントリをインストールすることはおそらく意味がありません。これは、ユーザーが望ましくないいくつかのシステム構成を含む可能性があるためです。欲しくない
それでもこのパスを使用したくない場合は、適切な.rpmを見つけることができるはずです。 (yumを使用してインストールせずにリポジトリからrpmをインポートできます。ねえ;まだ試しておらず、依存関係が問題を引き起こすかどうかはわかりません。最も簡単な方法はおそらく使用することです。rpm 検索)。その後、rpm2cpio
lsb_releaseバイナリを使用してrpmを解凍して直接インストールできます。まず、ldd lsb_release
必要なライブラリが利用可能であることを確認してください。必要なrpmの他の小さな部分があるかもしれません。
すでにインターネットにrpm2cpioの説明があるので、もう一度繰り返しません。ファイルブラウザを使用している場合は、mc
rpm2cpioの代わりにこれを使用できます。これにより、tarballやzipファイルのようにrpm内をナビゲートできます。