rpms(およびその依存関係)でいっぱいのディレクトリがあります。現在私はyum localinstall ./packages_directory/*.rpm
その中にあるすべてのパッケージをインストールしています。すでにインストールされている項目は自動的にスキップされます。ただし、すべてのパッケージがすでにインストールされている場合は、時間がかかりすぎる可能性があります。パッケージを早くインストールしたいです。私が考えるもう1つのオプションは、これらの各パッケージがすでにインストールされていることを確認することです(おそらく別のコマンドを使用して)。インストールされていない場合は、ローカルインストールを実行します。誰かがこのスクリプトを書くのに役立ちますか?あるいは、より速い選択肢かもしれません。
答え1
私はそれについてのスクリプトを思い出しました(Fedora 17)。現在のスクリプト実行ディレクトリがrpmがあるディレクトリでもあるとします。
install_packages(){
echo "Installing/Checking Fedora packages. Process may take a while..."
for i in *
do
if test -f "$i" #Test if it is a file
then
i=$(basename $i) #Remove parent directory part of the string
PACKAGE_NAME=${i::-4} #Remove .rpm from the end of file name
if rpm -q $PACKAGE_NAME | grep "not installed" > /dev/null #If package not yet installed
then
echo "Installing $i ..."
yum localinstall ./fc17/"$i" -y > /dev/null #Install this package
fi
fi
done
echo "Packages checked/installed"
}
Fedora 22の場合は、yum localinstall
次のように置き換えます。dnf install