安装、卸载、更新软件

安装、卸载、更新软件

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
                        
posted @ 2021-09-22 19:18  迪迦张  阅读(149)  评论(0编辑  收藏  举报