linux 軟件包管理

1、Linux軟件包管理

Redhat, SUSE: RPM

Redhat Package Manager

PRM is Package Manager

前端工具:yum, apt-get

后端工具:RPM, dpt

 

2、rpm:

數據庫:/var/lib/rpm 

rpm包: 軟件包作者下載源程序,編譯配置完成后,制作成rpm包

格式:name-VERSION-release.arch.rpm

例:httpd-2.4.6-40.el7.centos.x86_64.rpm

VERSION: major.minor.release

release:release.OS

主版本號:較大改變

次版本號:某個子功能發生變化

發行號:修正了部分bug,調整了一點功能

 

3、rpm:安裝、卸載、升級、查詢

 

安裝

rpm -i /PATH/TO/PACKAGE_FILE

-h: 以#顯示進度

-v: 顯示詳細過程

rpm -ivh /PATH/TO/PACKAGE_FILE 一般安裝參數

–nodeps: 忽略依賴關系;

–replacepkgs: 重新安裝,替換原有安裝;

–force: 強行安裝,可以實現重裝或降級;

查詢

rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝

rpm -qa : 查詢已經安裝的所有包

rpm -qi PACKAGE_NAME: 查詢指定包的說明信息;

rpm -ql PACKAGE_NAME: 查詢指定包安裝后生成的文件列表;

rpm -qf /path/to/somefile: 查詢指定的文件是由哪個rpm包安裝生成的;

 

如果某rpm包尚未安裝,我們需查詢其說明信息、安裝以后會生成的文件;

rpm -qpi /PATH/TO/PACKAGE_FILE

rpm -qpl

 

升級

rpm -Uvh NEW_PACKAGE: 如果裝有老版本的,則升級;否則,則安裝;

 

!不要對內核做升級操作;Linux支持多內核版本并存,因此,對直接安裝新版本內核

!如果原程序包的配置文件安裝后曾被修改,升級時,新版本的提供的同一個配置文件并不會直接覆蓋老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

 

卸載

rpm -e PACKAGE_NAME

–nodeps

校驗

rpm -V PACKAGE_NAME

重建數據庫

rpm

–rebuilddb: 重建已安裝的包頭的數據庫索引目錄;

–initdb:初始化數據庫,沒有才建立,有就不用建立;

 

3、Yum 基于C/S的結構,可以解決軟件包的依賴關系

yum倉庫中的元數據文件: repodate  軟件的依賴關系等

Yum倉庫的校驗key:RPM-GPG-KEY-CentOS-x  使用建議導入key值

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-x

 

Yum的repo文件配置

[Repo_ID]

name=Description

baseurl=      配置倉庫類型  !!路徑為repodate的父目錄

ftp://    ftp服務器路徑

http://

file:///  本地鏡像掛載點

enabled={1|0}  啟用禁用

gpgcheck={1|0}

gpgkey=

 

Yum list all: 列表 支持glob

clean: 清理緩存

[ packages | headers | metadata | dbcache | all ]

更換yum源,要執行yum clean all 清理緩存

 

repolist: 顯示repo列表及其簡要信息yum源開啟狀態 默認enabled

 

使用yum安裝軟件

yum [options] [command] [package …]   yum安裝軟件

-y: 自動回答為yes

–nogpgcheck

yum install/remove/updatePACKAGE_NAME

 

5、編譯安裝

前提:準備編譯環境

yum groups install “Development Tools”

# tar xxx.gz…

# cd

# ./configure  

–help   支持安裝選項和模塊

–prefix=/path

功能:1、讓用戶選定編譯特性;2、檢查編譯環境;

# make

# make install

ag:

# tar xf httpd-2.4.27.tar.bz2

# cd httpd-2.4.27

# ./configure

# make && make install

 

1、修改PATH環境變量,以能夠識別此程序的二進制文件路徑;

修改/etc/profile文件

/etc/profile.d/目錄建立一個以.sh為名稱后綴的文件,在里面定義export PATH=$PATH:/path/to/somewhere

2、默認情況下,系統搜索庫文件的路徑/lib, /usr/lib; 要增添額外搜尋路徑:

/etc/ld.so.conf.d/中創建以.conf為后綴名的文件,而后把要增添的路徑直接寫至此文件中;

# ldconfig 通知系統重新搜尋庫文件

-v: 顯示重新搜尋庫的過程

3、頭文件:輸出給系統

默認:/usr/include

增添頭文件搜尋路徑,使用鏈接進行:

/usr/local/tengine/include/   /usr/include/

兩種方式:

ln -s /usr/local/tengine/include/* /usr/include/ 或

ln -s /usr/local/tengine/include  /usr/include/tengine

4、man文件路徑:安裝在–prefix指定的目錄下的man目錄;/usr/share/man

1、man -M /PATH/TO/MAN_DIR COMMAND

2、在/etc/man.config中添加一條MANPATH

原創文章,作者:cui,如若轉載,請注明出處:http://www.www58058.com/84113

(0)
cuicui
上一篇 2017-08-06
下一篇 2017-08-07

相關推薦

  • bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示

    1)bash的工作特性之命令執行狀態返回值; 在 Linux 下,任意一個命令執行結束之后,bash都會返回0-255之間的數值以表示命令執行成功與否;其返回值保存于bash的特殊變量$?中; 其中0表示:執行成功;1-255表示執行錯誤; 例如: [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks…

    Linux干貨 2016-11-06
  • 文件查找locate和find

    locate 查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db 依賴于事先構建的索引 索引的構建是在系統較為空閑時自動進行(周期性任務),管理員手動更新數據庫(updatedb) 索引構建過程需要遍歷整個根文件系統,極消耗資源 工作特點: ?查找速度快 ?模糊查找 ?非實時查找 ?搜索的是文件的全路徑,不僅僅是文件名 ?…

    2017-08-11
  • Linux 文件管理常用基本命令

    馬哥教育網絡班21期+第二周練習 目錄管理 ls (list):列出目錄及內容 ls [OPTION]… [FILE]…     -l:長格式顯示文件的詳細屬性信息         -rwxr-xr-x.&nbs…

    Linux干貨 2016-07-17
  • Linux防火墻之基本原理

    本系列文章主要講述Linux防火墻的基本原理和基礎使用方法: 1.什么是防火墻: 當我們把計算機連入互聯網與其他計算機進行通信時,這無疑也將自己的信息暴露了,那就意味著可能會有一些心懷不軌的人會利用這些信息來攻擊自己的主機,尤其是作為一臺服務器向互聯網用戶提供服務時,就迫切需要一種隔離和保護機制,來隔離外部網絡,達到保護自我的目的。而這種隔離機制就叫做防火墻…

    Linux干貨 2016-12-27
  • 文件系統和交換分區詳解

    管理文件系統: windows: FAT32– 只能存儲信息,無法設置文件權限. exFAT FAT64 NTFS IS09660 Linux: ext ext2 ext3 ext4 xfs btrfs reiserfs jfs swap unix: FFS UFS JFS2 網絡文件系統: NFS CIFS 集群文件系統: GFS2 OCFS2…

    Linux干貨 2017-04-23
欧美性久久久久