一、定義
yum(全稱為 Yellow dog Updater, Modified)是一個(gè)在 Fedora 和 RedHat 以及 centos 中的 Shell 前端軟件包管理器。基于 RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。yum 提供了對(duì)軟件的查找、安裝、更新、刪除的等一系列功能。
二、用法
yum [options] COMMAND
yum [選項(xiàng)] 命令
三安裝最快源 yum install yum-fastestmirror
資源真的是非常豐富,從Centos到Ubuntu,ISO鏡像、升級(jí)包,應(yīng)有盡有,上交的兄弟們真是幸福,羨慕啊。不過還好,我們好歹也算是在教育網(wǎng)內(nèi),湊合著也可以沾點(diǎn)光,下載一些。
網(wǎng)址為:
ftp://ftp.sjtu.edu.cn/
相應(yīng)的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
如果在機(jī)器上安裝了apt管理器,則相應(yīng)的源為
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是目前比較好的輸入法, 但是他們的特點(diǎn)不同,fcitx只能輸入中文,而scim可以根據(jù)需要,利用不同的碼表達(dá)到中英日…等等各種語言的輸入問題。如果你只懂中文,或者只會(huì)輸 入英文&中文,那么fcitx是一個(gè)不錯(cuò)的選擇,因?yàn)樗粒∏桑瑢?shí)用。如果你還需要輸入日文或者其他語言,那么你因該安裝scim。通 過合理的配置,他能夠讓你像在windows里面一樣,想輸入什么語言就能輸入什么語言,同一種語言想用什么輸入法就用什么輸入法。Scim的擴(kuò)充性很 強(qiáng),而且比較穩(wěn)定,我就是選擇的是scim.
2. 安裝一個(gè)新輸入法前需要哪些準(zhǔn)備?
如果你選擇fcitx或者scim,那么我建議你刪除系統(tǒng)自帶的中文輸入法。方法如下:
rpm –qa | grep iiimf | xargs rpm –e
rpm –qa | grep Chinput| xargs rpm –e
如果有哪一行提示rpm: no packages given for erase那表示本身你的系統(tǒng)里面沒有該輸入法,不用擔(dān)心,繼續(xù)往下看就行了。
說 明:rpm –qa是列出所有安裝的rpm包,grep iiimf是選擇出其中名字含有iiimf的那些包,xargs rpm –e的意思是把前面列出的這些包刪除掉。Xargs的作用就是把前面通過 | 傳過來的數(shù)據(jù)作為下面命令的參數(shù)。這就好比一個(gè)過濾器,首先是放著所有的安裝包,然后grep以后,只留下了含有某些特定關(guān)鍵字的rpm包,然后通過 xargs和rpm –e的組合運(yùn)用,把剩下的這些含有某特定關(guān)鍵字的包刪掉。這樣就達(dá)到了刪除該輸入法及相關(guān)包的目的。下面的Chinput也是如此,在此不再重復(fù)。如果你還安裝了其他輸入法,比如你原來裝的是fcitx,現(xiàn)在想裝scim,那么你最好模仿上面的樣子把fcitx刪除,方法就是把iiimf的位置改成 fcitx就可以了。
在安裝新輸入法之前,最好這樣做一下,因?yàn)槎喾N輸入法同時(shí)存在一個(gè)系統(tǒng)中沒有什么好處,你只可能去用一個(gè),而且他們同時(shí)存在可能有的時(shí)候會(huì)出現(xiàn)問題,想想也知道,會(huì)互相競(jìng)爭(zhēng)嘛。所以在此以后,你應(yīng)該保證系統(tǒng)里面已經(jīng)沒有中文輸入法了。通過類似以下方式驗(yàn)證:
whereis fcitx
whereis scim
whereis miniChinput
…
3. 輸入法是何時(shí)被系統(tǒng)調(diào)用的?
很多人不知道輸入法到底什么時(shí)候被load進(jìn)來,不知道這個(gè)當(dāng)然就不知道為什么有的時(shí)候呼不出輸入法(因?yàn)榭赡芨緵]有調(diào)入)當(dāng)然也不會(huì)知道如何配置能夠符合自己的要求。
大 家都知道,linux下面比較常用的有兩個(gè)桌面系統(tǒng),gnome和kde,這都無所謂,他們其實(shí)都是架在X系統(tǒng)之上的。簡(jiǎn)單的說X系統(tǒng)就是一個(gè)最核心,也 是最底層的桌面系統(tǒng),gnome也好,kde也罷,或者其他的什么fvwm之類的,都只不過是X系統(tǒng)和用戶之間的另一層軟件而已。所以要想達(dá)到不管使用什 么桌面系統(tǒng),都能調(diào)入輸入法,就是要在X系統(tǒng)啟動(dòng)的時(shí)候,讓輸入法也啟動(dòng)起來,那么這樣之后,無論你使用的是gnome還是kde或者其他什么桌面,都能 夠調(diào)入輸入法。因?yàn)楫?dāng)輪到他們啟動(dòng)的時(shí)候,X系統(tǒng)已經(jīng)啟動(dòng)好了,輸入法已經(jīng)被系統(tǒng)調(diào)入了。那么X系統(tǒng)又是如何啟動(dòng)的呢?讓我們從startx開始說起。
無論你用什么桌面系統(tǒng),都是通過startx啟動(dòng)的,那么startx究竟是什么呢?一個(gè)應(yīng)用程序還是一個(gè)腳本文件?為什么它能夠啟動(dòng)各種桌面系統(tǒng),并且能夠按照相應(yīng)的配置文件來設(shè)置呢?帶著疑問,我在console里面輸入whereis startx.
在 找到了存放startx的路徑以后,用編輯器打開它發(fā)現(xiàn)原來是一個(gè)腳本文件。這個(gè)腳本文件的內(nèi)容可能根據(jù)發(fā)行版不同,會(huì)有差異,如果你懂一些shell的 語言,那么你可以嘗試看看,不一定要全部看懂,但是你大致看過以后會(huì)發(fā)現(xiàn)最后有一個(gè)xinit的命令,然后跟著一些參數(shù)。我嘗試在console下面輸入 xinit(注意,不要在圖形界面下做此操作)
發(fā)現(xiàn)圖形界面啟動(dòng)拉,但是很丑陋,什么功能都沒有,鼠標(biāo)可以動(dòng),還有一個(gè)可以輸入命令的小窗口。怎 么退出來?ctrl+alt+backspace. 原來如此,startx只是一個(gè)腳本,里面通過對(duì)一系列配置文件的分析設(shè)置,最終利用xinit命令啟動(dòng)圖形界面。不管是kde還是gnome,都是在這 個(gè)腳本中完成的。那么讓我們?cè)俅蜷_startx腳本看看里面還做了些什么。你仔細(xì)看看,會(huì)發(fā)現(xiàn)有一個(gè)東西很顯眼,就是/etc/X11/xinit /xinitrc,這個(gè)xinitrc好像很眼熟,在配置輸入法的其他貼中總是看到,這里出現(xiàn)了肯定是里面運(yùn)行了這個(gè)腳本。再看其他的一些東西,其實(shí)都是利用shell配置出一個(gè)xinit啟動(dòng)的參數(shù),用來配置桌面系統(tǒng)用的,不用管它。目前已知的就是startx的時(shí)候它會(huì)去執(zhí)行一個(gè)/etc/X11 /xinit/xinitrc的腳本,讓我們打開來看看里面有什么。
打開一看,其中一段我覺得最有價(jià)值,是一個(gè)for循環(huán),他依次執(zhí)行了/etc /X11/xinit/xinitrc.d/下面的所有腳本。你可以耐心的找一下,一定可以發(fā)現(xiàn)。那么這個(gè)目錄里面有些什么內(nèi)容呢?有一個(gè)文件看名字就知道和輸入相關(guān),它叫xinput。等等,讓我們理一下,是怎么從startx到xinput的。
首先是執(zhí)行startx這個(gè)腳本文件,里面他會(huì)執(zhí)行xinitrc這個(gè)腳本,然后xinitrc腳本里面的,叫xinput。OK, 我們繼續(xù),打開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啟動(dòng)的時(shí)候也啟動(dòng)。我看到網(wǎng)上很多文章也說過,但總是不得要領(lǐng),經(jīng)過自己試 驗(yàn),最簡(jiǎn)單的就是把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"
可能表示輸入英文時(shí)也使用該輸入法
安裝完畢后運(yùn)行scim-setup,將輸入法的切換鍵改為ctrl+space
文章內(nèi)容僅代表個(gè)人觀點(diǎn),如有不正之處,歡迎批評(píng)指正,謝謝大家。
不積跬步無以至千里,學(xué)習(xí)C/C++,Linux,Nginx,golang,ZeroMQ,MySQL,redis,fastdfs,MongoDB,ZK,ffmpeg,流媒體, 音視頻,CDN,P2P,K8S,Docker,Golang,TCP/IP,協(xié)程,嵌入式,ARM,DPDK等等。。。
可以后臺(tái)私信‘資料’即可領(lǐng)取相關(guān)學(xué)習(xí)資料