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
选择安装包:
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:
。
图2: