rpms(및 해당 종속성)로 가득 찬 디렉토리가 있습니다. 현재 나는 yum localinstall ./packages_directory/*.rpm
그 안에 있는 모든 패키지를 설치하고 있습니다. 이미 설치된 항목은 자동으로 건너뜁니다. 그러나 모든 패키지가 이미 설치되어 있으면 시간이 너무 오래 걸릴 수 있습니다. 패키지를 더 빨리 설치하고 싶습니다. 제가 생각하는 또 다른 옵션은 이러한 각 패키지가 이미 설치되어 있는지 확인하는 것입니다(아마도 다른 명령을 사용하여). 설치되어 있지 않으면 로컬 설치를 실행합니다. 누군가 이 스크립트를 작성하는 데 도움을 줄 수 있나요? 아니면 더 빠른 대안일 수도 있습니다.
답변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