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小时内删除。
linux下配置php开发环境
« 上一篇
Ubuntu10.04下C连接mysql数据库
下一篇 »
发表评论