第一篇rpm 1
什麼是rpm
rpm即redhatpackagemanagement
由此可見這是
redhat
的發明,也是
redhat
如此成功的重要原因之一 2
為什麼需要
rpm 在m$
的環境下有大量的軟體是通過安裝程式
來進行管理的。
linux
下面也要解決相應的問題,
這裡的問題涵蓋了乙個軟體的各個生命週期
安裝,配置,解除安裝。然而
linux
的系統變化繁多
配置也不像
windows
那樣集中。面對種種問題,
redhat
針對自己的系統提出了乙個較好的辦法來
管理成千上百的軟體。這就是
rpm管理系統。在系
統中安裝了
rpm管理系統以後,只要是符合
rpm文
件標準的打包的程式都可以方便的安裝,公升級,
解除安裝。3rpm
打包的程式都有什麼特點 a
副檔名是
rpm
b檔名本身反映了該軟體的大量資訊 比如
mypackage-1.1-2tl.i386.rpm
mypackage
是說明軟體的名稱這是將來在
rpm管理
系統中登記的名字。
1.1是版本號,憑此來發現軟體的新舊
有時候甚至還變為
1.1-19990112
這樣的形式即
2023年1
月12日發布的
1.1版本
2tl這裡的
2是說明一種發行號意義不大,但可能
在生成該包時所用的環境不一樣,有時變為
2glibc2.0x
這樣的形式即
glibc
和2.0x
的核心下生
成的該包,因此最好在相同的環境下使用 至於
tl即turbolinux
當然還有可能是rh了
:) i386
說的是此包是針對
intel
平台的相應的常見的 還有
sparc
針對sun的
4怎麼安裝乙個
rpm包
rpm-iyou-package.rpm即可
但安裝時可能出現如下資訊
...conflictwith...
這是說你安裝的包裡有一些檔案可能會覆蓋現有
的檔案,預設時這樣的情況下是無法正確安裝的
可以用rpm--force-i
強制安裝即可
有時會有
...isneededby...
...isnotinstalled...
這樣的情況是此包需要的一些軟體你沒有安裝
但有時這樣的資訊是不必的 比如
gnome-1.0
它需要xscreen
但如果你就想使用其中
的一部分功能比如
panel,gedit,gnorpm
等等,並不需 要
xscreen
因此可以用
rpm--nodeps-i
來忽略此資訊
因此總結為
rpm-i--force--nodeps
什麼包都能
安裝上,但不保證能發揮功能
還可以試試
rpm-u(upgrade公升級)
不過最好不要用(純屬個人意見) 5
怎麼解除安裝乙個軟體
非常簡單
rpm-eyour-package即可
用上面那個例子
mypackage-1.1-2tl.i386.rpm
安裝以後應該用
rpm-emypackage
即可不需要有原來的安裝軟體
有時候出現
...isneededby...
這說明這個軟體被其他軟體需要,不能隨便解除安裝
但有時也可能需要解除安裝 比如
tlc中安裝管理程式
xturbopkg
只需要
perl-tk,perl-gettext,turbodesk
這幾個包
可他的要求還有很多其他的包,把那些包解除安裝時就 會有
...isneededbyxturbopkg
不管他用
rpm-e--nodeps即可
很明顯--nodeps
即nodependencity 6
怎麼了解乙個包裡都有哪些軟體
...
rpm-qq
代表查詢
-qllist
所有安裝的檔案
-qiinfo
列出這個軟體的簡要說明 -q
只列出著包是否安裝了並有版本等資訊 使用
-q必須安裝了包以後,後面跟軟體名
比如上面的
mypackage
可以試一試
rpm-qrpm
看看你系統的
rpm版本
7rpm
可否在rh
以外的系統上使用
實際上任何系統都需要包管理系統,而
rpm系統
確實優秀,因此很多
linux
都使用rpm
系統。但
rpm系統
前面提到了他是為
rh專門設計的,因此這些系統都擁有 同
rh相似的配置系統,這也限制了
rpm的應用。
tl,mandrake
等系統都使用
rpm
由於rpm
有源程式因此可以在別的系統上編譯執行,
所以有可能在別的系統上使用
rpm 8除了
rpm還有其他選擇嗎
debian
的deb
包,slakware
也都有自己的包管理系統 9
安裝了乙個程式為什麼不能執行
情況太複雜了
1...so...notfound
安裝相應的庫程式
,實際上在安裝乙個軟體時會提示你
缺少某些庫,但你得不到錯誤提示還有可能無法使用該程
序,檢查一下
/etc/ld.so.conf
加入相應庫所在的路徑
比如將qt庫安裝在
/usr/local/lib下
在/etc/ld.so.conf
中加入/usr/local/lib(
單獨一行)
再執行ldconfig
後試試qt
庫就能使用了
有時還不行試試做一些軟連線 比如
mtv-1.0.8
需要sdl0.9higher
而tlc
中只有sdl0.88
其實在/usr/lib
下做乙個連線
ln-slibsdlx11.so.0.88libsdlx11.so.0.9
在執行ldconfig
後試試一切正常有時軟體並不需要很新的
支援比如
kde1.1
可以在libstdc++2.7.2
下執行解決的辦法
同樣也是做軟連線
2erroropen...
可能是某些子目錄或檔案找不到試試建乙個 比如
apache_php3
需要乙個
/var/logs
子目錄來訪
logs
建乙個就可以了,找這樣的錯誤要去看系統的
log
在/var/log
子目錄下
3coredumped
如果你使用
tlc很有可能是
wrap
同軟體矛盾
解決辦法最簡單了做乙個
shell指令碼
比如xkobo
在tlc
下不能執行
做個指令碼
unsetld_preload
xkobo
即可很多程式都能這樣在
tlc下執行
rpm問題解答
第一篇rpm 1 什麼是rpm rpm 即redhat package management 由此可見這是 redhat 的發明,也是 redhat 如此成功的重要原因之一 2 為什麼需要 rpm 在m 的環境下有大量的軟體是通過安裝程式 來進行管理的。linux 下面也要解決相應的問題,這裡的問題...
gridview問題解答
這樣寫 printisopen convert.toboolean datebinder.eval container.dataitem,isopen cs 是這樣的 public string printisopen bool bisopen else return strhhtml 或者說是這樣...
gridview問題解答
這樣寫 printisopen convert.toboolean datebinder.eval container.dataitem,isopen cs 是這樣的 public string printisopen bool bisopen else return strhhtml 或者說是這樣...