RPM常用參數


RPM是常用的套件管理程式,以下列出一些較為常用的參數及說明。

  • 安裝套件
    rpm -ivh 套件名稱
    -i :install 的意思
    -v :察看更細部的安裝資訊畫面
    -h :以安裝資訊列顯示安裝進度

    一次指定安裝好幾個檔案,套件名稱之間以空白相接即可,如下所示:
    rpm -ivh 套件名稱A 套件名稱B 套件名稱C

    要安裝的套件檔案存放在網路上,可以網址的來指定安裝的路徑。
    rpm -ivh http://www.kkk.com/套件名稱
  • 移除套件
    rpm -e 套件名稱
  • 重建rpm的套件資料庫
    rpm --rebuilddb
  • 列出本機上所有已安裝的套件名稱
    rpm -qa
  • 列出套件中所有的檔案與目錄所在完整檔名
    rpm -ql 套件名稱
  • 升級套件
    rpm -Uvh 套件名稱
    -U :升級
特殊參數
  • --nodeps
    使用時機: 如果您在安裝某個套件時,老是發現 rpm 告訴你『有屬性相依的套件尚未安裝』, 而您又想要直接強制安裝這個套件時,可以加上 --nodeps 告知 RPM 不要去檢查套件的相依性。
    危險性: 套件會有相依性的原因是因為彼此會使用到對方的機制或功能,如果強制安裝而不考慮套件的屬性相依, 則可能會造成該套件的無法正常使用!
  • --nomd5
    使用時機: 不想檢查 RPM 檔案所含的MD5資訊時。除非您很清楚這個套件的來源,否則不建議使用這個參數。
  • --noscripts
    使用時機: 不想讓該套件自行啟用或者自行執行某些系統指令。
    說明: RPM 的優點除了可以將檔案放置到定位之外,還可以自動執行一些前置作業的指令,例如資料庫的初始化。 如果您不想要讓 RPM 幫您自動執行這一類型的指令,就加上他吧!
  • --replacefiles
    使用時機: 如果在安裝的過程當中出現了『某個檔案已經被安裝在您的系統上面』的資訊, 又或許出現版本不合的訊息( confilcting
    files )時,可以使用這個參數來直接覆蓋檔案。
    危險性:
    覆蓋的動作是無法復原的!所以,您必須要很清楚的知道被覆蓋的檔案是真的不重要喔!否則會欲哭無淚!
  • --replacepkgs
    使用時機: 重新安裝某個已經安裝過的套件!
  • --force
    使用時機: 這個參數其實就是 --replacefiles 與 --replacepkgs 的綜合體!
  • --test
    使用時機: 想要測試一下該套件是否可以被安裝到使用者的 Linux 環境當中。範例為:rpm -ivh 套件名稱 --test




[FC6]掛載NTFS磁區 使用ntfs-3g

在FC4的環境之下需採用更改kernal來達到這個目的,可是在FC6環境下卻有更好的作法。

FC6的Extras套件中有一個ntfs-3g,就是用來解決這個問題的。而且安裝的方法也很簡單,只要確定Fedora的yum設定是正確的,透過yum就可以簡易安裝了。(不過用yum裝套件簡單是簡單,就是速度實在是慢了點)Ex:
# yum install ntfs-3g

接下來再以root的身份新增一個檔案
/sbin/mount.ntfs
內容如下
#!/bin/sh
export LANG=en_US.UTF-8
exec /sbin/mount.ntfs-3g "$@"
再用以下的命令讓mount.ntfs具有執行的能力
#chmod a+x /sbin/mount.ntfs
如果要在開機時就掛載起來的話,在/etc/fstab加入如下的內容即可
/dev/hda1 /mnt/c ntfs-3g defaults 0 0

若要直接用mount命令掛載上去,用以下命令
mount /dev/hda1 /mnt/hd_windows -r -o uid=userName
/dev/hda1 是NTFS所在的磁區
/mnt/hd_windows 是你想掛上的目錄所在,
這兩個將會隨著每個人的系統而有所不同。
userName則是想讓那個user可以讀取。

[FC6]在SCIM中安裝倉頡

