$ tar zxvf XXXX.tar.gz (or tar jxvf XXXX.tar.bz2) $ cd XXXX $ ./configure $ make # make install ##安裝 $ make clean ##安裝完成後用來清理臨時文件 $ake uninstall ##用來卸載軟件
$ tar zcvf XXXX.tar.gz XXXX(or tar jcvf XXXX.tar.bz2 XXXX) 解壓的相關命令以下: $ tar zxvf XXXX.tar.gz $ tar jxvf XXXX.tar.bz2
$ ./configure --prefix=/opt/XXX 它用來設置軟件的安裝目錄.
$ make
$make install
執行完上述操做就能夠等待安裝完成了。 java
$make clean $make uninstall
這兩個步驟只是安裝的後續操做,有一點必須注意,"clean"和"uninstall"也是Makefile文件中相應的兩個標號,執行這兩個步驟的時候Makefile文件必要保留,"make clean"用來清除編譯鏈接過程當中的一些臨時文件,"make uninstall"是卸載相關應用程序,與make install相似,make uninstall也須要切換到root執行,不過"uninstall"標號在好多Makefile中都被省略掉了。 node
rpm -i your-package.rpm
其中your-package.rpm是你要安裝的rpm包的文件名,通常置於當前目錄下。 mysql
安裝過程當中可能出現下面的警告或者提示:... conflict with ... 多是要安裝的包裏有一些文件可能會覆蓋現有 的文件,缺省時這樣的狀況下是沒法正確安裝的能夠用 rpm --force -i 強制安裝便可 ... is needed by ... ... is not installed ... 此包須要的一些軟件你沒有安裝能夠用 rpm --nodeps -i 來忽略此信息 也就是說,rpm -i --force --nodeps 能夠忽略全部依賴關係和文件問題,什麼包 都能安裝上,但這種強制安裝的軟件包不能保證徹底發揮功能
1.執行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一個和你的軟件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一個和你的軟件包同名的目錄 5. ./configure 這一步和編譯普通的源碼軟件同樣,能夠加上參數 6. make 7. make install
1.執行rpm -i you-package.src.rpm 2. cd /usr/src/redhat/SPECS 前兩步和方法一相同 3. rpmbuild -bb your-package.specs 一個和你的軟件包同名的specs文件
這時,在/usr/src/redhat/RPM/i386/ (根據具體包的不一樣,也多是i686,noarch等等)目錄下,有一個新的rpm包,這個是編譯好的二進制文件,執行rpm -i new-package.rpm便可安裝完成。 sql
rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd
不能夠是下列格式: shell
rpm -e proftpd-1.2.8-1.i386.rpm rpm -e proftpd-1.2.8-1.i386 rpm -e proftpd-1.2 rpm -e proftpd-1
有時會出現一些錯誤或者警告: vim
... is needed by ... 這說明這個軟件被其餘軟件須要,不能隨便卸載
能夠用rpm -e --nodeps強制卸載 緩存
rpm2cpio xxx.rpm | cpio -vi rpm2cpio xxx.rpm | cpio -idmv rpm2cpio xxx.rpm | cpio --extract --make-directories
參數i和extract相同,表示提取文件。v表示指示執行進程 工具
d和make-directory相同,表示根據包中文件原來的路徑創建目錄rpm -qa 列出全部安裝過的包
若是要查找全部安裝過的包含某個字符串sql的軟件包 ui
rpm -qa |grep sql
rpm -q mysql 能夠得到系統中安裝的mysql軟件包全名,從中能夠得到當前軟件包的版本等信息。
這個例子中能夠獲得信息mysql-3.23.54a-11 spa
rpm -ql 包名 注意這裏的是不包括.rpm後綴的軟件包的名稱
也就是說只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm,若是隻是想知道可執行程序放到那裏去了,也能夠用which,好比
which mysql
一個沒有安裝過的軟件包,使用:rpm -qlp ****.rpm 一個已經安裝過的軟件包,還可使用:rpm -ql ****.rpm
一個沒有安裝過的軟件包,使用rpm -qip ****.rpm 一個已經安裝過的軟件包,還可使用rpm -qi ****.rpm
rpm -qf `which 程序名` 返回軟件包的全名 rpm -qif `which 程序名` 返回軟件包的有關信息 rpm -qlf `which 程序名` 返回軟件包的文件列表
注意,這裏不是引號,而是`,就是鍵盤左上角的那個鍵,也可使用rpm -qilf,同時輸出軟件包信息和文件列表
# whereis ftptop ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz # rpm -qf /usr/bin/ftptop proftpd-1.2.8-1 # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt proftpd-1.2.8-1
得到軟件包相關的信息用rpm -q,q表示查詢query,後面能夠跟其餘選項,好比
i 表示info,得到軟件包的信息; l 表示list,得到文件列表; a 表示all,在全部包中執行查詢; f 表示file,根據文件進行相關的查詢; p 表示package,根據軟件包進行查詢 須要的查詢條件可使用grep產生,或者從"` `"中的命令行產生
yum install 所有安裝 yum install package1 安裝指定的安裝包package1 yum groupinsall group1 安裝程序組group1
yum update 所有更新 yum update package1 更新指定程序包package1 yum check-update 檢查可更新的程序 yum upgrade package1 升級指定程序包package1 yum groupupdate group1 升級程序組group1
yum info package1 顯示安裝包信息package1 yum list 顯示全部已經安裝和能夠安裝的程序包 yum list package1 顯示指定程序包安裝狀況package1 yum groupinfo group1 顯示程序組group1信息yum search string 根據關鍵字string查找安裝包
yum remove | erase package1 刪除程序包package1 yum groupremove group1 刪除程序組group1 yum deplist package1 查看程序package1依賴狀況
yum clean packages 清除緩存目錄下的軟件包 yum clean headers 清除緩存目錄下的 headers yum clean oldheaders 清除緩存目錄下舊的 headers yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers
yum install yum-downloadonly完成安裝後,yum就多了兩個命令參數,分別是:
--downloadonly --downloaddir=/path/to/dir
這兩個命令參數的含義很是明確,不用多做解釋了,這樣,用戶就能夠作到使用yum只下載軟件包,不自動安裝了
vim /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0
將 keepcache=0 修改成 keepcache=1, 安裝或者升級後,在目錄 /var/cache/yum 下就會有下載的 rpm 包了。