7、yum學習筆記

Linux的程序包管理:

豐潤網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)公司。

軟件包的組成部分:

二進制程序/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

庫 lib, /usr/lib, /lib64, /usr/lib64, /usr/local/lib, /usr/local/lib64

/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf

配置文件/etc

幫助文件man文件, info文件, README, INSTALL, ChangeLog

man COMMAND

        到某路徑下查找與命令名同名的通常以.gz結尾的壓縮文件的名字

        /usr/share/man/

ldd命令:

查看應用所依賴的共享庫

ldd [options] FILE...

rpm包的使用:

rpm包命名格式:

源程序:name-version.tar.{gz|bz2|xz}

version: major.minor.release

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

release:通常包含rpm的制作發(fā)行號,還包含適用的OS

bash-4.3.2-2.el6.x86_64.rpm

來源合法性驗正:

源程序:通過md5或sha1校驗碼驗正;

rpm包:發(fā)行商提供的合法性是可信的

驗正包完整性:校驗碼

驗正來源合法:公鑰

獲取rpm包的途徑:

1、發(fā)行商的光盤或站點服務器

以CentOS為例: 

    http://mirrors.163.com

    http://mirrors.sohu.com

2、http://rpmfind.net

3、http://rpm.pbone.net

rpm包管理:安裝

# rpm -ivh [install-options]/path/to/rpm_package 安裝軟件包,顯示安裝進度

[install-options]

--test 僅測試,不真正執(zhí)行安裝過程

--nodeps 忽略依賴關系

--replacepkgs 重新安裝

原來的配置文件不會被覆蓋,新安裝的配置文件將會重命名為以.rpmnew為后綴的文件

rpm包管理:卸載

#rpm -e [install-options]package_name 卸載軟件包

[install-options]

--nodeps 忽略依賴關系

rpm包管理:查詢

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

#rpm -q package_name 查詢某單個包是否安裝

#rpm -qi package_name 查詢包的描述信息

#rpm -ql package_name 查詢包安裝之后在當前系統(tǒng)生成文件列表

#rpm -qd package_name 查詢包安裝后生成的幫助文檔

#rpm -qc package_name 查詢包安裝后生成的配置文件

#rpm -qf /path/to/somefile 查詢某文件是哪個包安裝生成的

#rpm -q --scripts package_name 查詢包相關的腳本

腳本有四類:

preinstall 安裝前腳本

postinstall 安裝后腳本

preuninstall         卸載前腳本

postuninstall         卸載后腳本

查詢尚未安裝的rpm包文件的相關信息:

#rpm -pqi /path/to/package_file 查詢包的描述信息

#rpm -pql /path/to/package_file 查詢包安裝之后在當前系統(tǒng)生成文件列表

#rpm -pqd /path/to/package_file 查詢包安裝后生成的幫助文檔

#rpm -pqc /path/to/package_file 查詢包安裝后生成的配置文件

rpm包之升級:

#rpm -Uvh [install-options]/path/to/package_file 升級或安裝

#rpm -Fvh [install-options]/path/to/package_file 升級

[install-options]

--nodeps 忽略依賴關系

--force 強行安裝

rpm包管理:檢查包安裝后生成的文件是否被修改過;

#rpm -V package_name

       S file Size differs

       M Mode differs (includes permissions and file type)

       5 digest (formerly MD5 sum) differs

       D Device major/minor number mismatch

       L readLink(2) path mismatch

       U User ownership differs

       G Group ownership differs

       T mTime differs

       P caPabilities differ

rpm包管理:檢驗來源合法性和軟件包完整性

包完整性:通過單向加密機制(md5|sha1)

來源合法性:通過公鑰加密機制(RSA)

導入制作者的公鑰,CentOS發(fā)行版的公鑰在iso文件中; 

導入命令:rpm --import /path/to/gpg-key-file

#pm -K --nosignature/path/to/package_file只檢查完整性,不檢查來源合法性         #pm -K --nodigest/path/to/package_file不檢查完整性,只檢查來源合法性

#pm -K/path/to/package_file 既檢查完整性,又檢查來源合法性

rpm包管理:數(shù)據(jù)庫重建

數(shù)據(jù)庫:/var/lib/rpm/

#rpm --initdb 初始化,如果事先不存在一個數(shù)據(jù)庫,則新建之;

#rpm --rebuilddb重建,直接重建數(shù)據(jù)庫,會覆蓋原有的庫;

yum客戶端:

1、配置文件:指定各可用的yum倉庫;

2、緩存元數(shù)據(jù):yum會到各可用yum倉庫獲取元數(shù)據(jù),并緩存至本地; 

3、分析元數(shù)據(jù):根據(jù)具體操作請求完成元數(shù)據(jù)分析, 可能包括檢查依賴關系、文件列表等信息;

4、執(zhí)行具體操作:

客戶端配置文件指定對應服務器訪問方式:

ftp   ftp://server/path/to/repo

http  http://server/path/to/repo

nfs   nfs://server/nfs_path

file  file:///path/to/repository

要使用yum管理應用程序,首先得配置其可用的yum倉庫,保存在配置文件中:

/etc/yum.conf

