yum更多用法及源碼編譯安裝apache和當天作業

一、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)中

1.png

第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步:測試(需要更改防火墻設置)

2.png

三、當天作業

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

3GIF.gif

原創文章,作者:苦澀咖啡,如若轉載,請注明出處:http://www.www58058.com/39577

(0)
苦澀咖啡苦澀咖啡
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • 內核編譯之增加ntfs文件系統

    內核編譯 內核編譯 單內核體系設計,但充分借鑒了微內核設計體系的優點,為內核引入模塊化機制。 內核組成部分:     Kernel,內核核心,一般為bzImage,通常在/boot目錄下,名稱為vmlinuz-WERSION- RELEASE;     Kernel object…

    Linux干貨 2016-09-13
  • Linux的哲學思想

    2018-03-03

    Linux干貨 2018-03-03
  • 批量創建用戶(8月1日作業)

    1、創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為"Gentoo Distribution" 2、創建下面的用戶、組和組成員關系 名字為admins的組;  用戶natasha,使用admins作為附屬組;  用戶harry,也使用admins作為附屬組 &nbs…

    Linux干貨 2016-08-04
  • Linux小工具之cheat

    隨著linux學習的深入,接觸到的命令越來越多,此時,考驗腦力的時候就到了,除非你是”腦王”,否則面對多如牛毛的linux命令,真的會崩潰!linux前輩們貌似也被同樣的問題所困擾,所以,他們發明了cheat。cheat是在GNU通用公共許可證下,為Linux命令行用戶發行的交互式備忘單應用程序。它提供顯示Linux命令使用案例,包括該命令所有的選項和簡短但…

    2017-08-10
  • Linux 發展史

    Linux 發展史 一、Linux 系統概述     首先大家需要明白,Linux 只是內核,沒有應用程序,如果想有應用程序就需要GNU 組織來提供應用程序,GNU其實就是一個開源組織,這就要說GNU 和GPL 的概念了,其實GNU可以看作就是軟件行業的共產黨組織 而GPL 就是共產黨宣言 為全人類服務。所以說GNU 和 LIN…

    Linux干貨 2016-10-19
  • CA證書服務搭建與申請

    服務端根CA創建證書 進入固定目錄,創建所需要的文件 cd /etc/pki/CA/ touch /etc/pki/CA/index.txt 生成證書索引數據庫文件 echo 01 > /etc/pki/CA/serial 指定第一個頒發證書的序列號 生成秘鑰 (umask 066;openssl genrsa -out /etc/pki/CA/pri…

    2017-09-11
欧美性久久久久