⑴ linux打包Python文件為RPM格式
花費了將近一周的時間,才把rpm打包弄好.不能說已經瞭然於胸,但至少踩過了很多坑.接下來就順順在打包過程中的二三事.剛開始接到任務的時候,一臉懵逼.
作為專業的 JAVA Web 程序員,確定要讓我干這么跨界的事情嗎?之前自己雖然也安裝過其他的rpm包,但我保證,我只是看說明書,跟著一路弄下來的.並且之後對它可是有多遠躲多遠的.不過考慮到自己的title,我知道那不應該是我關心的事情.那麼問題來了,什麼是rpm呢?
看到了rpm是什麼,我們就來了解一下RPM相關的命令
本來准備直接 rpm -help 讓大家看看相關參數的,但是考慮到內容太多,感興趣的 自行點擊 .這里放幾個常用的命令.
至此,基本的rpm基礎已經了解到了.那麼關鍵的問題來了,如何製作RPM
把製作RPM,道上傳聞有多種方式,我自己測過的有兩種
注意:無論上述那種都需要 setup.py 及 setup.cfg 文件,描述相關的軟體信息.
我自己使用的是第二種rpmbuild,
至此就可以歡快的進行打包了.執行
以上命令運行成功後會在當前用戶目錄下生成rpmbuild目錄,該目錄會包含以下子目錄
--BUILD #編譯之前,如解壓包後存放的路徑 --BUILDROOT #編譯後存放的路徑 --RPMS #打包完成後rpm包存放的路徑 --SOURCES #源包所放置的路徑 --SPECS #spec文檔放置的路徑 --SPRMS #源碼rpm包放置的路徑
安裝成功後,即可直接執行相關命令了.
rpmbuild
⑵ 如何編譯內核及製作RPM包
前言
要編譯自內核能各種同答案列舉:
1 研究習內核源碼
2 支持新硬體或者打某項內核功能
3 升級內核更新版本
4 按自要求定製優化內核功能
種種...
折騰需要理由我說面直接進入主題
編譯式
編譯內核種式kernel.org載選擇載需要版本內核源碼
:linux-2.6.32-rc1.tar.bz2載內核源碼/home/user/目錄進入載目錄解壓壓縮包
#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2
二 准備編譯環境
始前首先確認面軟體包已經安裝(編譯標普華4.0直接全部安裝CD3保證條件)
* rpmdevtools
* yum-utils
fedora系統使用命令安裝:
#yum install yum-utils rpmdevtools
1. rpmbuild命令工作所需目錄樹面命令完該操作手建立目錄樹
命令建立:
#rpmdev-setuptree
命令/usr/src/rpmbuild/目錄目錄結構(位置沒則能前用戶目錄).
# tree /usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
面部rpmbuild環境建立rpm
3. 安裝內核源碼包需要依賴組件(跳步操作)
su -c 'yum-builddep kernel-.src.rpm'
4.安裝內核源碼系統默認目錄/usr/src/neoshine:
rpm -Uvh kernel-.src.rpm
三 配置內核(config配置文件)
面介紹何解源碼包並修改配置重新打包源碼
1. 解源碼包並打所補丁BUILD目錄
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec
kernel源碼找:
/usr/src/neoshine/rpmbuild/BUILD/kernel-/linux-. directory
配置內核源碼
1. 進入內核源碼:
cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 復制/boot/config*配置文件源碼目錄,config文件已經配或者其備份kernel配置文件:
cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先檢查kernel配置新增選項:
make oldconfig
4. 定製內核功能關閉initrd支持選項執行圖形化內核配置工具:
make menuconfig
註:generic setup選項找initial RAM system and RAM disk(initramfs and initrd) support 項取消編譯同確保跟文件系統應驅系統所存儲器應驅都已經編譯內核(否則啟系統).
5. .config文件第行改面內容(注意:沒行面編譯報錯)
# i386
6. 拷貝.configSOURCES/:
cp .config ../SOURCES/config-$arch
四 編譯新內核
1. 面始准備編譯新內核包
打SPEC/kernel.spec
vim SPEC/kernel.spec
改變面行內容定製自內核擴展名(fc10類):
%define buildid .
步新內核rpm包程需要編譯內核源碼包
使用面命令新內核源碼包
rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec
參數說明:bb表示編譯二進制包即源碼包without debuginfo 表示沒調試信息
target=`uname -r`表示應前平台內核包
面命令功執行完BUILD/i686目錄新內核安裝包
五 安裝新內核
rpm -ivh kernel-$ver-$arch.rpm
步操作自安裝內核boot目錄安裝應內核模塊/lib/moles/目錄並且新內核應grub引導菜單
修改grub引導菜單格式
title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)
注意處要使用uuid指定跟文件系統(能掛載根區導致內核死機)要再加顯示相關參數(內核支持應設置看黑黑屏幕)
至禁用initrd新內核配置安裝完畢
⑶ 如何從Linux源碼創建RPM或DEB包
在Linux系統操作中,因為某些原因而想要直接從源碼創建安裝的軟體包,下面就如何在Linux系統下從源碼創建RPM或DEB包,以便將來可以更容易的卸載程序。
如果已經從它的源碼運行「make install」安裝了linux程序。想完整移除它將變得真的很麻煩,除非程序的開發者在Makefile里提供了uninstall的目標設置。否則必須在安裝前後比較系統里文件的完整列表,然後手工移除所有在安裝過程中加入的文件。
這時候Checkinstall就可以派上使用。Checkinstall會跟蹤install命令行所創建或修改的所有文件的路徑(例如:「make install」、「make install_moles」等)並建立一個標準的二進制包,讓能用發行版的標准包管理系統安裝或卸載它,(例如Red Hat的yum或者Debian的apt-get命令)。已知它在 Slackware、SuSe、Mandrake 和 Gentoo 上也工作很好,請參考其官方文檔。
在這只集中在紅帽子和Debian為基礎的發行版,並展示怎樣從源碼使用Checkinstall創建一個RPM和DEB軟體包
在linux上安裝Checkinstall
在Debian及其衍生發行版上安裝Checkinstall:
# aptitude install checkinstall
在紅帽子的發行版上安裝Checkinstall,你需要下載一個已經打包好的Checkinstall rpm包(例如:從 http://rpm.pbone.net/找到),不過它已經從Repoforge庫里刪除了。這個包是針對Cent OS6的,不過也可在Cent OS7里工作。
# wget
ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm
一旦checkinstall安裝好,你就可以用下列格式創建一個特定的軟體包
# checkinstall 《install-command》
如果沒有參數,默認安裝命令「make install」將被使用
用Checkinstall創建一個RPM或DEB包
在這個例子里,我們將創建一個htop包,這是一個linux互動式文本模式進程查看器(類似 top)。
首先,讓我們從項目的官方網站下載源代碼,作為一個好的習慣,我們存儲源碼包到/usr/local/src下,並解壓它。
# cd /usr/local/src# wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz# tar xzf htop-1.0.3.tar.gz# cd htop-1.0.3
讓我們看看htop的安裝命令是什麼,以便我們能用Checkinstall命令調用它,如下面所示,htop用「make install」命令安裝。
# 。/configure# make install
因此,要創建一個htop安裝包,我們可以不帶任何參數的調用checkinstall,這將使用「make install」命令創建一個包。在這個過程中, checkinstall命令會問你幾個問題。
簡而言之,如下命令會創建一個htop包:
# 。/configure# checkinstall
「Should I create a default set of package docs?(我會創建一個默認設置的包文件?)」,回答「Y」:
此可以輸入一個包的簡短描述,然後按兩次回車:
輸入一個數字以修改下面的任何值或ENTER繼續:
上面就來Linux系統下使用checkinstall從源碼創建RPM或DEB包的方法。
⑷ Linux系統下用什麼工具做安裝包
【享】linux安裝程序
初者都知道何linux安裝程序面簡單說
Linux系統安裝軟體見兩種:
種軟體源代碼您需要自手編譯種軟體安裝包通用gzip壓縮tar包(綴名.tar.gz)
另種軟體執行程序要安裝種軟體安裝包通RPM包(RedHat Linux Packet ManagerRedHat軟體包管理器)綴名.rpm 用RPM格式打包源代碼、用gzip壓縮執行套裝程序要您理解思路兩種形式安裝包
源代碼編譯安裝
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.gz或tgz或tar.bz2等格式結尾軟體包般都源代碼式發布軟體安裝類軟體首先需要軟體進行解壓:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2
解壓進入解壓目錄:
# cd filename/
於類文檔見安裝步驟:配置、編譯安裝3步其麻煩配置所軟體安裝相關配置都步指定:比軟體安裝位置等
配置:./configure
編譯:make
安裝:make install
卸載:make uninstall 或手刪除
說明:建議解壓先閱讀說明文件(ReadMeInstall)解安裝需求必要需改編譯配置些軟體包源代碼編譯安裝用make uninstall命令進行卸載提供功能則軟體卸載必須手進行由於軟體能文件散安裝系統目錄往往難刪除干凈應該編譯前進行配置指定軟體要安裝目標路徑:./configure --prefix=目錄名使用rm -rf 軟體目錄名命令進行干凈徹底卸載與其安裝式相比需要用戶自編譯安裝難適合於使用Linux已定經驗般推薦初者使用
RPM格式軟體包安裝
RPMRedHat公司發軟體包管理器使用容易RPM形式軟體包進行安裝、升級、卸載、驗證、查詢等操作安裝簡單卸載軟體安裝處目錄文件刪除干凈推薦初者盡能使用RPM形式軟體包軟體包往往特定命令規范名字由文件名+版本號+.rpm組字串例apache-3.1.12-i386.rpmapache-devel-3.1.12-i386.rpm軟體包名稱別apacheapache-devel各支持RPM格式Linux見軟體RPM包網站rpmfind.net找
1.安裝
命令格式:
rpm-i(or--install) options file1.rpm ... fileN.rpm
參數:
file1.rpm...fileN.rpm指要安裝RPM包文件名
詳細選項:
-h(or—hash)安裝輸hash記號;test安裝進行測試並實際安裝;--percent百比形式輸安裝進度;--excludedocs安裝軟體包文檔;--includedocs安裝文檔;--replacepkgs強制重新安裝已經安裝軟體包;--replacefiles替換屬於其軟體包文件;--force忽略軟體包及文檔沖突;--noscripts運行預安裝安裝腳本;--prefix NEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxy HOST用HOST作FTP代理;--ftpport PORT指定FTP埠號PORT
通用選項:
-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文檔FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY
2.刪除
命令格式:
rpm -e(or--erase) options pkg1 ... pkgN
參數:
pkg1...pkgN:要刪除軟體包
詳細選項:
--test執行刪除測試;--noscripts運行預安裝安裝腳本程序;--nodeps檢查依賴性
通用選項:
-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文檔FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY
3.升級
命令格式:
rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
參數:
file1.rpm...fileN.rpm指軟體包名字
詳細選項:
-h(or—hash)安裝輸hash記號;—oldpackage允許舊版本;--test進行升級測試;--excludedocs安裝軟體包文件;--includedocs安裝文件;--replacepkgs強制重新安裝已經安裝軟體包;--replacefiles替換屬於其軟體包文件;--force忽略軟體包及文件沖突;--percent百比形式輸安裝進度;--noscripts運行預安裝安裝腳本;--prefix NEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxy HOST用HOST作FTP代理;--ftpport HOST指定FTP埠號HOST
通用選項:
-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文件FILELIST ;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY
4.查詢
命令格式:
rpm -q(or--query) options
參數:
pkg1...pkgN:查詢已安裝軟體包
詳細選項:
-p PACKAGE_FILE查詢軟體包文件;-f FILE查詢FILE屬於哪軟體包;-a查詢所安裝軟體包;--whatproVides CAPABILITY查詢提供CAPABILITY功能軟體包;-g group查詢屬於group組軟體包;--whatrequires CAPABILITY查詢所需要CAPABILITY功能軟體包
選項:
-i顯示軟體包概要信息;-l顯示軟體包文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟體包文檔列表並顯示每文件狀態-;-scripts顯示安裝、卸載、校驗腳本;--queryformat(or--qf)用戶指定式顯示查詢信息;--mp顯示每文件所已校驗信息;--proVides顯示軟體包提供功能;--requires(or-R)顯示軟體包所需功能
通用選項:
-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;-rcfile FILELIST設置rpmrc文件FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY
5.校驗已安裝軟體包
命令格式:
rpm -V(or--verify,or-y) options
參數:
pkg1...pkgN要校驗軟體包名
軟體包選項:
-p PACKAGE_FILE校驗PACKAGE_FILE所屬軟體包;-a校驗所軟體包;-g group校驗所屬於組group軟體包
詳細選項:
--noscripts運行校驗腳本;--nodeps校驗依賴性;--nofiles校驗文檔屬性
通用選項:
-v顯示附加信息;-vv顯示調試信息;--root PATH讓RPMPATH指定路徑做根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文件FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY
6.校驗軟體包文件
語:
rpm -K(or--checksig) options file1.rpm...fileN.rpm
參數:
file1.rpm...fileN.rpm軟體包文件名;Checksig--詳細選項;--nopgp校驗PGP簽名
通用選項:
-v顯示附加信息;-vv顯示調試信息;--rcfile FILELIST設置rpmrc文件FILELIST
7.其RPM選項
--rebuilddb重建RPM資料庫;--initdb創建新RPM資料庫;--quiet盡能減少輸;--help顯示幫助文件;--version顯示RPM前版本
喜歡字元介面安裝或卸載些軟體包完全安裝基於X-Window圖形介面軟體包管理程序glint, xrpm圖形介面或使用KDEKPackage(單擊【始】→【運行命令】其輸入KPackage即啟KPackage)等軟體包安裝、升級、卸載、驗證查詢通單擊滑鼠輕松完圖所示
需要注意每RPM軟體包格式軟體並定獨立各RPM軟體包間定依賴關系刪除某RPM軟體包能導致別軟體能使用升級刪除應該注意
本載安裝linux發現版本都幾百兆我覺系統都沒款點軟體能用或者說用起問題啊我直覺安裝包越越
⑸ Linux安裝軟體的方法哪種好
根據個人以及系統的實際情況而定,一般RPM包的方法比較簡單。
軟體安裝分幾種情況:
一、源碼安裝:
對於本身具有開源血統的Linux系統來說,幾乎所兆搭叢有的開源軟體都支持在Linux平台運行,而這些軟體一般都以源碼打包形式分發,源碼安裝適用於枝族所有Linux分支,只需要系統安裝了gcc、make、以及automake和autoconf,源碼安裝的一般方法如下:
1、cd 源碼目錄
2、./configure [opts]
3、make
4、make install
其中configure後面的選項一般可以通過./configure --help來查詢,根據自己的喜好使用一些選項。這里正確的工作流程是先看源碼目錄下面的Readme,這里一般會有提示安裝方法,那麼只需要按照描述照辦即可,如果Readme沒有提示(事實上很少),如果其中提及到官網,可以到官網去查閱相關安裝文檔,如果沒有,可以google搜索軟體的安裝方法。
2. rpm包安裝
RPM是RedHat Package Manager(RedHat軟體包管理工具)的縮寫,幾乎在所有的Linux平台上都支持,已經成為行業標准。這里簡單介紹一下包管理器,包管理器提供
對軟體的安裝、升級、查詢以及卸載等,具體差別可以查閱相關文檔。rpm包的安裝非常簡單,只需要輸入rpm -i xxx.rpm 即可完成,卸載只需要rpm -e 包名 即可完成,升級通過rpm -U 包名 命令完成(需要機器聯網),rpm -q 提供相關查詢,這里不詳細說明。如果機器沒聯網,rpm安裝安裝過程很有可能出現錯誤,最常見的就是依賴包缺失,把缺失的依賴包安裝即可;如果在機器聯網的情況下,rpm會自動在互聯網搜索相關依賴包並安裝。
3. deb包安裝
deb是debian及其衍生版本如Ubuntu的安裝包,在這兩個系統的桌面環境下,可雙擊包直接安裝,在命令行下可以通過dpkg-i xxx.deb完成,通過dpkg -r 包名
完成。很多的Linux分支都提供了apt-get包管理系統來對deb軟體包進行支持,apt-get需要機器聯網,通過source.list文件提供的源(下載源)去下載相應族櫻軟體包,通過輸入命令apt-get install 軟體包名 直接安裝軟體,輸入 apt-get remove 軟體包名 卸載對應軟體包,這里不贅述命令,apt-get 包管理器實施對依賴包的管理,所以非常方便。在國內可以找一些速度快的源(更改source.list文件),具體方法可以查閱相關文檔。
4. yum安裝軟體包
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的軟體包管理器,yum也對依賴關系進行管理,必須在聯網條件下進行
(也可以給yum設置代理),使用yum安裝軟體也是本人最常用的方法,在shell命令行下輸入yum install 軟體包名 即可完成安裝,如果依賴包沒安裝,會自動安裝,卸載通過yum remove 包名 即可完成,與apt-get 類似。
⑹ linux如何安裝rpm包
1、點擊文件,點擊文件這里download目錄。或者是rmp包所在的目錄下。
⑺ Linux入門系列——軟體包管理
RedHat 系統中使用的是: rpm (redhat package manager) 現在稱:RPM is Package Manager
Debian : dpt
Ubuntu : apt
在安裝軟體的時候,有可能出現軟體包的相互依賴關系;所以紅帽公司推出了:yum(Yellowdog update modifier)
包的組成部分:
主包:
bind-9.7.1-1..e15.i586.rpm
子包:
bind-libs-9.7.1-1..e15.i586.rpm
bind-utils-9.7.1-1..e15.i586.rpm
包名:
PackageName-Version-Release.Arch.rpm
bind-major-minor-releases-release.arch.rpm
包名-主版本號-次版本號-發行號-rpm包的製作者的發行號.硬體平台.rpm
主版本號:重大改進;
次版本號:某個子功雀或能發生重大變化;
發行號:修改BUG,調整了一點功能;
bind-9.7.1-1.noarch.rpm 這里的noarch表示不區分硬體平台,32和64都可以使用;如果是ppc則是在PowerPc上使用的包;
# rpm -ivh /path/to/Package_Name
-i,--install 表示安裝
-v 表示顯示安裝過程的信息
-h 表示以#顯示安裝的進程,總數為50個;
-vv 顯示更詳細的過程;
--nodeps 安裝的時候忽略依賴關系;
--force 無論之前是否安裝過,都強制安裝,可以實現重裝、降級;
--replacepkgs 重新安裝,替換原有的安裝;
--oldpackage 對軟體包進行降級;
--test Do not install the package, simply check for and report potential conflicts. 不進行安裝,只測試看在安裝的時候有沒有依賴包要裝;
rpm -q soft_name
# rpm -q httpd
rpm -qa 查詢當前系統中已經安裝的rpm軟體包;
# rpm -qa |grep 『ssh*』
rpm -qi soft_name 查詢軟體包的安裝信息:
[root@ns2 rpm]# rpm -qi zlib-devel
Name : zlib-devel Relocations: /usr
Version : 1.2.3 Vendor: CentOS
Release : 4.el5 Build Date: 2011年05月11日 星期三 18時57分15秒
Install Date: 2013年07月21日 星升歲鎮期日 17時02分41秒 Build Host: builder10.centos.org
Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm
Size : 269981 License: BSD
Signature : DSA/SHA1, 2011年09月04日 星期日 03時24分25秒, Key ID a8a447dce8562897
URL : http://www.gzip.org/zlib/
Summary : Zlib 開發的頭文件和庫。
Description :
zlib-devel 軟體包包括開發使用 zlib 壓縮和解縮庫的程序
所需的頭文件和庫。
[root@ns2 rpm]#
rpm -ql soft_name 查看該軟體包在系統中存放了哪些文件;
rpm -qf /path/to/file_name 查看該文件吵粗是由哪個rpm包生成的。
rpm -qc soft_name 查看指定rpm包安裝的配置文件的位置;
rpm -qd soft_name 查看指定rpm包安裝的幫助文件的位置;
rpm -q --scripts soft_name 查看指定rpm包在安裝、卸載、更新的前後,所要執行的shell腳本;
rpm -qp[i|l|d|c|] 即要加上一個「p」選項;
rpm -Uvh /path/to/package_name
如果安裝的指定的軟體包已經安裝過,則進行升級操作,如果沒有安裝過,則就使用指定的這個軟體包進行安裝;
rpm -Fvh /path/to/package_name
如果安裝過,則升級,否則不進行任何操作;
rpm -Fvh --oldpackage package_name 通常用這個來降級一個rpm包;
rpm -e package_name
--nodeps 強制卸載
rpm -V package_name 也可以使用--verify
通常用來檢查安裝後的文件是不是被修改過;
加密演算法:
對稱加密: 加密和解密使用同一個key
非對稱加密:有一對密鑰(公鑰和私鑰),公鑰大家都可以知道,私鑰只有持有人知道;公鑰加密私鑰解,私鑰加密公鑰也可以解。不能由公鑰摧出私鑰,也不能由私鑰摧出公鑰;私鑰還用來做簽名,因為只有私鑰持有人自己才有;
單向加密:使用這種加密演算法加密後,是不可以再還原的。通常用它來做數據完整性的驗證,也就是驗證數據在傳輸的過程中有沒有被別人修改過。
在紅帽的系統中,/etc/pki/rpm-gpg/目錄下面存放了紅帽公司的gpg-key(相當於公鑰),所以只需要把這個gpgkey導入到系統中就可以驗證了。導入方法如下:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
接下來就可以對將要安裝的rpm包進行驗證了:
# rpm -K /path/to/package_file
dsa,gpg驗證來源的合法性,也就是驗證簽名。但是可以使用--nosignature 來跳過簽名驗證;
sha1,md5驗證軟體包的完整性,可以使用--nodigest 來跳過完整性驗證;
rpm --rebuilddb 重建資料庫
--initdb 初始化資料庫
yum install -y pack1 pack2 安裝指定的軟體包
yum remove pack1 pack2 -y 刪除指定的軟體包
yum update pack1 pack2 更新指定的軟體包
yum list installed 列出所有已經安裝的軟體包
yum update 更新源
yum search string 搜索包含string的軟體包
yum install package_name 獲取軟體包信息
# tar zxf nginx-1.4.7.tar.gz -C /usr/src
# configure --prefix=/usr/local/nginx --conf-path=/etc
# make
# make install
由於使用的是源碼包安裝在非正常路徑下。所以還要做以下的調整:
修改/etc/profile文件。或是在/etc/profile.d/下創建一個以.sh結尾的文件;再把二進製程序的路徑export出來就行了;
在/etc/ld.so.conf.d/中創建一個以.conf文件結尾的文件,而後把要增添的路徑直接寫入此文件中就行了;
這樣系統就會在下次啟動的時候,自動載入這些新增加的庫;如果想讓系統馬上可以找到這些新增加的庫,就必須執行下面的命令:
# ldconfig 通知系統重新搜索庫文件,還可以加上-v選項,表示顯示過程;
默認的頭文件搜索路徑是:/usr/include/
要添加新的頭文件搜索路徑,可以使用鏈接的方式:
ln -s /usr/local/nginx/include/* /usr/include/
或
ln -s /usr/local/nginx/include /usr/include/nginx
這時可以修改/etc/man.conf文件,在裡面添加以下內容:
MANPATH /usr/local/nginx/man
還有一種方式就是臨時使用:
# man -M /usr/local/nginx/man nginx 這樣就可以查看nginx的man手冊了;
⑻ Linux 下如何安裝軟體
一、解析Linux應用軟體安裝包
通常Linux應用軟體的安裝包有三種:
1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系統的打包工具tar打包的。
2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一種包封裝格式。
3) dpkg包,如software-1.2.3-1.deb。它是Den Linux提供的一種包封裝格式。
而且,大多數Linux應用軟體包的命名也有一定的規律,它遵循:
名稱-版本-修正版-類型
例如:
1)software-1.2.3-1.tar.gz 意味著:
軟體名稱:software
版本號:1.2.3
修正版本:1
類型:tar.gz,說明是一個tar包。
2)sfotware-1.2.3-1.i386.rpm
軟體名稱:software
版本號:1.2.3
修正版本:1
可用平台:i386,適用於Intel 80x86平台。
類型:rpm,說明是一個rpm包。
註:由於rpm格式的通常是已編譯的程序,所以需指明平台。在後面會詳細說明。
而software-1.2.3-1.deb就不用再說了吧!大家自己練習一下。
二、了解包里的內容
一個Linux應用程序的軟體包中可以包含兩種不同的內容:
1)一種就是可執行文件,也就是解開包後就可以直接運行的。在Windows中所 有的軟體包都是這種類型。安裝完這個程序後,你就可以使用,但你看不到源程序。而且下載時要注意這個軟體是否是你所使用的平台,否則將無法正常安裝。
2)另一種則是源程序,也就解開包後,你還需要使用編譯器將其編譯成為可執行文件。這在Windows系統中是幾乎沒有的,因為Windows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的則常是可執行程序。一般來說,自己動手編譯源程序能夠更具靈活性,但也容易遇到各種問題和困難。而相對來說,下載那些可執行程序包,反而是更容易完成軟體的安裝,當然那樣靈活性就差多了。所以一般一個軟體總會提供多種打包格式的安裝程序的。你可以根據自己的情況來選擇。
三、搞定使用tar打包的應用軟體
1. 安裝:
整個安裝過程可以分為以下幾步:
1)取得應用軟體:通過下載、購買光碟的方法獲得;
2)解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見的gz格式,則可以執行:「tar –xvzf 軟體包名」,就可以一步完成解壓與解包工作。如果不是,則先用解壓軟體,再執行「tar –xvf 解壓後的tar包」進行解包;
3)閱讀附帶的INSTALL文件、README文件;
4)執行「./configure」命令為編譯做好准備;
5)執行「make」命令進行軟體編譯;
6)執行「make install」完成安裝;
7)執行「make clean」刪除安裝時產生的臨時文件。
好了,到此大功告成。我們就可以運行應用程序了。但這時,有的讀者就會問,我怎麼執行呢?這也是一個Linux特色的問題。其實,一般來說,Linux的應用軟體的可執行文件會存放在/usr/local/bin目錄下!不過這並不是「放四海皆準」的真理,最可靠的還是看這個軟體的INSTALL和README文件,一般都會有說明。
2. 卸載:
通常軟體的開發者很少考慮到如何卸載自己的軟體,而tar又僅是完成打包的工作,所以並沒有提供良好的卸載方法。
那麼是不是說就不能夠卸載呢!其實也不是,有兩個軟體能夠解決這個問題,那就是Kinstall和Kife,它們是tar包安裝、卸載的黃金搭檔。它們的使用方法,筆者會另行文介紹。在此就不加贅述了。
四、搞定使用rpm打包的應用軟體
rpm可謂是Redhat公司的一大貢獻,它使Linux的軟體安裝工作變得更加簡單容易。
1. 安裝:
我只需簡單的一句話,就可以說完。執行:
rpm –ivh rpm軟體包名
更高級的,請見下表:
rpm參數 參 數 說 明
-i 安裝軟體
-t 測試安裝,不是真的安裝
-p 顯示安裝進度
-f 忽略任何錯誤
-U 升級安裝
-v 檢測套件是否正確安裝
這些參數可以同時採用。更多的內容可以參考RPM的命令幫助。
2. 卸載:
我同樣只需簡單的一句話,就可以說完。執行:
rpm –e 軟體名
不過要注意的是,後面使用的是軟體名,而不是軟體包名。例如,要安裝software-1.2.3-1.i386.rpm這個包時,應執行:
rpm –ivh software-1.2.3-1.i386.rpm
而當卸載時,則應執行:
rpm –e software。
另外,在Linux中還提供了象GnoRPM、kpackage等圖形化的RPM工具,使得整個過程會更加簡單。這些軟體的具體應用,筆者會另行文介紹。
五、搞定使用deb打包的應用程序
這是Debian Linux提供的一個包管理器,它與RPM十分類似。但由於RPM出現得更早,所以在各種版本的Linux都常見到。而debian的包管理器dpkg則只出現在Debina Linux中,其它Linux版本一般都沒有。我們在此就簡單地說明一下:
1. 安裝
dpkg –i deb軟體包名
如:dpkg –i software-1.2.3-1.deb
2. 卸載
dpkg –e 軟體名
如:dpkg –e software