1. 程式人生 > >Linux軟件包安裝--三魔鬼

Linux軟件包安裝--三魔鬼

credit 防火墻 4.3 安靜 htm 客戶端 sig shadow 第2章

第1章 yum

1.1 命令說明

yum是基於rpm的軟件包管理器,他可以使系統管理人員交互和自動化地更細與管理rpm包,他能自動從服務器下載RPM包並安裝,他可以自動處理依賴關系,自動安裝所有需要的軟件包

1.2 命令格式

yum [options] 參數

1.3 命令選項

1.3.1 -y 對所有的交互都提示“yes”
1.3.2 -q 安靜模式,不輸出安裝過程
1.3.3 install 安裝指定的軟件包
1.3.4 remove 卸載指定的安裝包
1.3.5 update 更新指定的rpm包
1.3.5.1 makecache 生成本地緩存
1.3.6 clean all 清除所有yum的過期的緩存

1.3.7 localinstall 安裝本地的rpm包(如果有依賴關系也會自動解決)
1.3.8 list 顯示list列表
1.3.9 grouplist 顯示可用的軟件包組
1.3.10 groupinstall 安裝軟件包組
1.3.11 groupupdate 更新軟件包組
1.3.12 groupremove 刪除軟件包組

1.4 本地的yum源,和網絡的yum源

1.4.1 本地的yum源

搭建本地的yum源的時候我們需要用到鏡像文件,一個鏡像文件3.7個G裏面裝的全是rpm包
搭建本地yum源的第一步就是掛載光盤
mount /dev/cdrom /mnt 臨時掛載
echo " mount /dev/cdrom /mnt " >>/etc/rc.local 寫到開機自啟動的文件裏面,達到永久掛載的效果,方便我們以後使用

然後進入到/ect/yum.repos.d/目錄下,刪除這個目錄下的其他文件(不建議),或剪切走。
然後開始寫一個 XXXX.repo 文件,這個文件必須以.repo結尾

[root@oldboy_50 yum.repos.d]# cat >>Centos.repo<<EOF
> [Centos_local_yum]
> name=Centos_local_install
> baseurl=file:///mnt
> enabled=1
> gpgcheck=0
> EOF
第一行:本地倉庫的說明信息
第二行:本地倉庫的名稱
第三行:通過哪種方式來確定yum源的地址
        file://  本地文件
        http://  通過http協議訪問
        ftp://   通過ftp訪問,集群定制軟件倉庫最常用的方法
第四行:是否啟動這個源,0表示不啟用,1表示啟用
第五行:是否檢測,我們基本上都選擇0,不檢測
然後便可以使用了

1.4.2 搭建網絡yum源

前提準備:服務器必須能通過域名上網,環境準備完成開始操作
尋找一個國內的yum源-阿裏的yum源:https://opsx.alibaba.com/mirror
技術分享圖片
尋找合適的yum源
技術分享圖片
然後把上面的命令復制一下放到服務器上下載下來。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
sed -i ‘s#$releasever#6.9#gp‘ CentOS-Base.repo 把裏面的版本型號替換成你當前的系統版本
yum clean all 先清空以前的本地緩存
yum makecache 生成本地緩存
能正常使用

1.4.3 制定本地yum倉庫

工作場景:在實際的工作環境中,我們的集群服務器有好多是不能直接訪問外網的,我們安裝軟件的時候不可能在每臺服務器上都掛載一個光盤(費時又費力),這個時候我們就需要找一臺服務來充當本地的yum源服務器。來定制我們自己需要軟件倉庫。有什麽需要安裝的軟件,我們直接放到這臺服務器上,因為在內網,所以網絡傳輸速度快,實現了高速,高效率的安裝。
我們今天就通過ftp的方式來搭建本地的yum倉庫
1)安裝vsftp服務,

yum -y install vsftpd

2)安裝指定yum倉庫必要的軟件包createrepo.noarch

yum -y install createrepo.noarch   生成yum索引的時候需要

3)在/vat/ftp目錄下創建Packet目錄

mdkir -p /var/ftp/Packet
然後把我們定制需要的rpm包上傳至這個裏面。

4)然後執行命令生成yum索引列表

cd /var/ftp/ ; createrepo ./

5)關閉防火墻或放行FTP端口

關閉的命令 /etc/init.d/iptables stop  最好執行兩次以上
放行端口的命令 iptables -I INPUT -p tcp --dprot 21 -j ACCEPT
                 iptables -I INPUT -p tcp --dprot 20 -j ACCEPT

6)然後到客戶端裏面配置,只需要把baseurl更改一下就行