換成了Fedora Core 6之後,畫面果然是煥然一新呀!趕緊將常用的程式都RUN起來看看是否順暢。看看是否有那些設定要再重新調過。

第一個就發現FC6下切換出來的輸入法和我之前用的不一樣,FC6的輸入法現在內建是用SCIM,這個輸入法也是不錯的。支援了簡體中文和正體中文和日文韓文的輸入,不過卻偏偏正體中文的部分只有新酷音,這對我而言可是重大的打擊呀!我要的是倉頡呀!(心之聲)

於是在系統中的各項設定開始尋找新增倉頡輸入法的方法,結果怎麼找都沒有。接著上google繼續找,連SCIM的官網也去看了,還是沒有頭緒。突然想到比對一下系統中安裝的SCIM套件和光碟上的套件是否有完全安裝。果然發現原來在光碟上還有一些SCIM的套件並沒有裝入系統中,看了每個套件的說明後,覺得最有可能的有三個套件。如下
scim-tables-0.5.6-7.i386.rpm
scim-tables-additional-0.5.6-7.i386.rpm
scim-tables-chinese-0.5.6-7.i386.rpm
不過我實在是懶得一個個去試那一個才是,於是一口氣將三個套件全裝進去。裝好後再登出後重新登入,果然在正體中文下多了很多輸入法,不旦有大倉頡還有倉頡三代和倉頡五代,其他還有輕鬆,大易,粵語,簡易,速成一大堆啦。基於不會用也用不到的理由,把其他都關掉了,只留下了倉頡和新酷音就足夠了。而且SCIM比FC4內建的輸入法用起來順多了。

原來遍尋不著的解答就在光碟片中,真是夢裡尋他千百回,竟在燈火欄柵處。


[FC6]yum更新和相關參數


在升級到FC6後的第一件事,當然是做套件的update。這可是一件相當耗時的工程。雖然yum也有圖形介面可用,但是個人還是偏好在命令模式下的yum。指令如下
ex: yum update
在做這動作時最好也能選個電腦比較沒有在用的時候來做,以免影響在使用電腦的效率和工偏的心情。因為在做update時,網路和電腦都會忙個不停。

在做完更新後,其實會發現。在不斷的更新之後,硬碟的空間是越來越少了。主要是因為有一些套件在更新之後並沒有被刪除而是留在硬碟佔空間,所以我們可以用以下的指令將那些沒有用到的套件刪除,將硬碟空間釋放出來。
ex: yum clean packages

以下介紹幾個較為常用的參數

列出所有可更新的套件清單
指令:yum check-update

安裝所有更新套件
指令:yum update

列出所有可安裝的套件清單
指令:yum list

若想知道本機系統上,有那些套件需要更新,可打指令:
yum check-update



[FC4]FC4 升級到 FC6

Fedora core 4 upgrade to Fecora core 6

之前一直是使用FC4(Fedora Core 4),不過漸漸的FC4也將被排除在支援更新的名單之外了。以使用linux的經驗來說,主要是以穩定為主。很多設定在好不容易己經調到穩定之後,實在不會想去更新,所以FC5就一直沒有升級使用。雖然很多人都說FC5比FC4漂亮很多,但是漂亮的介面並不足以讓我做升級的動作。現在FC7也推動中了,所以我覺得現在升級到FC6應該正是時候。其實主要也是怕麻煩啦!所以才會一直拖到現在,不然早就該升了。因為我的NB是雙系統的,也就是windows和linux是共存的,用多重開機的方式來做管理。有點怕在升級的過程中要是有什麼閃失,會連累到windows系統。

在做了之後才發現,其實Fedora的升級也是相當簡單的,就是安裝的時間長了點。只要把FC6的開機光碟放入光碟機中,重新開機。FC6的安裝程序會檢查到原來硬碟中的FC4,只要在後面的選項中把升級原有的系統勾起來。至於開機管理介面的那部分,我勾選了系統所建議的選項。然後按下一步直到開始安裝為止,我就去睡覺。一覺睡醒也就安裝完畢了。可以說是無痛升級了。

從現在開始我也是FC6囉。


[FC4]用mplayer播放rm和rmvb檔