/etc/yum.repos.d/*.repo

配置文件格式:由兩段組成,類似windows的ini配置文件

[main] :主配置段

[repo] :倉庫配置段

配置repo:

[repo_ID]

name=String

baseurl=倉庫的訪問路徑

enabled={1|0}

gpgcheck={1|0}

gpgkey=公鑰文件(可以在本地,也可是服務器端路徑)

cost=定義此倉庫開銷,默認為1000

[base]

name=CentOS 6.5 X86_64 relase 

baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.5-x86_64/

enabled=1

gpgcheck=1

gpgkey=http://172.16.0.1/cobbler/ks_mirror/centos-6.5-x86_64/RPM-GPG-KEY-CentOS-6

yum的各命令:

# yum repolist 列出所有可用yum repo

# yumclean all 清理緩存

# yum list [all|installed|available]         列出[所有的安裝包|已安裝包|可安裝包]

# yum info package_name 列出包的描述信息

# yum whatprovides|provides /path/to/somefile查詢某文件是由哪個包安裝生成的 

# yum install package_name 安裝指定的程序包

# yum reinstall package_name 重新安裝指定的程序包

# yum erase package_name 卸載指定的程序包

                                           

# yum check-update 檢查可升級的包

# yum update package_name 升級指定的程序包

# yum downgrade package_name 降級指定的程序包

                                           

# yum grouplist 列出所有包組

# yum groupinfo "group_name" 顯示包組信息

# yum groupinstall "group_name" 安裝指定的包組

# yum groupremove "group_name" 卸載指定的包組

如果系統(tǒng)為CentOS 5,常用的開發(fā)包組為“Development Tools”和“Development Libraries”

如果系統(tǒng)為CentOS 6,常用的開發(fā)包組為“Development Tools”和“Server Platform Development”

安裝本地包:

# yuminstall /path/to/package_file

手動禁止檢查來源及完整性:--nogpgcheck

# yum --nogpgcheck install /tmp/zsh-2.3.1-2.el6.x86_64.rpm 

練習:安裝相關的包組,確保如下命令可執(zhí)行

# gcc --version

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

#yum -y groupinstall "Development tools" "Server Platform Development"

yum repository: 文件服務器

repodata/:

repomd.xml: 

測試實現(xiàn)yum repository的配置:

1、準備文件服務器;使用httpd為例,請事先確保已經安裝httpd程序包;

2、在/var/www/html目錄,使用一個目錄來保存準備制作成為yum倉庫的所有rpm包;

# cd /var/www/html

# lftp 172.16.0.1/pub/Sources/6.x86_64

# lftp: > mirror openstack

# bye

3、創(chuàng)建yum倉庫

# rm -rf /var/www/html/openstack/repodata

# createrepo /var/www/html/openstack

4、啟動httpd服務

# service httpd start

5、配置使用自建的yum倉庫

[openstack]

name=Openstack Repository

baseurl=http://172.16.100.7/openstack/

enabled=1

gpgcheck=0

6、配置好epel的yum源

7、測試使用

# yum install openstack-keystone

程序包管理之編譯安裝:

源程序:

項目工程:把代碼分散于多個源代碼文件

GNU/make

autoconf: configure腳本 

檢查編譯環(huán)境是否編譯需求,并定義當前程序編譯時啟用哪個特性或功能,以及安裝路徑的定義等等;

結果:會根據(jù)Makefile.in文件生成makefile文件

automake: Makefile.in文件

用于結合configure腳本生成makefile文件

makefile文件是make命令的配置文件

編譯安裝的步驟:

1、拿到源代碼,并解壓:

# tar xf package-version.tar.{gz|bz2|xz}

注意:展開后的目錄名通常為package-version

2、切換至源碼目錄中

# cd package-version

3、執(zhí)行configure腳本

# ./configure

4、編譯

# make

5、安裝

# make install

configure腳本的通用功能:

我們需要定義的配置:

1、指定安裝路徑:

--prefix=/usr/local/package_name

--sysconfdir=/etc/package_name

2、指定啟用/禁用的特性:

--enable-feature: 例如--enable-fpm

--disable-feature: 例如 --disable-socket

3、指定所依賴功能、程序或文件

--with-function:啟用某功能

--without-function:禁用某功能

不同的程序,其configure腳本功能不同,要獲取幫助:

./configure --help

練習:

1、編譯安裝nginx, 并啟動之;

2、編譯安裝axel,并試用之;

3、編譯安裝httpd,并啟動之;

/usr/local/apache/bin

二進制程序:

# vim /etc/profile.d/apache.sh

PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH

export PATH

頭文件輸出給系統(tǒng):

# ln -sv /usr/local/apache/include /usr/include/httpd

庫文件輸出:

# vim /etc/ld.so.conf.d/httpd.conf

/usr/local/apache/lib

讓系統(tǒng)重新生成庫文件路徑緩存

# ldconfig

導出man文件:

# vim /etc/man.config

MANPATH /usr/local/apache/man

分享標題:7、yum學習筆記
鏈接URL:http://muchs.cn/article4/ipgeoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、Google、軟件開發(fā)、搜索引擎優(yōu)化靜態(tài)網(wǎng)站、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站