[root@oldboy_50 yum.repos.d]# cat >>Centos.repo<<EOF
> [Centos_local_yum]
> name=Centos_local_install
> baseurl=ftp://yum_server_IP/Packet
> enabled=1
> gpgcheck=0
> EOF

第2章 rpm軟件包管理工具

2.1 命令說明

RPM原本是Red Hat Linux 發行版專門用來管理LInux各項套件的程序,由於他遵循GPL規則且功能強大方便,因此廣受歡迎。yum相當於他的升級版本,它不能自動解決依賴關系,需要自己手動的解決依賴關系,比較麻煩。

2.2 命令格式
rpm [options] 參數
2.3 命令選項
2.3.1 -i (install) 安裝軟件包
2.3.2 -v 顯示安裝過程
2.3.3 -h 用#號代表進度
安裝rsync軟件包
rpm -ivh rsync-3.0.6-12.el6.x86_64.rpm
2.3.4 -q 詢問模式,碰到問題rpm指令會先詢問用戶
2.3.5 -l 列出軟件包安裝生成的所有文件位置

[root@oldboy_50 Packages]# rpm -ql openssh-5.3p1-122.el6.x86_64
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ssh-keysign
/usr/share/doc/openssh-5.3p1
/usr/share/doc/openssh-5.3p1/CREDITS
/usr/share/doc/openssh-5.3p1/ChangeLog
/usr/share/doc/openssh-5.3p1/INSTALL
/usr/share/doc/openssh-5.3p1/LICENCE
/usr/share/doc/openssh-5.3p1/OVERVIEW
/usr/share/doc/openssh-5.3p1/PROTOCOL
/usr/share/doc/openssh-5.3p1/PROTOCOL.agent
/usr/share/doc/openssh-5.3p1/PROTOCOL.certkeys
/usr/share/doc/openssh-5.3p1/README
/usr/share/doc/openssh-5.3p1/README.dns
/usr/share/doc/openssh-5.3p1/README.nss
/usr/share/doc/openssh-5.3p1/README.platform
/usr/share/doc/openssh-5.3p1/README.privsep
/usr/share/doc/openssh-5.3p1/README.smartcard
/usr/share/doc/openssh-5.3p1/README.tun
/usr/share/doc/openssh-5.3p1/TODO
/usr/share/doc/openssh-5.3p1/WARNING.RNG
/usr/share/man/man1/ssh-keygen.1.gz
/usr/share/man/man8/ssh-keysign.8.gz

2.3.6 -a 查詢所有安裝的軟件包,配合grep使用,查詢軟件包是否安裝

[root@oldboy_50 Packages]# rpm -qa | grep ssh
openssh-clients-5.3p1-122.el6.x86_64
openssh-5.3p1-122.el6.x86_64
openssh-server-5.3p1-122.el6.x86_64
libssh2-1.4.2-2.el6_7.1.x86_64

2.3.7 -c 查詢跟指定軟件包相關的配置,服務進程的文件

[root@oldboy_50 Packages]# rpm -qc openssh-server-5.3p1-122.el6.x86_64
/etc/pam.d/ssh-keycat
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

2.3.8 -f 通過文件,查詢屬於哪個rpm包

[root@oldboy_50 Packages]# rpm -qf `which ssh-keygen` 
openssh-5.3p1-122.el6.x86_64

2.3.9 -i 查詢軟件包的版本信息,說明信息

[root@oldboy_50 Packages]# rpm -qi openssh-5.3p1-122.el6.x86_64
Name        : openssh                      Relocations: (not relocatable)
Version     : 5.3p1                             Vendor: CentOS
Release     : 122.el6                       Build Date: Wed 22 Mar 2017 04:33:21 AM EDT
Install Date: Tue 10 Jul 2018 11:13:19 AM EDT      Build Host: c1bm.rdu2.centos.org
Group       : Applications/Internet         Source RPM: openssh-5.3p1-122.el6.src.rpm
Size        : 787618                           License: BSD
Signature   : RSA/SHA1, Thu 23 Mar 2017 10:58:59 AM EDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.openssh.com/portable.html
Summary     : An open source implementation of SSH protocol versions 1 and 2
Description :
SSH (Secure SHell) is a program for logging into and executing

2.3.10 -e 卸載指定的軟件包
[root@oldboy_50 Packages]# rpm -e openssh-5.3p1-122.el6.x86_64

第3章 編譯安裝

3.1 編譯安裝的三部曲:./configure ----->make----------->make install

Linux軟件包安裝--三魔鬼