一、定義
yum(全稱為 Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 centos 中的 Shell 前端軟件包管理器。基于 RPM 包管理,能夠從指定的服務器自動下載 RPM 包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。yum 提供了對軟件的查找、安裝、更新、刪除的等一系列功能。
二、用法
yum [options] COMMAND
yum [選項] 命令
三安裝最快源 yum install yum-fastestmirror
資源真的是非常豐富,從Centos到Ubuntu,ISO鏡像、升級包,應有盡有,上交的兄弟們真是幸福,羨慕啊。不過還好,我們好歹也算是在教育網內,湊合著也可以沾點光,下載一些。
網址為:
ftp://ftp.sjtu.edu.cn/
相應的yum的repo為
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora $releasever - $basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果在機器上安裝了apt管理器,則相應的源為
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/updates/$(VERSION)/$(ARCH)/
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/releases/$(VERSION)/Everything/$(ARCH)/os/
這與前面yum的源的格式上有一些差別,需要加以注意。
下面介紹一下fedora 下安裝 scim
1. 什么輸入法適合我?
fcitx和scim是目前比較好的輸入法, 但是他們的特點不同,fcitx只能輸入中文,而scim可以根據需要,利用不同的碼表達到中英日…等等各種語言的輸入問題。如果你只懂中文,或者只會輸 入英文&中文,那么fcitx是一個不錯的選擇,因為它漂亮,小巧,實用。如果你還需要輸入日文或者其他語言,那么你因該安裝scim。通 過合理的配置,他能夠讓你像在windows里面一樣,想輸入什么語言就能輸入什么語言,同一種語言想用什么輸入法就用什么輸入法。Scim的擴充性很 強,而且比較穩定,我就是選擇的是scim.
2. 安裝一個新輸入法前需要哪些準備?
如果你選擇fcitx或者scim,那么我建議你刪除系統自帶的中文輸入法。方法如下:
rpm –qa | grep iiimf | xargs rpm –e
rpm –qa | grep Chinput| xargs rpm –e
如果有哪一行提示rpm: no packages given for erase那表示本身你的系統里面沒有該輸入法,不用擔心,繼續往下看就行了。
說 明:rpm –qa是列出所有安裝的rpm包,grep iiimf是選擇出其中名字含有iiimf的那些包,xargs rpm –e的意思是把前面列出的這些包刪除掉。Xargs的作用就是把前面通過 | 傳過來的數據作為下面命令的參數。這就好比一個過濾器,首先是放著所有的安裝包,然后grep以后,只留下了含有某些特定關鍵字的rpm包,然后通過 xargs和rpm –e的組合運用,把剩下的這些含有某特定關鍵字的包刪掉。這樣就達到了刪除該輸入法及相關包的目的。下面的Chinput也是如此,在此不再重復。如果你還安裝了其他輸入法,比如你原來裝的是fcitx,現在想裝scim,那么你最好模仿上面的樣子把fcitx刪除,方法就是把iiimf的位置改成 fcitx就可以了。
在安裝新輸入法之前,最好這樣做一下,因為多種輸入法同時存在一個系統中沒有什么好處,你只可能去用一個,而且他們同時存在可能有的時候會出現問題,想想也知道,會互相競爭嘛。所以在此以后,你應該保證系統里面已經沒有中文輸入法了。通過類似以下方式驗證:
whereis fcitx
whereis scim
whereis miniChinput
…
3. 輸入法是何時被系統調用的?
很多人不知道輸入法到底什么時候被load進來,不知道這個當然就不知道為什么有的時候呼不出輸入法(因為可能根本沒有調入)當然也不會知道如何配置能夠符合自己的要求。
大 家都知道,linux下面比較常用的有兩個桌面系統,gnome和kde,這都無所謂,他們其實都是架在X系統之上的。簡單的說X系統就是一個最核心,也 是最底層的桌面系統,gnome也好,kde也罷,或者其他的什么fvwm之類的,都只不過是X系統和用戶之間的另一層軟件而已。所以要想達到不管使用什 么桌面系統,都能調入輸入法,就是要在X系統啟動的時候,讓輸入法也啟動起來,那么這樣之后,無論你使用的是gnome還是kde或者其他什么桌面,都能 夠調入輸入法。因為當輪到他們啟動的時候,X系統已經啟動好了,輸入法已經被系統調入了。那么X系統又是如何啟動的呢?讓我們從startx開始說起。
無論你用什么桌面系統,都是通過startx啟動的,那么startx究竟是什么呢?一個應用程序還是一個腳本文件?為什么它能夠啟動各種桌面系統,并且能夠按照相應的配置文件來設置呢?帶著疑問,我在console里面輸入whereis startx.
在 找到了存放startx的路徑以后,用編輯器打開它發現原來是一個腳本文件。這個腳本文件的內容可能根據發行版不同,會有差異,如果你懂一些shell的 語言,那么你可以嘗試看看,不一定要全部看懂,但是你大致看過以后會發現最后有一個xinit的命令,然后跟著一些參數。我嘗試在console下面輸入 xinit(注意,不要在圖形界面下做此操作)
發現圖形界面啟動拉,但是很丑陋,什么功能都沒有,鼠標可以動,還有一個可以輸入命令的小窗口。怎 么退出來?ctrl+alt+backspace. 原來如此,startx只是一個腳本,里面通過對一系列配置文件的分析設置,最終利用xinit命令啟動圖形界面。不管是kde還是gnome,都是在這 個腳本中完成的。那么讓我們再打開startx腳本看看里面還做了些什么。你仔細看看,會發現有一個東西很顯眼,就是/etc/X11/xinit /xinitrc,這個xinitrc好像很眼熟,在配置輸入法的其他貼中總是看到,這里出現了肯定是里面運行了這個腳本。再看其他的一些東西,其實都是利用shell配置出一個xinit啟動的參數,用來配置桌面系統用的,不用管它。目前已知的就是startx的時候它會去執行一個/etc/X11 /xinit/xinitrc的腳本,讓我們打開來看看里面有什么。
打開一看,其中一段我覺得最有價值,是一個for循環,他依次執行了/etc /X11/xinit/xinitrc.d/下面的所有腳本。你可以耐心的找一下,一定可以發現。那么這個目錄里面有些什么內容呢?有一個文件看名字就知道和輸入相關,它叫xinput。等等,讓我們理一下,是怎么從startx到xinput的。
首先是執行startx這個腳本文件,里面他會執行xinitrc這個腳本,然后xinitrc腳本里面的,叫xinput。OK, 我們繼續,打開xinput看看。
4.安裝軟件包
rpm -Uvh scim-0.8.2-1.i586.rpm
rpm -Uvh scim-chinese-0.2.6-1.i586.rpm
5.修改配置文件
接下來重要的一步就是,修改一下
/etc /X11/xinit/xinitrc.d/xinput文件,讓SCIM在X啟動的時候也啟動。我看到網上很多文章也說過,但總是不得要領,經過自己試 驗,最簡單的就是把xinput文件里的Chinput全部替換為SCIM,chinput替換為scim,保存重啟X就可以了。
zh_CN*)
if [ -e /usr/bin/scim ]; then
XIM="SCIM"
elif [ -e /usr/X11R6/bin/xcin ] ; then
export LC_CTYPE=zh_CN.GB2312
XIM="xcin-zh_CN.GB2312"
fi
;;
..............................
SCIM)
XIM_PROGRAM=scim
XIM_ARGS="-d"
;;
然后修改/etc/gtk-2.0/gtk.immodules,找到這一行:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:zh"
改為:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:zh"
可能表示輸入英文時也使用該輸入法
安裝完畢后運行scim-setup,將輸入法的切換鍵改為ctrl+space
文章內容僅代表個人觀點,如有不正之處,歡迎批評指正,謝謝大家。
不積跬步無以至千里,學習C/C++,Linux,Nginx,golang,ZeroMQ,MySQL,redis,fastdfs,MongoDB,ZK,ffmpeg,流媒體, 音視頻,CDN,P2P,K8S,Docker,Golang,TCP/IP,協程,嵌入式,ARM,DPDK等等。。。
可以后臺私信‘資料’即可領取相關學習資料