安装、卸载、更新软件
安装、卸载、更新软件
1、/usr
安装第三方软件的目录,
1、/usr/local主要用来安装软件的目录
2、/usr/bin和/usr/local/bin 主要用来存放第三方二进制命令文件的目录
/usr/local/bin安装第三方文件的目录
/usr/bin常用的第三方拓展命令二进制文件
linux安装文件的三种方式
1、rpm
1、rpm
rpm无法解决安装包依赖的问题
下载zsh的连接:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
rpm -ivh [软件包名称]: 安装软件
[root@localhost ~]# rpm -vih zsh-5.0.2-34.el7_8.2.x86_64.rpm
warning: zsh-5.0.2-34.el7_8.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key IDf4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
rpm -Uvh [软件包名称]:更新软件
U必须大写
rpm -e [软件包名称]:卸载软件
[root@python ~]$ rpm -e zsh
zsh-5.0.2-34.el7_8.2.x86_64.rpm
zsh : 软件包的名称
5.0.2 软件包的版本号
34 软件包的构建次数
el7 软件包适用的平台
8.2.x86_64 适用于64位操作系统
.rpm 扩展名
rpm -q [软件包名称] : 查看该软件包是否安装
不带扩展名
rpm -qa [软件包名称] : 打印当前系统中所有的已经安装了的安装包
跟软件包的名称不是全名,则判断软件包是否安装
不跟软件包,则打印当前系统中所有的已经安装的软件包
rpm -ql [软件包名称] : 打印指定安装包中包含的所有文件
[root@python ~]$ rpm -ql python
/usr/bin/pydoc
/usr/bin/python
/usr/bin/python2
/usr/bin/python2.7
/usr/libexec/platform-python
/usr/share/doc/python-2.7.5
/usr/share/doc/python-2.7.5/LICENSE
/usr/share/doc/python-2.7.5/README
/usr/share/man/man1/python.1.gz
/usr/share/man/man1/python2.1.gz
/usr/share/man/man1/python2.7.1.gz
rpm -qc [软件包名称] : 打印指定安装包的配置文件
2.yum
可以自动解决安装包的依赖(也就是说安装包安装的时候,自动将依赖包提前安装)
缺点:无法自定义安装
1、yum的格式
#安装软件
yum install [安装包的名称] :
[root@python ~]$ yum install nginx
-y : 不提示,默认确认
#卸载软件
yum remove [软件包名称] :
-y : 不提示删除,默认确认
#更新软件
yum update [软件包] :
1、跟软件包则更新软件包
2、不跟软件包则更新整个操作系统
#搜索软件
在仓库中搜索相关的软件包
[root@python ~]$ yum search nginx
1、解决nginx安装包没有的问题:需要下载epel源
2、epel源仓库是CentOS扩展包的仓库
3、安装epel源仓库
1、切换目录
[root@python ~]$ cd /etc/yum.repos.d/
2、编辑文件
[root@python yum.repos.d]$ vim epel.repo 打开这个文件
下面是添加的
[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
3、更新源
[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel
Cleaning up list of fastest mirrors
[root@python yum.repos.d]$ yum makecache
3搭建私有yum仓库
目标
1、能解决依赖
2、必须能够远程访问
yum的底层逻辑
第一步:执行yum install nginx安装命令
第二步:yum去/etc/yum.repos.d这个目录中
第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称])
yum的配置文件
[root@python yum.repos.d]$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 指定yum下载的软件包存放的路径($basearch == x86_64, $releasever == 7)
basearch:所属平台 leasever:版本号
keepcache=0 是否保存下载的软件包(0 == 不保存 , 1 == 保存)
源的配置文件(必须以.repo结尾,必须在/etc/yum.repos.d)
[源的名称]
name 源的简介(必须)
baseurl 源的地址(必须)
gpgcheck 是否验证源的安全性(1 == 验证, 0 == 不验证)
第五步:安装所有的软件(rpm -ivh)
第六步:检测是否安装完毕并返回
实施
1、创建目录,充当仓库
[root@python yum.repos.d]$ mkdir /yumrepo
2、下载软件,存放于yum仓库中
先下载个
wget [下载的文件URL] : 下载文件
wget 需要安装:yum install wget
如果下载不了执行下面这个
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
[root@python yumrepo]$ cd /yumrepo
[root@python yumrepo]$ mkdir Packages
[root@python yumrepo]$ cd Packages
[root@python Packages]$ wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
3、建立依赖关系
1、安装建立依赖关系的命令
yum install yum-utils createrepo
2、建立yum源的依赖关系
createrepo [仓库的路径]
[root@python ~]$ createrepo /yumrepo/
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
3、检查
[root@python ~]$ cd /yumrepo/
[root@python yumrepo]$
[root@python yumrepo]$ ll
total 4
drwxr-xr-x. 2 root root 39 Sep 22 17:14 Packages 刚下载的文件
drwxr-xr-x. 2 root root 4096 Sep 22 17:21 repodata 建立以来关系生产的
[root@localhost yumrepo]# ll repodata/ 查看这个依赖关系下都有啥 有东西就算成功
total 28
-rw-r--r--. 1 root root 927 Sep 22 17:21 097191e578bcee7a2308ccba0954a20455f0eaf3a7947d4f622dbe61ad5e64fc-filelists.sqlite.bz2
-rw-r--r--. 1 root root 385 Sep 22 17:21 518eb570ab7d4552fc5fb4272ad172d28fd023f77c26d422e8e492275fd52000-filelists.xml.gz
-rw-r--r--. 1 root root 763 Sep 22 17:21 71a8c494a8fe55ac4128fad1215b4eddca9014254612ed15ac349272a60c19a9-other.xml.gz
-rw-r--r--. 1 root root 1384 Sep 22 17:21 799e159acb34e2da5d7d4fc418a2c1ea677d5371c709055fd7876c0ccd314bed-other.sqlite.bz2
-rw-r--r--. 1 root root 908 Sep 22 17:21 7a69010520845aa2755a292500cc4db3ec5ebae9201d66e805e52728606adc3f-primary.xml.gz
-rw-r--r--. 1 root root 2052 Sep 22 17:21 b61b928dc6d20cd78ca3a8f567e641792c233aab35763d12d05447894b370835-primary.sqlite.bz2
-rw-r--r--. 1 root root 2966 Sep 22 17:21 repomd.xml
4、编写yum源
[root@python yum.repos.d]$ vim local.repo
[root@python yum.repos.d]$ cat local.repo
[local]
name=本地yum源
baseurl=file:///yumrepo
更新源
[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)
[root@python yum.repos.d]$ yum makecache
Loaded plugins: fastestmirror
5、测试
yum remove zip
yum install zip
6、安装远程软件,提供远程访问服务
1、恢复base源和epel源
[root@python yumrepo]$ cd /etc/yum.repos.d/
[root@python yum.repos.d]$ ll
total 4
drwxr-xr-x 2 root root 47 Sep 22 12:07 backup
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
[root@python yum.repos.d]$ mv backup/* .
[root@python yum.repos.d]$
[root@python yum.repos.d]$ ll
total 88
drwxr-xr-x. 2 root root 6 Sep 22 18:46 backup
-rw-r--r--. 1 root root 102 Sep 18 20:16 CentOS-Base.repo
-rw-r--r--. 1 root root 1664 Oct 23 2020 CentOS-Base.repo.backup
-rw-r--r--. 1 root root 1309 Sep 18 20:12 CentOS-CR.repo
-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo.bak
-rw-r--r--. 1 root root 649 Sep 18 20:12 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo.bak
-rw-r--r--. 1 root root 326 Sep 18 20:12 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo.bak
-rw-r--r--. 1 root root 630 Sep 18 20:12 CentOS-Media.repo
-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo.bak
-rw-r--r--. 1 root root 1331 Sep 18 20:12 CentOS-Sources.repo
-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo.bak
-rw-r--r--. 1 root root 8515 Sep 18 20:12 CentOS-Vault.repo
-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo.bak
-rw-r--r--. 1 root root 640 Sep 18 20:12 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo.bak
-rw-r--r--. 1 root root 1011 Sep 22 16:45 epel.repo
-rw-r--r--. 1 root root 61 Sep 22 18:35 local.repo
2、安装nginx远程web服务软件
[root@python yum.repos.d]$ yum install nginx -y
3、修改nginx的配置文件,使其能够代理yumrepo仓库的远程服务
1、将目录索引的配置文件添加进来
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
2、修改nginx代理的目录
root后面的改成自己刚创建的目录
root /yumrepo;
3、启动nginx服务
systemctl start nginx
4、在浏览器
输入自己的ip 可以ip a查看
4、修改local yum源
1、隐藏base源和epel源
[root@python yum.repos.d]$ pwd
/etc/yum.repos.d
[root@python yum.repos.d]$ ll
2、修改local源,使其支持远程访问
[local]
name=本地yum源
baseurl=http://192.168.15.201/
gpgcheck=0
3、重新生成
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 74 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local | 2.9 kB 00:00:00
(1/3): local/filelists_db | 927 B 00:00:00
(2/3): local/other_db | 1.4 kB 00:00:00
(3/3): local/primary_db | 2.0 kB 00:00:00
Metadata Cache Created
5、测试
[root@localhost yum.repos.d]# systemctl stop nginx 停止nginx
[root@localhost yum.repos.d]# yum install zip 安装
http://192.168.15.222/Packages/zip-3.0-11.el7.x86_64.rpm: [Errno
报错如上:192.168.15.222没办法链接
[root@localhost yum.repos.d]# systemctl start nginx
安装成功
yum remove zip
yum install zip