Linux中安装软件的三种方式
与windows类似,在Linux系统上也可以安装各种应用程序,或称之为软件包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | 1.rpm安装    rpm安装预先编译打包,安装简单,下载下来之后直接安装。    优点:已经制作好的安装程序 	 缺点:不能自己解决依赖 		 		 2.yum安装    yum安装基于rpm安装    优点:增加了自动解决依赖的功能。 	    3.源代码编译安装    源代码安装通过编译源代码,得到软件包。    优点:可以自定制软件包。    缺点:比较复杂   
   | 
 
镜像文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   |    mount /dev/sr0 /opt/   或   mount /dev/cdrom /munt/ 	
    umount /dev/sr0     或   umount /opt  
 
    umount -l  [挂载源或挂载点]   
    df
 
 
  [root@localhost dev]  mount: /dev/sr0 写保护,将以只读方式挂载  
  [root@localhost ~]  文件系统     1K-块    已用     可用 已用% 挂载点  /dev/sr0   4480476  4480476   0  100% /opt  
  [root@localhost dev]  CentOS_BuildTag  EULA  images    LiveOS repodata     RPM-GPG-KEY-CentOS-Testing-7  EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL  
  [root@localhost dev]  ......  zlib-1.2.7-18.el7.x86_64.rpm  zlib-devel-1.2.7-18.el7.x86_64.rpm  zsh-5.0.2-31.el7.x86_64.rpm  zziplib-0.13.62-9.el7.x86_64.rpm  
  [root@localhost ~]  x86_64
  [root@localhost ~]  3.10.0-1160.49.1.el7.x86_64
 
 
  | 
 
1、RPM安装
- rpm包来源 
- 1、来源网络下载 
 
- 2、来源本地:自己的镜像自带的rpm包
 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
   |     -v      -i      -h   	
 
 
   1、下载安装包 		  2、安装   [root@localhost ~]   或   [root@localhost ~]   Preparing...                       Updating / installing...   1:zsh-5.0.2-34.el7_8.2           	  	  3、卸载 	[root@localhost ~] 	 	  4、更新   [root@localhost ~]   Preparing...                      Updating / installing...   1:zsh-5.0.2-34.el7_8.2         
 
   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 ~] 	  7、查看已安装包的描述信息	    [root@localhost ~]
   8、查看是否安装某软件    [root@localhost ~]
   9、查看当前系统安装了哪些rpm软件    [root@localhost ~] 		  10、查看软件的安装路径,查看安装了哪些东西    [root@localhost ~]
   上传与下载:yum install lrzsz -y      扩展:  1、查看未安装包的软件信息    [root@localhost ~]
 
 
  | 
 
2、yum安装
- yum是CentOS的软件包管理工具,自动为我们解决软件依赖问题。yum包管理工具必须使用yum源指定软件下载地址去下载需要安装的软件包。
 
- 要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源)
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   | 基于rpm安装,自动解决依赖。
         [root@localhost ~]
         [root@localhost ~]             [root@localhost ~]             [root@localhost ~]            	 [root@localhost ~]          
 
       yum install [软件包的名称] 	    参数:     -y : 免交互安装     --nogpgcheck : 忽略公钥认证
 
       yum remove [软件包名称]     参数:     -y : 免交互移除
 
       yum update [软件包名称]       参数:     -y : 免交互更新 	  ps:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。 	 	      yum check-update	              yum reinstall [软件包名称]	     	      yum search [软件包名称]	 	 	 yum安装的生命周期:  1、执行yum install zsh -y  2、去 /etc/yum.repos.d/ 找以 .repo 结尾的文件  3、通过 .repo 文件中的链接,找到对应的软件仓库  4、在对应的软件仓库中下载指定的软件包  5、缓存至 /var/cache/yum/  6、根据缓存,安装软件包  7、删除软件包(keepcache 是否保存缓存,0 代表不保存 , 1 代表保存)
   | 
 
知识储备:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
   |  如果系统中没有wget,执行如下命令:yum install wget -y   wget url    参数:     -O   		     
    curl :读取文件    参数:     -o       -k   	 curl命令是⼀个利⽤URL规则在命令⾏下⼯作的⽂件传输⼯具。它⽀持⽂件的上传和下载,所以是综合传输⼯具, 但按传统,习惯称curl为下载⼯具。作为⼀款强⼒⼯具,curl⽀持包括HTTP、HTTPS、[ftp]等众多协议,还⽀ 持POST、cookies、认证、从指定偏移处下载部分⽂件、⽤户代理字符串、限速、⽂件⼤⼩、进度条等特征。做⽹ ⻚处理流程和数据检索⾃动化,curl可以祝⼀臂之⼒。
   [root@localhost ~]     curl -k -o 123.png https://www.xxx.com/img/hello.png      
   ps:  yum install lrzsz -y
  sz : 下载文件(从linux系统下载文件到windows) 系统默认没有该命令,需要下载:yum install lrzsz -y 将服务器上选定的⽂件下载/发送到本机,
 
 
    rz [文件路径] 	      [root@localhost opt]   [root@localhost opt]           rz 回车即可选择上传文件  也可以进入都某个路径下将文件直接拖入~ (人性化)  
 
  | 
 