到以下的網址下載realplayer 9的codec
http://www.mplayerhq.hu/MPlayer/releases/codecs/
在這裡也就是指
http://www.mplayerhq.hu/MPlayer/releases/codecs/rp9codecs-win32-20050115.tar.bz2
解開後看看裡面的readme.txt,裡面有寫該把解出來的檔案放到那個目錄去.你可以看看readme.txt中列出來的目錄,有那幾個是現在系統中已存在且已經有放codecs檔案在裡面的,把解出來的那些也放進去就可以了.
如果你還是不確定,那麼在還沒放進正確的目錄之前,先在終端機模式下先試著用指令去播放rm,rmvb的檔案,那麼你將可以看到畫面出現很多訊息,你仔細找找看,裡面會寫著mplayer到那幾個目錄下去找codecs,但都找不到,所以放不出畫面來.
我在FC4目前的環境是放在
/usr/lib/win32
下的,接著再重開mplayer就可以放rm和rmvb的檔案囉,不過要注意.如果真的遇到太新的編碼方法,還是會放不出來哦,因為我們裝的只有到realplayer9的codec而已.

FC8的使用者請參考此篇




更新文章:
[FC 12]mplayer安裝及rmvb、rm檔播放


[FC4]linux下音效下多工的問題

習慣了在windows下多個程式一起使用,播放音樂,看網路電視,通常不會有什麼問題,可是在這陣子用fedora的經驗中,似乎這樣輕鬆寫意的程序並沒有想像中的簡單,因為在一些程式會佔用了音效卡,而使得其他程式放不出聲音來.而剛好我的音效卡又不是多工的(現在好像多工的音效卡不多見了).那問題就出來了,我的skype只要一開始說話,那麼所有的聲音都不見了,同樣的情形還發生在realplayer中,而realplayer發生的情形比我想像中的還更要命.居然在realplayer結束後,還是沒有聲音,獨獨realplayer自己能發出聲音.真是太霸道了.在這一,二天的google旅程中,總算找到一些還能令人滿意的解答.
原來同樣的音效卡在windows下能運作得很好,而在linux下卻會發生問題的原因是.windows會把所有的聲音先混和好後再輸出到音效卡,做這件事的就叫sound server,也就是說並沒有讓其他程式直接的使用音效卡.那難道在linux下就沒有這樣的運作方法嗎?答案是有的,但是仍然有些linux下的軟體會直接的佔用音效卡,例如:gaim,skype,realplayer...等.在linux下的sound server我知道的有二個,Esound和Arts,當你使用kde環境時,那麼預設的就是Arts,而使用Gnome時,就是使用Esound,在linux下透過sound server來運作聲音的話,就可以避免音效卡被獨佔所發生的問題.以skype來說,請在執行skype之前,將執行方法改成以下的指令.
kde:
artsdsp skype
Gnome:
esddsp skype
這樣就可以讓sound server接手skype的聲音運作,同樣的也應用在gaim和realplayer上.

但是在我做所有套件的update後,發現我的realplayer居然沒法用artsdsp來開啟了,artsdsp居然告訴我
artsdsp works only for binaries
而realplayer的執行檔 realplay居然是個script,現在還沒精神去研究這個script要怎麼呼叫realplayer真正的執行檔,因為我找到用mplayer播放rm和rmvb的方法了,而且realplayer在我現在的環境下居然lag的很厲害,我也還沒找出原因,所以現在很想把realplayer給踢出我的nb.

如果發生因為音效卡被佔用而造成聲音都沒了,試著把artsd這個程序給刪除,然後再到"控制中心"裡重新啟動聲音的部份,應該可以解決.或者使用以下指令看看是那個程式把音效卡給佔住,也把那個程序給刪除.
lsof /dev/dsp /dev/snd/*



Docker SIGILL: illegal instruction 問題除錯記錄

Docker SIGILL: illegal instruction 問題除錯記錄 最近在一台平常執行得好好的伺服器上,遇到一個讓人頭痛的 Docker 問題。 原本 Portainer 和其他容器都可以正常運行,但在系統突然當機後,所有容器在啟動時都出現以下錯誤訊息: d...