rpm ,yum ,源码编译安装,gzip 、bzip2、tar 压缩打包
Linux 中安装软件的三种⽅式与windows 类似,在Linux 系统上也可以安装各种应⽤程序,或称之为软件包
镜像⽂件
1、RPM 安装
rpm 包来源
1、来源⽹络下载
mysql下载下来没安装包2、来源本地:⾃⼰的镜像⾃带的rpm 包
1.rpm 安装  rpm 安装预先编译打包,安装简单,下载下来之后直接安装。  优点:已经制作好的安装程序  缺点:不能⾃⼰解决依赖
2.yum 安装  yum 安装基于rpm 安装  优点:增加了⾃动解决依赖的功能。
3.源代码编译安装  源代码安装通过编译源代码,得到软件包。  优点:可以⾃定制软件包。  缺点:⽐较
复杂  # 挂载:  mount /dev/sr0 /opt/  或  mount /dev/cdrom /munt/ # 卸载:  umount /dev/sr0  #挂载源  或  umount /opt  #挂载点
# 强制卸载:  umount -l  [挂载源或挂载点]  # 查看挂载信息  df
# 查看/操作设备内容需要先挂载[root@localhost dev]# mount /dev/sr0 /opt/ mount: /dev/sr0 写保护,将以只读⽅式挂载 # 查看是否挂载成功[root@localhost ~]# df  ⽂件系统    1K-块    已⽤    可⽤ 已⽤% 挂载点 /dev/sr0  4480476  4480476  0  100% /opt  # 浏览光盘内容[root@localhost dev]# ls /opt/  CentOS_BuildTag  EULA  images    LiveOS repodata    RPM-GPG-KEY-CentOS-Testing-7 EFI              GPL  isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL  # 查看光盘上的安装包。格式都是以.rpm 结尾的[root@localhost dev]# ls /opt/Packages/ ...... 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 ~]# uname -m  x86_64# 查看系统内核信息[root@localhost ~]# uname -r  3.10.0-1160.49.1.el7.x86_64
# 安装:rpm -ivh [软件包名称]  -v  #显⽰安装过程  -i  #显⽰安装包的详细信息  -h  #安装包哈希标记 # 卸载:rpm -e [软件包名称]# 升级:rpm -Uvh [软件包名称]
1、下载安装包
2、安装  [root@localhost ~]# rpm -qip /opt/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm  #本地镜像  或  [root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm                      >>>>>>### [100%]  Updating /   1:zsh-5.0.2-34.el7_8.2          >>>>>>### [100%]
3、卸载 [root@localhost ~]# rpm -e zsh
4、更新  [root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm                    >>>>>>### [100%]  Updating /   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 -qi zsh
8、查看是否安装某软件  [root@localhost ~]# rpm -q zsh
9、查看当前系统安装了哪些rpm 软件  [root@localhost ~]# rpm -qa    10、查看软件的安装路径,查看安装了哪些东西  [root@localhost ~]# rpm -ql zsh
2、yum 安装
yum 是CentOS 的软件包管理⼯具,⾃动为我们解决软件依赖问题。yum 包管理⼯具必须使⽤yum 源指定软件下载地址去下载需要安装的软件包。
配置的路径是:/pos.d
要成功的使⽤ YUM ⼯具安装更新软件或系统,就需要有⼀个包含各种 rpm 软件包的repository (软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、⽹络源)
知识储备:
本地&远程仓库搭建
上传与下载:yum install lrzsz -y  扩展:
1、查看未安装包的软件信息  [root@localhost ~]# rpm -qip /opt/Packages/snappy-1.1.0-3.el7.x86_64.rpm
基于rpm 安装,⾃动解决依赖。
# yum 源命令:  # 查看yum 配置⽂件  [root@localhost ~]# ls /pos.d
# 查看当前的有哪些仓库地址  [root@localhost ~]# yum repolist        # 查看包括启⽤或禁⽤的所有yum 仓库  [root@localhost ~]# yum repolist all        # 清空yum 缓存  [root@localhost ~]# yum clean all          # ⽣成yum 缓存  [root@localhost ~]#yum makecache        # yum 常⽤的基础命令:
# 1、安装软件包的命令  yum install [软件包的名称]    参数:    -y : 免交互安装    --nogpgcheck : 忽略公钥认证
# 2、卸载软件(直接将软件的依赖包⼀起删除)  yum remove [软件包名称]    参数:    -y : 免交互移除
# 3、更新软件  yum update [软件包名称]      参数:    -y : 免交互更新  ps :如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。  # 4、查看当前系统需要更新软件  yum check-update        # 5、重装软件  yum reinstall [软件包名称]      # 6、搜索软件包  yum search [软件包名称]  yum 安装的⽣命周期: 1、执⾏yum install zsh -y  2、去 /pos.d/ 以 .repo 结尾的⽂件 3、通过 .repo ⽂件中的链接,到对应的软件仓库 4、在对
应的软件仓库中下载指定的软件包 5、缓存⾄ /var/cache/yum/ 6、根据缓存,安装软件包 7、删除软件包(keepcache 是否保存缓存,0 代表不保存 , 1 代表保存)
# wget:下载⽂件如果系统中没有wget,执⾏如下命令:yum install wget -y
wget url    参数:    -O  #指定下载⽂件的路径及名称      # curl:读取⽂件  curl :读取⽂件  参数:    -o  #指定下载⽂件的路径及名称    -k  #免证书认证 curl 命令是⼀个利⽤URL 规则在命令⾏下⼯作的⽂件传输⼯具。它⽀持⽂件的上传和下载,所以是综合传输⼯具,但按传统,习惯称curl 为下载⼯具。作为⼀款强⼒⼯具,curl ⽀持包括HTTP 、HTTPS 、[ftp]等众多协议,还⽀
持POST 、cookies 、认证、从指定偏移处下载部分⽂件、⽤户代理字符串、限速、⽂件⼤⼩、进度条等特征。做⽹
⻚处理流程和数据检索⾃动化,curl 可以祝⼀臂之⼒。
[root@localhost ~]# curl -o 123.png /img/hello.png  # ps: 如果遇到下载提⽰⽆法简历SSL 链接,使⽤-k 选项或者--insecure  curl -k -o 123.png /img/hello.png    # sz 下载⽂件与rz 上传⽂件 ps:  yum install lrzsz -y
sz : 下载⽂件(从linux 系统下载⽂件到windows )系统默认没有该命令,需要下载:yum install lrzsz -
y
将服务器上选定的⽂件下载/发送到本机,
# rz : 上传⽂件(将windows ⽂件上传⾄Linux)
rz [⽂件路径] # 系统默认没有该命令,需要下载:yum install lrzsz -y  # 运⾏该命令会弹出⼀个⽂件选择窗⼝,从本地选择⽂件上传到服务器。  [root@localhost opt]# rz # 如果⽂件已经存,则上传失败,可以⽤-E 选项解决  [root@localhost opt]# rz -E # -E 如果⽬标⽂件名已经存在,则重命名传⼊⽂件。新⽂件名将添加⼀个点和⼀个数字(0..999)        rz 回车即可选择上传⽂件 也可以进⼊都某个路径下将⽂件直接拖⼊~ (⼈性化)
本地仓库:
# 1、下载安装必须的软件包yum-utils ,createrepo    yum install yum-utils createrepo -y    # 2、创建软件包⽬录,存放软件包的    mkdir -p /opt/repos
3、源码包安装(编译安装)
1.源码包是什么
源码包指的是开发编写好的程序源代码,但并没有将其编译为⼀个能正常使⽤的⼯具。-
2.为什么要学习源码包
1、部分软件官⽹仅提供源码包,需要⾃⾏编译并安装。
2、部分软件在新版本有⼀些特性还没来得及制作成rpm 包时,可以⾃⾏编译软件使⽤其新特性。
3.源码包的优缺点
优点是:
可以⾃⾏修改源代码
可以定制需要的相关功能
新版软件优先更新源码
缺点是:
相对yum 安装软件会复杂很多。
标准化实施困难,⾃动化就⽆法落地。
4.源码包如何获取
常见的软件包都可以在官⽹获取源码包,⽐如 apache 、nginx 、mysql 等等
5.将源码包编译为⼆进制可执⾏⽂件步骤如下,简称安装三步曲
注意: 此⽅法不是百分百通⽤于所有源码包,建议拿到源码包解压后,进⼊到⽬录相关的README 帮助⽂档  # 3、下载对应的软件    mkdir -p /opt/repos/Packages        把对应的软件包复制到 Packages ⽬录中    # 4、初始化软件仓库  createrepo /opt/repos    # 5、添加yum 源,将软件包复制到yum 仓库⽬录    cd /pos.d/    mkdir backup      mv *.repo backup/    [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
[root@localhost /pos.d]# cat po
[opt_repos] #源的名称      name=added from: file:///opt/repos  #源的简介      baseurl=file:///opt/repos #源的下载地址      enabled=1 #是否启⽤:1启⽤ ,0不启⽤
# 6、清空yum 缓存    yum clean all        # 7、⽣成yum 缓存    yum makecache    # 8、测试    yum in
stall zsh  远程仓库  参考本地版前7步      # 1、安装远程访问软件(Nginx )      # ① 配备CentOS-7 源      [root@localhost ~]# curl -o /pos.porepo.huaweicloud/repository/po    # ② 配备EPEL 源      [root@localhost ~]# yum-config-manager --add-repo=repo.huaweicloud/epel/7/x86_64/  # ③ 安装nginx      [root@localhost ~]# yum install nginx --nogpgcheck
# 2、修改nginx 的配置⽂件      /en/docs/http/ngx_http_autoindex_module.html          [root@localhost ~]# vim /etc/f      # include /etc/nginx/conf.d/*.conf;      root        /opt/repos;      autoindex on;        # 测试更改是否成功      [root@localhost ~]# nginx -t          # 启动nginx      [root@localhost ~]# systemctl start nginx          # 关闭selinux 和firewalld      [root@localhost ~]# systemctl disable --now firewalld      [root@localhost ~]# setenforce 0            # 3、在测试机      [root@pos.d]# yum install yum-utils -y
# 备份源      [root@pos.d]# mkdir backup      [root@pos.d]# mv *.repo backup/
# 添加源      [root@pos.d]# yum-config-manager --add-repo=192.168.15.101/
# 刷新缓存      [root@pos.d]# yum clean all      [root@pos.d]# yum
makecache
# 4、测试      [root@localhost ~]# yum install zsh -y 编译安装
# 1、基础环境准备  [root@localhost ~]# yum install -y gcc make wget
压缩打包
1、 什么是打包压缩
打包指的是将多个⽂件和⽬录合并为⼀个特殊⽂件,然后将该特殊⽂件进⾏压缩,最终得到⼀个压缩包
2、为什么使⽤压缩包1.减少占⽤的体积
2.加快⽹络的传输
3、Windows 的压缩和Linux 的有什么不同
windows: zip rar(linux 不⽀持rar)
linux: tar.bz2 .gz
如果希望windows 的软件能被linux 解压,或者linux 的软件包被windows 能识别,选择zip.PS: 压缩包的后缀不重要,但⼀定要携带.4、Linux 下常⻅的压缩包类型
格式压缩⼯具
.zip zip 压缩⼯具
.gz gzip 压缩⼯具,只能压缩⽂件,会删除源⽂件(通常配合tar 使⽤)
.bz2bzip2 压缩⼯具,只能压缩⽂件,会删除源⽂件(通常配合tar 使⽤)
. 先使⽤tar 命令归档打包,然后使⽤ gzip 压缩
.tar.bz2先使⽤tar 命令归档打包,然后使⽤ bzip 压缩
Linux 常见的压缩包有哪些?
gzip
bzip2
gzip 打包与压缩
使⽤gzip ⽅式进⾏压缩⽂件
bzip2打包与压缩# 2、下载源码包 [root@localhost ~]# wget /download/nginx-1.20.  # 2、解压源码包, 并进⼊相应⽬录 [root@localhost ~]# tar -xf nginx-1.20.  [root@localhost ~]# cd nginx-1.20.2  # 3、配置相关的选项,并⽣成Makefile  [root@localhost nginx-1.20.2]# ./configure
# 4、将Makefile ⽂件编译可执⾏⼆进制程序 [root@localhost nginx-1.20.2]# make
# 5、将⼆进制⽂件拷贝⾄对应的⽬录中 [root@localhost nginx-1.20.2]# make install
# 6、启动 [root@localhost ~]# /usr/local/nginx/sbin/nginx  # 启动后浏览器访问ip 地址即可查看是否安装成功  # 7、关闭 [root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop
知识储备:
tar -xf [压缩包名称]
知识拓展:
⾃定制安装,修改源代码包名以 nginx 为例  # 1、关闭nginx 服务后,删除源代码包,⽬录  [root@localhost ~]# rm -rf nginx-1.20.2  [root@localhost ~]# rm -rf /usr/local/nginx/  # 2、重新解压源码包, 并进⼊相应⽬录 [root@localhost ~]# tar -xf nginx-1.20.  [root@localhost ~]# cd nginx-1.20.2  # 3、到对应的版本,版本号  [root@localhost nginx-1.20.2]# grep -R 'nginx' ./  [root@localhost nginx-1.20.2]# grep -R '1.20.2' ./    ./src/core/nginx.h:#define NGINX_VERSION  "1.20.2"  #可以看到版本的路径  # 修改⽂件,修改完后:wq 退出  [root@localhost nginx-1.20.2]# vim ./src/core/nginx.h
'''    /*    * 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      '''  # 配置相关的选项,并⽣成Makefile  [root@localhost nginx-1.20.2]# ./configure
# 将Makefile ⽂件编译可执⾏⼆进制程序  [root@localhost nginx-1.20.2]# make
# 将⼆进制⽂件拷贝⾄对应的⽬录中  [root@localhost nginx-1.20.2]# make install
# 启动  [root@localhost ~]# /usr/local/nginx/sbin/nginx  # 启动后浏览器访问ip 地址即可查看是否安装成功    # 修改后看到的是已改过的名称和版本,以 192.168.15.100/sdasdas 为例    404 Not Found      GengFeng/1.0# 压缩命令:gzip [压缩⽂件]# 解压命令:gzip -d [压缩包]
[root@localhost ~]# gzip file      #对⽂件进⾏压缩[root@localhost ~]#     #查看gz 压缩后的⽂件[root@localhost ~]# gzip - #解压gzip 的压缩包
#使⽤场景:当需要让某个⽂件不⽣效时[root@localhost ~]# po --> [root@localhost ~]# po.gz --> 查看不想解压的压缩包⽂件内容
tar 打包与压缩
tar 是linux 下最常⽤的压缩与解压缩, ⽀持⽂件和⽬录的压缩归档# 解压命令:bzip2 -d [压缩包] [root@localhost ~]# bzip2 file        #对⽂件进⾏压缩[root@localhost ~]# bzmore file.bz2  #查看bz2压缩后的⽂件[root@localhost ~]# bzip2 -d file.bz2 #解压bzip2的压缩包 tar : 打包的命令  参数:    -f  #指定包⽂件名称,多参数f 写最后    -c  #打包    -v  #输出命令的打包或解包的过程    -x  #解压(解压不需要指定压缩类型)    -t  #查看压缩包内部的内容            -z  #使⽤gzip 压缩压缩包    -j  #使⽤bzip2
压缩压缩包    -J  #使⽤xz 压缩归档后的⽂件()    -C  #指定解压⽬录位置    -P  #忽略使⽤绝对路径时报出的错误    -X  #排除多个⽂件(写⼊需要排除的⽂件名称)    -h  #打包软链接                  --hard-dereference  #打包硬链接    --exclude  #在打包的时候写⼊需要排除⽂件或⽬录
#常⽤打包与压缩组合czf    #打包 格式cjf    #打包tar.bz 格式cJf    #打包 格式
zxf    #解压 格式jxf    #解压tar.bz 格式xf    #⾃动选择解压模式tf    #查看压缩包内容        注意:    1、压缩时是什么路径,解压缩时就是什么路径,所以为了安全不要使⽤绝对路径压缩。    2、-f 参数后⾯永远跟压缩包名称        # tar 命令练习      #1.环境准备  [root@localhost ~]# yum install mariadb-server  [root@localhost ~]# systemctl start mariadb  [root@localhost ~]# mkdir /backup
#案例1.mysql 备份及恢复  [root@localhost ~]# tar cJf /backup/ /var/lib/mysql  [root@localhost ~]# tar xf /backup/ -C /
#案例2 mysql 备份及恢复  [root@localhost ~]# cd /var/lib/mysql  [root@localhost mysql]# tar cJf /backup/ *  [root@localhost mysql]# tar tf /backup/  [root@localhost mysql]# tar xf /backup/ -C /var/lib/mysql

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论