國內較快開源軟體鏡象網站,包括Debian、Ubuntu、Fedora、Gentoo、Centos、FreeBSD、Eclipse等開源軟體的鏡象
http://mirrors.163.com,http://mirrors.sohu.com,http://centos.ustc.edu.cn
Linux下是除了二進位形式的軟體分發外,還有原始碼形式的軟體包,講一講這些軟體的安裝與卸載:
一、二進位分發軟體包的安裝與卸載
Linux軟體的二進位分發是指事先已經編譯好二進位形式的軟體包的發布形式,其優點是安裝使用容易,缺點則是缺乏靈活性,如果該軟體包是為特定的硬體/作業系統平台編譯的,那它就不能在另外的平台或環境下正確執行。
1、*.rpm形式的二進位軟體包
安裝:rpm -ivh *.rpm 升級:rpm -Uvh *.rpm 卸載:rpm -e packgename
說明:RPM(RedHat Packge Manager)是RedHat公司出的軟體包管理器,使用它可以很容易地對rpm形式的軟體包進行安裝、升級、卸載、驗證、查詢等操作,安裝簡單,而卸載時也可以將軟體安裝在多處目錄中的檔案刪除乾淨。rpm的參數中-i是安裝,-v是校正,-h是用散列符顯示安裝進度,*.rpm是軟體包的檔案名稱(這裡的*.rpm特指*.src.rpm以外的以rpm為尾碼的檔案);參數-e是刪除軟體包。
2、*.tar.gz/*.tgz、*.bz2形式的二進位軟體包
安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸載:手動刪除
說明:*.tar.gz/*.bz2形式的二進位軟體包是用tar工具來打包、用gzip/bzip2壓縮的,安裝時直接解包即可。對於解壓後只有單一目錄的軟體,卸載時用命令“rm -rf 軟體目錄名”;如果解壓後檔案分散在多處目錄中,則必須一一手動刪除,想知道解壓時向系統中安裝了哪些檔案,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”擷取清單。tar的參數z是調用gzip解壓,x是解包,v是校正,f是顯示結果,y是調用bzip2解壓,t是列出包的檔案清單。
3、提供安裝程式的軟體包
這類軟體包已經提供了安裝指令碼或二進位的安裝嚮導程式(setup、install、install.sh等),只需運行它就可以完成軟體的安裝;而卸載時也相應地提供了反安裝的指令碼或程式。而且在軟體安裝後提供反安裝的功能,目前這種類型的軟體包還比較少。
二、原始碼分發軟體包的安裝與卸載
Linux軟體的原始碼分發是指提供了該軟體所有程式原始碼的發布形式,需要使用者自己編譯成可執行檔二進位代碼並進行安裝,其優點是配置靈活,可以隨意去掉或保留某些功能/模組,適應多種硬體/作業系統平台及編譯環境,缺點是難度較大,一般不適合初學者使用。
1、*.src.rpm形式的原始碼軟體包
安裝:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸載:rpm -e packgename
說明:rpm --rebuild *.src.rpm命令將原始碼編譯並在/usr/src/dist/RPMS下產生二進位的rpm包,然後再安裝該二進位包即可。packgename如前所述。
2、*.tar.gz/*.tgz、*.bz2形式的原始碼軟體包
安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解壓然後進入解壓後的目錄:
./configure 配置
make 編譯
make install 安裝
卸載:make uninstall 或 手動刪除
說明:建議解壓後先閱讀說明檔案,可以瞭解安裝有哪些需求,有必要時還需改動編譯配置。有些軟體包的原始碼在編譯安裝後可以用make install命令來進行卸載,如果不提供此功能,則軟體的卸載必須手動刪除。由於軟體可能將檔案分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,那你應該在編譯前進行配置,指定軟體將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟體目錄名”命令來進行乾淨徹底的卸載。與其它安裝方式相比,需要使用者自己編譯安裝是最難的。
匯入非官方庫地址方法 檢查是否存在ls -l /etc/yum.repos.d/dag.repo 如果不存在就vi /etc/yum.repos.d/dag.repo 匯入如下內容 [dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1 然後,要匯入GPG的檢查檔案 wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt rpm --import RPM-GPG-KEY.dag.txt 為CentOS/RHEL添加EPEL軟體倉庫(RPMForge,rpmfusion) CentOS是RHEL編譯過來的,去掉了所有關於著作權問題的東西。因此,在沒有使用第三方軟體庫的情況下,很多軟體無法用yum install來直接安裝。Redhat Fedora項目下有一個 EPEL(Extra Packages for Enterprise Linux),EPEL是RHEL和Fedora的第三方軟體倉庫.安裝EPEL 非常簡單.官方地址是 http://fedoraproject.org/wiki/EPEL/FAQ#howtouse 1.要安裝yum-priorities外掛程式,確保官方源首選。yum install yum-priorities 安裝完後需要編輯/etc/yum.repos.d/ 目錄下的.repo相關檔案(如CentOS-Base.repo),在這些檔案每小段末尾插入順序指令:priority=N (N為1到99的正整數,數值越小越優先) 一般[base], [addons], [updates], [extras] 末尾加priority=1 [CentOSplus],[contrib]末尾加priority=2 其他第三的軟體源末尾加priority=N (N>10) 2.下載與安裝相應EPEL的rpm檔案包 (1)下載與安裝EPEL的rpm檔案包 32位系統su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm' 64位系統 su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm' (2)匯入DAG的PGP Key rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL (3)設定/etc/yum.repos.d/epel.repo檔案中源的層級,就是添加priority=11這句 編輯此檔案在[epel]段最後加上priority=11 3.安裝rpmforge的rpm檔案包 RPMForge庫現在已經擁有超過10000種的CentOS的軟體包,被CentOS社區認為是最安全也是最穩定的一個第三方軟體庫。 (1)下載rpmforge的rpm檔案包 32位系統wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm 64位系統wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm (2)安裝DAG的PGP Key rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt (3)驗證rpmforge的rpm檔案包 rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm (4)安裝rpmforge的rpm檔案包 rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm (5)設定/etc/yum.repos.d/rpmforge.repo檔案中源的層級,就是添加priority=12這句。 編輯此檔案在[rpmforge]段最後加上priority=12 4.安裝rpmfusion的rpm檔案包(選裝) CentOS官方說這個軟體庫裡面的軟體穩定性不如rpmforge,這裡僅供選用 在上面安裝完epel後輸入 su -c 'yum install foo'然後 CentOS 5輸入如下命令 su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm' CentOS 6輸入如下命令 su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/6/i386/rpmfusion-free-release-6-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/6/i386/rpmfusion-nonfree-release-6-0.1.noarch.rpm' 卸載方法 rpm -e rpmfusion*
如果遇到Header V3 DSA signature: NOKEY這是由於yum安裝了舊版本的GPG keys造成的,解決辦法就是 rpm --import /etc/pki/rpm-gpg/RPM* ----------------------------------- 關於檔案系統格式的比較ext4 , ext3 , jfs , xfs , reiserfs 看了不少測試,都是大和小檔案讀寫,感覺還缺少實際應用的測試,實際生產環境的測試才能說明問題。 在寫入方面ext4>ext2>reiserfs>ext3>jfs>xfs 在讀取方面ext2>ext3>ext4>jfs>xfs>reiserfs 實際應用方面jfs=ext4>xfs>reiserfs>ext3>ext2 ----------------------------------- Debian常用命令總結 安裝Debian時需要鏡像官方軟體包,/etc/apt/sources.list檔案可以得到相關網站
每行的第一個單詞deb或deb-src,描述了檔案類型,目錄中包含的是二進位軟體包(deb),即我們通常使用的已編譯好的軟體包;或包含的是包源碼(deb-src),源碼包包含來源程式編碼、Debian管理檔案(.dsc)和“Debian化”該程式所做更改的記錄檔案diff.gz。 如果安裝個別軟體包要用到apt和dpkg兩個命令。
apt
APT(the Advanced Packaging Tool)是Debian軟體包管理系統的進階介面,由幾個名字以“apt-”打頭的程式組成。apt-get、apt-cache、apt-cdrom ,apt-config是處理軟體包的命令列工具,它們也是其它使用者前景程式的後端,如dselect和aptitude。
apt-get update 從 /etc/apt/source.list 中源的更新軟體包列表
apt-cache search search-string 描述如 search-string 的軟體包
apt-cache policy package-name 顯示軟體包的版本和優先順序
apt-cache show package-name 顯示檔案的描述資訊
apt-cache showpkg package-name 顯示軟體包的依賴關係
apt-get install package-name 從源安裝軟體包及其所有依賴包
apt-get upgrade 將當前安裝的軟體封裝更新到最新
我們看到有些包被阻止更新(kept back)
apt-get dist-upgrade
如 apt-get upgrade, 會自動解決衝突
apt-get remove package-names 刪除軟體包, 及其所有依賴它的
apt-get --purge remove 徹底刪除這些包及其設定檔
apt-get --purge remove gnome-panel nautilus+
在刪除軟體包時,如果你在軟體包名字後面緊跟一個“+”,那麼該軟體包就會被安裝而不是刪除。
apt-cache depends package-names 列出指定包的所有依賴包
apt-cache rdepends package-names列出依賴於給定包的所有軟體包
apt-file upgrade 從源更新內容列表
apt-file search file-name 尋找包含檔案的軟體包
apt-file search package-name 列出軟體包的內容
auto-apt
如果需要可以自動安裝軟體包, 可以替代 apt-file, 需要安裝 auto-apt.
aptitude APT 的控制台介面, 需要安裝 aptitude
synaptic APT的GUI介面, 需要安裝synaptic
apt-get clean
刪除儲存在緩衝目錄下(/var/cache/apt/archives)的被下載的軟體包。
將刪除/var/cache/apt/archives目錄和/var/cache/apt/archives/partial目錄下的所有檔案,除了被鎖定的檔案。再次安裝某個軟體包時,APT將重新下載它。
apt-get autoclean 僅刪除那些不需要再次下載的檔案。
在dselect中選好了軟體包後,運行:
apt-get -u dselect-upgrade
比較同apt-get dist-upgrade時的情形
可以看到在前例中許多軟體包被安裝是其它軟體包“推薦”或“建議”的結果。另外一些軟體包被安裝或刪除通過dselect工具作出的決定。由此可見dselect與APT結合起來將是一個功能強大的工具。
apt-get --reinstall install gdm 軟體包的修複
apt-get check 從預設伺服器下載軟體包資料庫
apt-get upgrade package_name升級指定的軟體包,並升級其依賴的軟體包apt-cache showpkg package_name顯示軟體包的一些常規資訊apt-cache stats顯示相關的統計資訊
apt-cache dump 顯示緩衝中的每個軟體包簡要描述資訊
apt-cache unmet 顯示不符合一致性的依賴關係。
apt-cache show 顯示指定軟體包的記錄資訊,類似於rpm -qi
apt-cache search 尋找軟體包
apt-cache depends 顯示軟體包的依賴性關係。
apt-cache pkgnames 列出所有的軟體包
apt-config apt-config dump 顯示目前的配置資訊。
apt-get install nessus-server 自動下載安裝依賴包
apt-get source package_name 下載軟體包的source rpm
dpkg
它是操作軟體包檔案的主要工具;
dpkg由幾個原始的輔助程式演化而來。
·dpkg-deb:操作.deb檔案。dpkg-deb(1)
·dpkg-ftp:一箇舊的軟體包擷取命令。dpkg-ftp(1)
·dpkg-mountable:一箇舊的軟體包擷取命令。dpkg-mountable(1)
·dpkg-split:將大軟體包分割成小包。dpkg-split(1)
dpkg -l [names] 列出軟體包
dpkg -I pkg.deb 顯示軟體包相關資訊
dpkg -c pkg.deb 列出軟體包的內容
dpkg -S filename 顯示哪個包包含這個檔案
dpkg -i pkg.deb 安裝軟體包
deborphan 顯示沒有被依賴(孤兒)的軟體包, 需要安裝deborphan
debsums 審計安裝的軟體報, 需要安裝debsums
dpkg-divert [option] file 重寫一個軟體包的版本
dpkg --compare-versions v1 gt v2 比較版本, 用 echo $? 檢查
dpkg-query -W --showformat=format 查詢已安裝軟體包, 格式 例如'$ $ $ '.
dpkg --get-selections 將選擇的軟體包寫入一個檔案
dpkg --set-selection 從檔案讀取軟體包選擇 aptitude update 更新可用的包列表
aptitude upgrade 升級可用的包
aptitude dist-upgrade 將系統升級到新的發行版
aptitude install pkgname 安裝包
aptitude remove pkgname 刪除包
aptitude purge pkgname 刪除包及其設定檔
aptitude search string 搜尋包
aptitude show pkgname 顯示包的詳細資料
aptitude clean 刪除下載的包檔案
aptitude autoclean 僅刪除到期的包檔案 升級指令aptitude update && aptitude upgrade -----------------------------------
VI VIM的使用 vim有3種工作模式
Command(命令)模式,用於輸入命令 (使用ESC鍵切換)
Insert(插入)模式,用於插入文本
Visual(可視)模式,用於視化的的高亮並選定本文 儲存及退出
:w 儲存
:q! 不儲存退出
:w filename 另存新檔filename
:wq! 儲存退出
:wq! filename 註:以filename為檔案名稱儲存後退出
:x 應該是儲存並退出 ,功能和:wq!相同3.5 插入模式(文本的插入)
進入插入模式
i 在游標之前插入(這個最常用了)
a 在游標之後插入;
I 在游標所在行的行首插入
A 在游標所在行的行末插入
o 在游標所在的行的上面插入一行
O 在游標所在的行的下面插入一行
s 刪除游標後的一個字元,然後進入插入模式
S 刪除游標所在的行,然後進入插入模式
刪除字元
x 一個字元(這個最常用了)
#x 刪除幾個字元,#表示數字,比如3x
dw 刪除一個單詞
dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞
dd 刪除一行
#dd 刪除多個行,#代表數字,比如3dd 表示刪除游標行及游標的下兩行
d$ 刪除游標到行尾的內容
J 清除游標所處的行與上一行之間的空格,把游標行和上一行接在一起
撤銷編輯
u 撤消修改或刪除操作
:u
搜尋
/key key及搜尋索引鍵,支援正則 -------------------------------------------------------------- yum 不能用的解決方案 1.rpm資料庫出錯了 rm -f /var/lib/rpm/__db.* 將rpm所用的資料庫刪除
# rpm --rebuilddb 重建該資料庫
# yum clean all 2.或者問題是快速搜尋源出錯 yum --disableplugin=fastestmirror update
yum --disableplugin=fastestmirror -y install pam-devel 或者vi /etc/yum/pluginconf.d/fastestmirror.conf使得enabled=0 3.重裝yum 顯示卸載所有相關軟體rpm -qa | grep yum再卸載 然後安裝三個軟體即可到這裡下載http://centos.ustc.edu.cn/centos/5.4/os/i386/CentOS/ 將yum,yum-fastestmirror,yum-metadata-parser下載到一個檔案夾,然後執行rpm -ivh yum*.rpm