一、yum的更多用法
上篇文章介紹了yum的基礎用法及yum源的基本配置,除此之外yum還有更多的用法,以下將繼續介紹yum的使用方法。
1、yum-config-manager工具,該工具可以自動生成yum的repo文件,而不需要手動創建編寫,使用方法如下:
用法:yum-config-manager [options] [section]
-add-repo:添加倉庫
# 添加一個阿里云的yum倉庫 yum-config-manager -add-repo=http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/
–enable:啟用某個倉庫
–disable:禁用某個倉庫
#禁用名為base的倉庫 [root@liang yum.repos.d]# yum-config-manager --disable base #啟用名為base的倉庫 [root@liang yum.repos.d]# yum-config-manager --enable base
2、包組管理,有些程序的安裝包不止一個,而是一組程序包,這時可以使用包組的相關命令。yum工具從3.4.2版本之后包組管理命令分開為兩個,比如groups list、groups install,3.4.2之前版本的組管理命令是一個,比如grouplist、groupinstall。以下將以3.4.2之后版本為例介紹。
groups list:顯示組包名稱
[root@fengl bin]# yum groups list
groups install:安裝組包
#安裝名為"Basic Web Server"的組包 [root@fengl bin]# yum groups install "Basic Web Server"
groups remove:移除組包
#移除名為"Basic Web Server"的組包 [root@fengl bin]# yum groups remove "Basic Web Server"
groups info:顯示組包信息,“+”表示要安裝的包,“=”表示已安裝的包
#顯示名為"Basic Web Server"組包的詳細信息 [root@fengl bin]# yum groups info "Basic Web Server"
groups update:更新包組
#更新名為"Basic Web Server"的組包 [root@fengl bin]# yum groups update "Basic Web Server"
在CentOS7中,包組的命令有多種方式,比如groups info ,也可以寫成group info或者groupinfo
3、yum的repo配置文件中也可以使用變量,在有些復雜的環境中使用變量能夠大大減少配置量。
$releasever:當前OS的發行版的版本號,例如CentOS6.6 x86_64,其主版本為6
$basearch:平臺,如 i386,i486,i586,x86_64等
$YUM0-$YUM9:自定義變量
例如:baseurl=http://repo.magedu.com/centos/$releasever/$basearch 且當前系統版本為CentOS6.6 x86_64,則baseurl表示的路徑為: http://repo.magedu.com/centos/6/x86_64
4、本地創建yum倉庫,有時需要自己建立一個yum倉庫,即需要創建repodata目錄及其相關yum的索引xml文件等,創建時使用的命令為:createropo,用法如下:
用法:createrepo [options] <directory>
一般情況下直接使用createrepo命令加目錄即可,比如我的rpm包程序都放在/test目錄下,可以直接使用creatrepo命令創建yum倉庫
#為/test目錄下的rpm包創建倉庫 [root@fengl testdir]# createrepo /test/ #創建完之后可以在/test目錄下看到repodata目錄,里面存放有相關的倉庫信息 [root@fengl repodata]# ls 01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz 5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz 7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz repomd.xml
如果/test目錄下的rpm包有增加、刪除或更新等變動時,需要更新源數據信息時,可以使用–update選項
[root@fengl /]# createrepo --update /test
二、源碼編譯安裝
1、源碼編譯安裝主要分為3個步驟:
(1)運行configure腳本,可以動過該腳本指定以下信息
–prefix:指定默認安裝路徑
–sysconfdir:指定配置文件安裝路徑
–with-CAPABILITY:依賴的程序包
–enable-FEATURE:啟用某個特性
–disable-FEATURE:禁用某個特性
(2)運行make命令,完成項目構建,即根據makefile文件,構建引用程序
(3)運行make install命令,完成安裝,即復制文件到相應的路徑
2、源碼安裝apache示例
第1步:先yum安裝develpment tools
第2步:下載apache源碼程序包,并解壓
[root@fengl test]# tar -jxvf httpd-2.2.29.tar.bz2
第3步:進入解壓后的程序包目錄下,查看configure文件,并運行,指定安裝路徑等
[root@fengl httpd-2.2.29]# ./configure --prefix=/usr/local/http2 --sysconfdir=/etc/http2/
第4步:執行make命令,完成項目構建
[root@fengl httpd-2.2.29]# make
第5步:執行make install,完成安裝,安裝完成后會在指定么目錄下生成相應的文件
[root@fengl httpd-2.2.29]# make install # /etc/http2下的文件 [root@fengl http2]# ll total 92 drwxr-xr-x. 2 root root 4096 Aug 24 23:01 extra -rw-r--r--. 1 root root 13702 Aug 24 23:01 httpd.conf -rw-r--r--. 1 root root 12958 Aug 24 23:01 magic -rw-r--r--. 1 root root 53011 Aug 24 23:01 mime.types drwxr-xr-x. 3 root root 4096 Aug 24 23:01 original # /usr/local/http2下的文件 [root@fengl http2]# ll total 56 drwxr-xr-x. 2 root root 4096 Aug 24 23:01 bin drwxr-xr-x. 2 root root 4096 Aug 24 23:01 build drwxr-xr-x. 2 root root 4096 Aug 24 23:01 cgi-bin drwxr-xr-x. 3 root root 4096 Aug 24 23:01 error drwxr-xr-x. 2 root root 4096 Aug 23 2014 htdocs drwxr-xr-x. 3 root root 4096 Aug 24 23:01 icons drwxr-xr-x. 2 root root 4096 Aug 24 23:01 include drwxr-xr-x. 3 root root 4096 Aug 24 23:01 lib drwxr-xr-x. 2 root root 4096 Aug 24 23:01 logs drwxr-xr-x. 4 root root 4096 Aug 24 23:01 man drwxr-xr-x. 14 root root 12288 Aug 23 2014 manual drwxr-xr-x. 2 root root 4096 Aug 24 23:01 modules
第6步:將apache的man幫助文件添加到man的配置文件(/etc/man_db.conf)中
第7步:將apache服務中的/bin目錄下的可執行命令添加到PATH變量中
#在/etc/profile.d/目錄下創建http2.sh文件,并添加PATH變量 [root@fengl profile.d]# vim /etc/profile.d/http2.sh #查看添加的PATH變量 [root@fengl profile.d]# cat /etc/profile.d/http2.sh PATH=$PATH:/usr/local/http2/bin #加載剛添加的變量 [root@fengl profile.d]# . http2.sh #查看是否加載 [root@fengl profile.d]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/http2/bin
第8步:啟動apache服務
[root@fengl bin]# apachectl start
第9步:測試(需要更改防火墻設置)
三、當天作業
1、輸入若干個數值存入數組中,采用冒泡算法進行升序或降序排序
[root@fengl bin]# cat sz.sh #!/bin/bash declare -a arr until echo ${arr[*]} | grep -E "^[[:digit:]' ']+$" &> /dev/null; do read -p "請輸入一組數字,每個數字以空格隔開:" -a arr done up () { local i=$[`echo ${#arr[*]}`-1] while [ $i -ge 0 ] ; do local n=$[i-1] while [ $n -ge 0 ] ; do if [[ ${arr[$i]} -lt ${arr[$n]} ]] ;then local x=${arr[$i]} local y=${arr[$n]} arr[$i]=$y arr[$n]=$x fi let n-- done let i-- done echo ${arr[*]} } down () { local i=$[`echo ${#arr[*]}`-1] while [ $i -ge 0 ] ; do local n=$[i-1] while [ $n -ge 0 ] ; do if [[ ${arr[$i]} -gt ${arr[$n]} ]] ;then local x=${arr[$i]} local y=${arr[$n]} arr[$i]=$y arr[$n]=$x fi let n-- done let i-- done echo ${arr[*]} } echo "升序排列為:" up echo "降序排列為:" down
原創文章,作者:苦澀咖啡,如若轉載,請注明出處:http://www.www58058.com/39577