1. 程式人生 > >一些小知識

一些小知識

release 處理 sta find dnf 包名 pkg org linux

version:major.minor.release

rpm包命名格式:

name-version-release.arch.rpm

release後也會跟os,release.os

arch:archetecture的縮寫,如i386表示32位的,x64(或者叫amd64,註意可不是適用於amd處理器的64)表示64位的,noarch是所有平臺通用的。

例子:

redis-3.0.2-1.el7.x64.rpm

redis對應name,3.0.2對應version,1對應release,el7表示centos7對應os,x86對應arch

其中rpm包還可以分為主包,支包。主包是最基本的包,支包是一些支持其他功能的包,比如

因為linux都是開源的,所以他的軟件也會有對應的開發包,方便開發人員對這個軟件進行二次研發

但是這對於只是用這個軟件的人來說就沒什麽用了,開發工具包的包名叫做devel

主包:name-version-release.arch.rpm

支包:name-function-version-release.arch.rpm

function:devel,untils,libs,...

rpm包存在依賴關系:

X,Y,Z

x--y,z

y---a,b,c

c ---y

以上存在循環依賴,比如安裝a之前要先安裝b,安裝b之前要安裝c,安裝c之前要先安裝a

為了解決這種循環依賴的問題,就會有很多安裝工具,能自動解決依賴關系:

yum:centos上的rpm包管理器

apt-get:ubuntu

zypper:suse

dnf:fedora 22+

程序包管理器:將編譯好的應用程序的各組成文件盜寶成一個或幾個程序包文件,從而更方便的實現程序包的安裝,升級,卸載,查詢等管理操作

程序包管理器的數據庫:這個數據庫裏面有安裝的程序包的名稱,版本,依賴關系,功能說明,等等,在/var/lib/rpm。

獲取程序包的途徑:

1,系統發型版的光盤,或官方文件服務器,或鏡像站點,有名的鏡像站點有aliyun,sohu,1632:

http://mirrors.aliyun.com

2,各種軟件的官方站點

3,第三方組織:

epel(這個是紅帽社區比較權威的組織,他們收錄的很多軟件的rpm包,比如有些軟件,官方沒有收錄,但是會被epel收購,而aliyun等鏡像站點也會包含epel的鏡像)

搜索rmp包的網站:pkgs.org,rpmfind.net , rpm.pbone.net

rpm命令:

安裝:-i,--install

升級:-U,--update

卸載:-e,--erase

查詢:-q,--query

校驗:-V

數據庫維護:

一些小知識