Linux中安装软件的三种方式

1、哪三种方式?

  • rpm安装
  • yum安装
  • 源代码编译安装

2、区别

rpm安装类似于windows中的安装包,下载下来之后直接安装。缺点是不能自己解决依赖。

yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。

源代码安装:通过编译源代码,得到软件包。优点是可以自定制软件包,缺点是比较复杂。

RPM安装

安装:rpm -ivh [软件包名称]

卸载:rpm -e [软件包名称]

升级:rpm -Uvh [软件包名称]

先执行这一步:

上传与下载:yum install lrzsz -y

1.Rpm下载链接

https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/?C=N&O=D

2.把下载好的rpm文件从文件夹里拖到linux系统里

或者使用yum install wget命令

wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm

选择安装包:

yum 安装 resdis client yum 安装本地包_nginx

3.安装

[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2             ################################# [100%]

4.卸载

[root@localhost ~]# rpm -e zsh

5.更新

[root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2             ################################# [100%]

5、软件包名称
zsh-5.0.2-34.el7_8.2.x86_64.rpm
软件包名称:zsh
版本号:5.0.2
第多少次编译:34
适用的平台:el7_8(CentOS 7)
适用的系统位数:x86_64
扩展名:rpm

6、查看软件包的配置文件
		[root@localhost ~]# rpm -qc  zsh
	
	7、查看是否安装某软件
		[root@localhost ~]# rpm -q zsh

	8、查看当前系统安装了哪些软件
		[root@localhost ~]# rpm -qa
		
	9、查看软件的安装路径,查看安装了哪些东西
		[root@localhost ~]# rpm -ql zsh

	上传与下载:yum install lrzsz -y

yum安装

基于rpm安装,自动解决依赖

1、安装

yum install [软件包的名称] 
参数:
	-y : 免交互
	--nogpgcheck : 忽略公钥认证

2、卸载

yum remove [软件包名称] 
参数:
	-y : 免交互

3、更新

yum update [软件包名称]
	参数:
		-y : 免交互
注意:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。

4、yum安装的生命周期

1、执行yum install zsh -y
2、去 /etc/yum.repos.d/ 找以 .repo 结尾的文件
3、通过 .repo 文件中的链接,找到对应的软件仓库
4、在对应的软件仓库中下载指定的软件包
5、缓存至 /var/cache/yum/
6、根据缓存,安装软件包
7、删除软件包(keepcache 是否保存缓存,0 代表不保存 , 1 代表保存)

注:/etc/yum.conf 是yum的配置文件。
执行步骤
[root@localhost ~]#  cd /etc/yum

[root@localhost ~]# cd /etc/yum.repos.d
.repo结尾的就是yum源

[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo

ls查看 里面的就是镜像源

[root@localhost yum.repos.d]# vim CentOS-Base.repo 

打开这个里面的链接就是类似于华为云的镜像仓库(软件仓库)
通过 .repo 文件中的链接(url),找到对应的软件仓库

[root@localhost yum.repos.d]# vim /etc/yum.conf
里面有一个cache dir文件,是缓存文件
[root@localhost yum.repos.d]# cd /var/cache/yum/

[root@localhost yum]# ls
x86_64

[root@localhost yum]# cd x86_64/7/
[root@localhost 7]# ll
总用量 8
drwxr-xr-x. 4 root root 278 12月 16 17:14 base
drwxr-xr-x. 4 root root 183 12月 16 17:14 extras
-rw-r--r--. 1 root root  80 12月 16 17:19 timedhosts
-rw-r--r--. 1 root root 461 12月 15 09:55 timedhosts.txt
drwxr-xr-x. 4 root root 183 12月 16 17:14 updates
#里面都是安装包

在对应目录下载安装包
缓存至 /var/cache/yum/ 这个目录
根据缓存 安装软件包  rpm只进行了这一步
删除软件包(keepcache 是否保存缓存,0不保存,1保存)

搭建yum私有仓库

1.本地版

1、下载必须的软件包
		[root@localhost ~]# yum install yum-utils createrepo -y
2.创建软件仓库
		[root@localhost ~]# cd /opt/
    [root@localhost opt]# mkdir repos
    repos就是仓库
    [root@localhost opt]# cd repos
3.创建Packages目录并且把对应的软件包复制到 Packages 目录中
    [root@localhost repos]# mkdir Packages
    [root@localhost repos]# mv /root/zsh-5.0.2-34.el7_8.2.x86_64.rpm Packages/
4、初始化软件仓库
		[root@localhost ~]# createrepo /opt/repos/
		初始化完成之后仓库就搭建完毕了
5.添加yum源
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir backup
    [root@localhost yum.repos.d]# mv *.repo backup/
    做一个备份

    [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
    file代表的是访问本地的文件
    
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ll
    总用量 4
    drwxr-xr-x. 2 root root 220 12月 16 20:30 backup
    -rw-r--r--. 1 root root  85 12月 16 20:32 opt_repos.repo
    [root@localhost yum.repos.d]# cat opt_repos.repo 

    [opt_repos]		# 源的名称
    name=added from: file:///opt/repos	# 源的简介
    baseurl=file:///opt/repos			# 源的下载地址
    enabled=1						# 是否启用:1启用 ,  0不启用
    baseurl下载地址变成了本地的地址
    
6、生成缓存
		[root@localhost yum.repos.d]# yum clean all
		[root@localhost yum.repos.d]# yum makecache
7.测试是否能正常使用
    [root@localhost yum.repos.d]# rpm -e zsh
    卸载之前下载的软件包

    [root@localhost ~]# yum install zsh
    源已经变成了opt_repos

2.远程版

为什么要用远程版

只是用本地版的话每一台机器都要搭建一个yum仓库,太麻烦了

所以要在一台机器上搭建完成之后另一台机器就可以直接用

前六步与本地版完全一致

7.安装远程访问软件(Nginx)
    安装这个源
    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

    安装epel源
    [root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
    安装nginx 忽略公钥认证
    [root@localhost ~]# yum install nginx --nogpgcheck
    
8、修改nginx的配置文件
    把这个路径改成根路径
    [root@localhost ~]# vim /etc/nginx/nginx.conf
    如下图1所示

    开启目录索引 (目录可以在网页上显示)
    # 测试是否更改成功
    [root@localhost ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    出现successful就更改成功了
    启动nginx
    [root@localhost ~]# systemctl start nginx
    关闭防火墙
    [root@localhost ~]# systemctl disable --now firewalld
    关闭selinux
    [root@localhost ~]# setenforce 0

    在网页上输入ip地址如果出现这个代表部署成功(图2)

9、在测试机上
			[root@localhost yum.repos.d]# yum install yum-utils -y

			# 备份源
			[root@localhost yum.repos.d]# mkdir backup
			[root@localhost yum.repos.d]# mv *.repo backup/

			# 添加源
			[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/

			# 刷新缓存
             [root@localhost yum.repos.d]# yum clean all 
             [root@localhost yum.repos.d]# yum makecache

		10、测试
			[root@localhost ~]# yum install zsh -y

图1:

yum 安装 resdis client yum 安装本地包_缓存_02



图2:

yum 安装 resdis client yum 安装本地包_缓存_03