软件管理
一、软件安装包类型
1、常见软件安装包格式
源码软件 .tar.gz, .tar.bz2
灵活
rpm软件 .rpm
2、rpm软件安装包的格式
1、 通过光盘获取rpm软件安装包
[root@node01 ~]# mount /dev/sr0 /mnt/
[root@node01 ~]# ls /mnt/Packages/
2、互联网
https://pkgs.org/
http://rpmfind.net
rpm软件安装包格式:
yelp-libs-3.22.0-1.el7.x86_64.rpm
软件名称-版本-系统平台.rpm
系统平台:
x86_64 64位系统
i686 32位系统
noarch 无架构
二、rpm软件管理软件----rpm工具
两个管理工具:
rpm
yum/dnf
1、安装软件
# rpm -ivh 软件安装包名称
1) 安装dhcp软件
[root@node01 ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm
warning: /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:dhcp-12:4.2.5-58.el7.centos ################################# [100%]
2) 安装httpd软件
[root@node01 ~]# rpm -ivh /mnt/Packages/httpd-2.4.6-67.el7.centos.x86_64.rpm
warning: /mnt/Packages/httpd-2.4.6-67.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
/etc/mime.types is needed by httpd-2.4.6-67.el7.centos.x86_64
httpd-tools = 2.4.6-67.el7.centos is needed by httpd-2.4.6-67.el7.centos.x86_64
--nodeps 强制忽略依赖关系
[root@node01 ~]# rpm -ivh --nodeps /mnt/Packages/httpd-2.4.6-67.el7.centos.x86_64.rpm
warning: /mnt/Packages/httpd-2.4.6-67.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:httpd-2.4.6-67.el7.centos ################################# [100%]
2、查看软件是否安装
# rpm -q 软件名称
[root@node01 ~]# rpm -q dhcp
dhcp-4.2.5-58.el7.centos.x86_64
[root@node01 ~]# rpm -q php
package php is not installed
[root@node01 ~]# rpm -qa | grep vim
vim-common-7.4.160-2.el7.x86_64
vim-enhanced-7.4.160-2.el7.x86_64
vim-filesystem-7.4.160-2.el7.x86_64
vim-minimal-7.4.160-2.el7.x86_64
3、查询软件生成的文件
[root@node01 ~]# rpm -ql dhcp
[root@node01 ~]# rpm -ql httpd
4、查询文件由哪个软件生成
[root@node01 ~]# which vim
/usr/bin/vim
[root@node01 ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
[root@node01 ~]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64
5、卸载软件
# rpm -e 软件名称
[root@node01 ~]# rpm -q dhcp
dhcp-4.2.5-58.el7.centos.x86_64
[root@node01 ~]#
[root@node01 ~]# rpm -e dhcp
[root@node01 ~]#
[root@node01 ~]# rpm -q dhcp
package dhcp is not installed
6、更新软件
# rpm -Uvh 软件安装包名称
[root@node01 ~]# wget http://rpmfind.net/linux/centos/7.9.2009/updates/x86_64/Packages/httpd-2.4.6-97.el7.centos.x86_64.rpm
[root@node01 ~]# rpm -Uvh --nodeps httpd-2.4.6-97.el7.centos.x86_64.rpm
warning: httpd-2.4.6-97.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:httpd-2.4.6-97.el7.centos ################################# [ 50%]
Cleaning up / removing...
2:httpd-2.4.6-67.el7.centos ################################# [100%]
三、管理rpm软件 yum工具
优势: 自动解决软件的依赖关系
前提:
事先配置存在正确的yum仓库/源
/etc/yum.repos.d/*.repo
yum仓库类型:
1、本地源
2、HTTP源
https://mirrors.aliyun.com
http://mirrors.163.com
3、FTP源
案例: 配置本地yum源, 指向的路径为/opt/software
1、备份centos自带的yum源
[root@node01 ~]# mkdir /etc/yum.repos.d/backup
[root@node01 ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/backup
[root@node01 ~]# ls /etc/yum.repos.d/
backup
2、编辑本地源的配置文件
[root@node01 ~]# cat /etc/yum.repos.d/centos.repo
[centos] //yum仓库的标识/ID
name=centos //yum仓库的说明信息
baseurl=file:///opt/software //软件安装包的存放位置 file:// 本地源
enabled=1 //启动该仓库,修改为0表示临时禁用
gpgcheck=0 //不检测软件安装包的签名
[root@node01 ~]# mkdir /opt/software
[root@node01 ~]# umount /dev/sr0
[root@node01 ~]# mount /dev/sr0 /opt/software/
3、清除旧的yum缓存
[root@node01 ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: centos
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
4、检测有效的yum仓库
[root@node01 ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
centos | 3.6 kB 00:00:00
(1/2): centos/group_gz | 156 kB 00:00:00
(2/2): centos/primary_db | 5.7 MB 00:00:00
Determining fastest mirrors
repo id repo name status
centos centos 9,591
repolist: 9,591
5、使用yum安装httpd软件
[root@node01 ~]# yum install httpd
案例: 配置FTP源,安装ansible软件
[root@node01 ~]# cat /etc/yum.repos.d/ansible.repo
[ansible]
name=ansible
baseurl=ftp://10.10.11.100/software/ansible/
enabled=1
gpgcheck=0
[root@node01 ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: ansible centos
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@node01 ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
ansible | 2.9 kB 00:00:00
centos | 3.6 kB 00:00:00
(1/3): centos/group_gz | 156 kB 00:00:00
(2/3): ansible/primary_db | 9.0 kB 00:00:00
(3/3): centos/primary_db | 5.7 MB 00:00:00
Determining fastest mirrors
repo id repo name status
ansible ansible 14
centos centos 9,591
repolist: 9,605
[root@node01 ~]# yum install ansible
案例: 配置http源,安装zabbix-server-mysql, ntfs-3g
[root@node01 ~]# cat /etc/yum.repos.d/zabbix45.repo
[zabbix45]
name=zabbix45
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.5/rhel/7/x86_64/
enabled=1
gpgcheck=0
下载阿里云提供的epel源
[root@node01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@node01 ~]# yum clean all
[root@node01 ~]# yum repolist
[root@node01 ~]# yum install zabbix-server-mysql
[root@node01 ~]# yum install ntfs-3g
四、yum工具常用指令
1、清除yum缓存
> yum clean all
2、查看有效的yum仓库
> yum repolist
3、安装软件
> yum install -y 软件名称 软件名称
4、卸载软件
> yum remove -y 软件名称
5、更新软件
> yum update 软件名称
6、查看yum仓库所有软件
[root@node01 ~]# yum list all
7、安装一组软件
> yum groupinstall 软件组名称
8、查看软件组
> yum grouplist
9、查看文件对应的软件
> yum provides 文件名称
[root@node01 ~]# yum provides "*bin/ifconfig"
[root@node01 ~]# yum provides "*bin/vim"
五、yum缓存功能
一、开启yum缓存
[root@node01 ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
[root@node01 ~]# mkdir /opt/openstack
[root@node01 ~]# find /var/cache/yum/ -name "*.rpm" -exec cp {} /opt/openstack \;
制作yum仓库
所谓yum仓库,本质上就是目录; 目录要想作为一个合法的yum仓库用,需要在该目录存在repodata/repomd.xml
[root@node01 ~]# createrepo /opt/openstack/
六、源码软件安装部署
.tar.gz, .tar.bz2
安装流程:
1、解压缩
2、配置软件的功能特性、安装路径
3、编译,将软件编译成计算机可执行的程序
4、安装软件, 生成安装目录、相关文件
案例: 安装htop软件
1、解压缩htop
[root@localhost ~]# tar xf htop-2.2.0.tar.gz
2、配置软件的安装路径 /usr/local/htop
[root@localhost ~]# cd htop-2.2.0/
[root@localhost htop-2.2.0]# ./configure --prefix=/usr/local/htop
3、编译软件
[root@localhost htop-2.2.0]# make
4、安装
[root@localhost htop-2.2.0]# make install
运行htop软件
[root@localhost ~]# /usr/local/htop/bin/htop
七、PATH环境变量
PATH 环境变量名称
保存命令所在路径
系统在执行命令时,会在PATH环境变量中保存的路径里搜索命令,如果能搜索到,命令可正常执行;否则提示command not found
临时修改PATH
[root@localhost ~]# export PATH=$PATH:/usr/local/htop/bin
[root@localhost ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/local/htop/bin
永久生效:
[root@localhost ~]# vim /etc/profile
export PATH=$PATH:/usr/local/htop/bin
[root@localhost ~]# source /etc/profile