软件管理

软件管理

一、软件安装包类型

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

posted @ 2023-03-25 10:40  nhxuan  阅读(218)  评论(0)    收藏  举报