Linux软件包安装--三魔鬼

第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
Linux软件包安装--三魔鬼
寻找合适的yum源
Linux软件包安装--三魔鬼
然后把上面的命令复制一下放到服务器上下载下来。
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

猜你喜欢

转载自blog.51cto.com/13447608/2152283