rpm 安装 忽略依赖_rpm 解决依赖的方法
前言:常用RPM的朋友們都知道,RPM簡單易用,但是它的依賴關系是最頭疼的!
有時候比方說A包需要B包,B包需要C包,C包需要A包,好了。這就是最常見的死鎖了(類似數據庫有木有?)。
這個時候有以下幾種方式可以解決:
A、強制安裝 ----暴力型
# rpm ?-ivh--force?--nodepsgcc-c++-4.1.2-42.el5.i386.rpm
warning:?gcc-c++-4.1.2-42.el5.i386.rpm:?Header?V3?DSA?signature:?NOKEY,?key?ID?37017186
Preparing...????????????????###########################################?[100%]
1:gcc-c++ ? ? ? ? ? ? ? ? ? ###########################################?[100%]
使用rpm -ivh --force --nodeps? 強制安裝。忽略依賴關系。這種方法你可以先裝A包,再裝B包,再裝C包。這樣還是有點隱患的,感覺不是很踏實(雖然其實目前沒發現什么不好)。安裝后使用成功的前提是:你要搞清楚依賴關系,并且把這些包都裝好。好處是:不用管它們的具體依賴關系先后順序。
B、一次性全裝上--- 一網打盡型
可以把依賴的幾個包拷出來放在同一個文件夾里 然后 rpm -ivn *.rpm?? 這樣也可以 前提也是一個都不能少。
#rpm -ivn *.rpm
# yum ?-y ?localinstall ?*.rpm
C、 使用yum技術安裝 --使用服務器方式
yum是一個服務器資源技術。通過在線下載服務器資源的方式。
缺點:太繁瑣。要設置一堆的東西。優點:設置以后,很方便,需要的大多數資源都可以從服務器上找到。
yum deplist ?PACKAGE_NAME ?列出一個包所有的依賴
如果沒有yum源,我們要離線在一臺服務器上安裝httpd,那么可以把所有依賴打包:
#export ?LANG=en_US.utf-8
# yum deplist ?httpd | grep provider | awk '{print $2}' | sort | uniq
# yumdownloader ?$(yum deplist ?httpd | grep provider | awk '{print $2}' | sort | uniq)
#yumdownloader ?httpd
然后在安裝服務器上:
#yum -y localinstall httpd
注:注意軟件包的版本
檢查系統是否已安裝某個軟件包:
#rpm ?-q ?--qf ? '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' ? ?PACKAGE_NAME
D、自建倉庫
# yum -y install ?createrepo
#mkdir -p /var/ftp/pub/localrepo
#mv -f ?oracle_depspackage/*/var/ftp/pub/localrepo
#touch /etc/yum.repos.d/localrepo.repo
#echo "[localrepo]" >> /etc/yum.repos.d/localrepo.repo
#echo "name=Unixmen Repository" >> /etc/yum.repos.d/localrepo.repo
#echo "baseurl=file:///var/ftp/pub/localrepo" >> /etc/yum.repos.d/localrepo.repo
#echo "gpgcheck=0" >> /etc/yum.repos.d/localrepo.repo
#echo "enabled=1" ?>> /etc/yum.repos.d/localrepo.repo
#createrepo -v /var/ftp/pub/localrepo
#yum clean all
總結
以上是生活随笔為你收集整理的rpm 安装 忽略依赖_rpm 解决依赖的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java内部类选择题_java内部类使用
- 下一篇: RTX5 | 线程管理01 - 创建线程