本地&远程仓库搭建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
   | 本地仓库:        yum install yum-utils createrepo -y 		        mkdir -p /opt/repos
         mkdir -p /opt/repos/Packages 			     把对应的软件包复制到 Packages 目录中 			    		 createrepo /opt/repos 	         cd /etc/yum.repos.d/      mkdir backup      mv *.repo backup/      [root@localhost ~]
       [root@localhost /etc/yum.repos.d]
       [opt_repos]	       name=added from: file:///opt/repos	        baseurl=file:///opt/repos	       enabled=1	
          yum clean all                 yum makecache 		         yum install zsh 	 	远程仓库 		参考本地版前7步 		                   [root@localhost ~] 			       [root@localhost ~] 			       [root@localhost ~]
             https://nginx.org/en/docs/http/ngx_http_autoindex_module.html 			       [root@localhost ~]              root         /opt/repos;       autoindex on; 			              [root@localhost ~] 			              [root@localhost ~] 			              [root@localhost ~]       [root@localhost ~] 		 		 		 		            [root@localhost yum.repos.d]
               [root@localhost yum.repos.d]       [root@localhost yum.repos.d]
               [root@localhost yum.repos.d]
               [root@localhost yum.repos.d]       [root@localhost yum.repos.d]
             [root@localhost ~]
   | 
 
3、源码包安装(编译安装)

注意: 此方法不是百分百通用于所有源码包,建议拿到源码包解压后,进入到目录找相关的README帮助文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
   | 编译安装
 
    [root@localhost ~]
 
  	[root@localhost ~] 		
  	[root@localhost ~]   [root@localhost ~]   
    [root@localhost nginx-1.20.2]
 
  	[root@localhost nginx-1.20.2]
 
  	[root@localhost nginx-1.20.2]
 
  	[root@localhost ~]      
  	[root@localhost ~]
  知识储备: 	tar -xf [压缩包名称]
 
  知识拓展:   自定制安装,修改源代码包名以 nginx 为例      [root@localhost ~]   [root@localhost ~]    	[root@localhost ~]   [root@localhost ~]      [root@localhost nginx-1.20.2]   [root@localhost nginx-1.20.2]     ./src/core/nginx.h:      [root@localhost nginx-1.20.2]
      '''       /*     * Copyright (C) Igor Sysoev     * Copyright (C) Nginx, Inc.     */
 
      #ifndef _NGINX_H_INCLUDED_     #define _NGINX_H_INCLUDED_
 
      #define nginx_version      1020002     #define NGINX_VERSION      "1.0" # 修改版本     #define NGINX_VER          "GengFeng/" NGINX_VERSION  #修改名称
      #ifdef NGX_BUILD      '''      [root@localhost nginx-1.20.2]
       [root@localhost nginx-1.20.2]
       [root@localhost nginx-1.20.2]
       [root@localhost ~]               404 Not Found      GengFeng/1.0
   | 
 
压缩打包
1、 什么是打包压缩
打包指的是将多个⽂件和⽬录合并为⼀个特殊⽂件,然后将该特殊⽂件进⾏压缩,最终得到⼀个压缩包
2、为什么使⽤压缩包
3、Windows的压缩和Linux的有什么不同
- windows: zip rar(linux不⽀持rar)
 
- linux: zip tar.gz tar.bz2 .gz
 
如果希望windows的软件能被linux解压,或者linux的软件包被windows能识别,选择zip.
PS: 压缩包的后缀不重要,但⼀定要携带.
4、Linux下常⻅的压缩包类型
| 格式 | 
压缩工具 | 
.zip | 
zip 压缩工具 | 
.gz | 
gzip 压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) | 
.bz2 | 
bzip2 压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) | 
.tar.gz | 
先使用tar 命令归档打包,然后使用 gzip 压缩 | 
.tar.bz2 | 
先使用tar 命令归档打包,然后使用 bzip 压缩 | 
Linux常见的压缩包有哪些?
gzip打包与压缩
1 2 3 4 5 6 7 8 9 10
   | 
 
  [root@localhost ~] [root@localhost ~] [root@localhost ~]
 
  [root@localhost ~] [root@localhost ~]
 
  | 
 
bzip2打包与压缩
1 2 3 4 5 6
   | 
    [root@localhost ~] [root@localhost ~] [root@localhost ~]
 
  | 
 
tar打包与压缩
- tar是linux下最常用的压缩与解压缩, 支持文件和目录的压缩归档
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
   | tar : 打包的命令   参数:     -f       -c       -v       -x       -t                 -z       -j       -J       -C       -P       -X       -h                      --hard-dereference       --exclude   
 
  czf     cjf     cJf    
  zxf     jxf     xf      tf      		   注意:      1、压缩时是什么路径,解压缩时就是什么路径,所以为了安全不要使用绝对路径压缩。      2、-f参数后面永远跟压缩包名称            
       [root@localhost ~]   [root@localhost ~]   [root@localhost ~]
 
    [root@localhost ~]   [root@localhost ~]
 
    [root@localhost ~]   [root@localhost mysql]   [root@localhost mysql]   [root@localhost mysql]
   |