Linux知识心得15 Linux 软件包管理

笔记

1、今日内容

1、rpm软件包管理
    1、挂载ISO硬盘
        1、mount /dev/sr0 /mnt
        2、mount /dev/cdrom /mnt
        3、mount -o loop Centos... /mnt
    
    2、rpm包管理命令
    
    	寻找rpm包:
    		1、ISO镜像中
    			
    		2、镜像站下载
    			华为云开源镜像站:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/
    			
    		3、epel源中下载
    			redhat系列操作系统扩展软件包仓库
    		
    		4、下载软件包
    			wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.20.1-2.el7.x86_64.rpm

    	
    	1、安装rpm包

    		方式一:rpm -ivh [软件包名称](需要手动解决依赖)
                [root@localhost Packages]# 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%]

    		方式二:yum install [软件包名称](自动解决依赖)

                [root@localhost ~]# yum install nginx-1.20.1-2.el7.x86_64.rpm
                [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
             
             参数:
             	--nodeps : 忽略依赖关系
             	--force  : 强制安装

    	2、升级rpm包
    	
    		格式:
    			rpm -Uvh [软件包]
    			yum update [软件包]
    		
    		例1:升级nginx
    			[root@localhost ~]# wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-2.el7.ngx.x86_64.rpm
    			[root@localhost ~]# rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm 
    			[root@localhost ~]# wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.20.1-2.el7.x86_64.rpm
    			[root@localhost ~]# rpm -Uvh nginx-1.20.1-2.el7.x86_64.rpm 
    			[root@localhost ~]# nginx -v
				nginx version: nginx/1.20.1

    		例2:升级httpd
    		
    			1、版本1
    				[root@localhost ~]# wget http://repo.okay.com.mx/centos/7/x86_64/release/httpd-2.4.35-4.el7.x86_64.rpm
    				
    			2、版本2
    				[root@localhost ~]# wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
    				
    			3、安装
    				[root@localhost ~]# yum install httpd-2.4.6-95.el7.centos.x86_64.rpm 
    			
    			4、查看版本号
                    [root@localhost ~]# httpd -v
                    Server version: Apache/2.4.6 (CentOS)
                    Server built:   Oct  1 2020 16:52:05
                 
                 5、升级
    				[root@localhost ~]# yum update httpd-2.4.35-4.el7.x86_64.rpm 
    			
    			
    	
    	3、卸载rpm包
		
			格式:
				rpm -e [软件包名称]
				yum remove [软件包名称]
			
			例1:卸载nginx
				[root@localhost ~]# rpm -e nginx
	
		4、查看软件包安装内容
			
			1、查看软件包是否安装
                [root@localhost ~]# rpm -q httpd
                package httpd is not installed
                [root@localhost ~]# rpm -q nginx
                nginx-1.20.1-2.el7.x86_64
                
                 例1:写一个脚本,如果系统中没有安装nginx,则自动安装,如果已经安装,则忽略
                
                        rpm -q nginx
                        [ $? -ne 0 ] && yum install nginx

				例2:写一个脚本,如果系统中没有安装zsh,则自动安装,如果已经安装,则忽略,并只打印已经安装完毕
                        rpm -q zsh &>/dev/null
                        [ $? -eq 0 ] && echo "已经安装完毕"
                        rpm -q zsh &>/dev/null
                        [ $? -ne 0 ] && yum install zsh -y &>/dev/null && echo "已经安装完毕"
	
				例3:写一个脚本,如果系统中没有安装dos2unix,则自动安装,如果已经安装,则忽略,并只打印安装版本号。
                        rpm -q dos2unix &>/dev/null
                        [ $? -eq 0 ] && rpm -q dos2unix  | cut -d'-' -f2
                        rpm -q dos2unix &>/dev/null
                        [ $? -ne 0 ] && yum install dos2unix -y &>/dev/null && rpm -q dos2unix  | cut -d'-' -f2
				
                2、查看软件包内容
                	
                	1、查询系统中已安装包的描述信息
                	
                		格式:
                			rpm -qi [软件包名称]
                		
                		例1:获取nginx安装包的描述信息
                            [root@localhost ~]# rpm -qi nginx
                            Name        : nginx
                            Epoch       : 1
                            Version     : 1.20.1
                            Release     : 2.el7
                            Architecture: x86_64
                	
                	2、查询系统中已安装包⾥所包含的⽂件
                	
                		格式:
                			rpm -ql [软件包名称]
                		
                		例1:查询nginx安装包所包含的文件
                			[root@localhost ~]# rpm -ql nginx
                	
                	3、查询指定软件包的所有配置⽂件
                	
                		格式:
                			rpm -qc [软件包名称]
                		
                		例1:查询nginx软件包配置文件
                			[root@localhost ~]# rpm -qc nginx
                	
                	4、查询某个包安装的帮助⽂档
                	
                		格式:
                			rpm -qd [软件包名称]
                		
                		例1:查询nginx软件版的帮助文档
                			[root@localhost ~]# rpm -qd nginx
                	
                	5、查询系统中指定⽂件所属的软件包
                		格式:
                			rpm -qf [软件包路径]
                		
                		例1 :查询nginx-1.20.1软件包安装的软件
                            [root@localhost ~]# rpm -qf /usr/sbin/nginx
                            nginx-1.20.1-2.el7.x86_64
               
               3、其他
               		-p : 查看未安装的软件包内容
               		
               			例1:查看nginx-1.18.0-2.el7.ngx.x86_64.rpm 安装的配置文件
               			[root@localhost ~]# rpm -qpc nginx-1.18.0-2.el7.ngx.x86_64.rpm 
				   --nomd5 # 不检验软件包的签名
				   		例1:不检查md5安装nginx
				   			[root@localhost ~]# rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm --nomd5
				   			
				   		md5 : 可以加密二进制,加密之后得到一个md5字符串
				   	
				   	--nodeps : 忽略依赖安装
				   	--force  : 强制安装
				   	
2、源代码包编译

	1、需要语言编辑器
		yum install gcc gcc-c++ make -y
	
	2、下载源代码
		[root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
		[root@localhost ~]# tar -xf nginx-1.20.1.tar.gz 
		[root@localhost nginx-1.20.1]# cd nginx-1.20.1
	
	3、编译安装
		1、初始化配置
			[root@localhost nginx-1.20.1]# ./configure  --prefix=/usr/local/nginx --user=nginx --group=nginx
		2、编译
			[root@localhost nginx-1.20.1]# make 
		
		3、安装
			[root@localhost nginx-1.20.1]# make install 
		
		4、校验
            [root@localhost nginx-1.20.1]# cd /usr/local/nginx/
            [root@localhost nginx]# ./sbin/nginx 

		5、增加模块
			[root@localhost nginx-1.20.1]# make clean all
		
3、二进制包安装
	1、下载
		[root@localhost ~]# wget https://repo.huaweicloud.com/etcd/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gz
	2、解压
		[root@localhost ~]# tar -xf etcd-v3.4.9-linux-amd64.tar.gz -C /usr/local
	3、添加环境变量
        [root@localhost ~]# vim /etc/profile
        export ETCD_HOME=/usr/local/etcd-v3.4.9-linux-amd64
        export PATH=$PATH:$ETCD_HOME
	4、测试
        [root@localhost ~]# etcdctl version
        etcdctl version: 3.4.9
        API version: 3.4

posted @ 2021-07-07 16:12  虾虾78  阅读(120)  评论(0)    收藏  举报