linux打包和解压
1.tar命令方式:tar本质上是使用gzip对 .tar.gz格式的文件和指定目录进行解压和打包
tar -zcf 目录路径 #打包命令
tar -zxf 压缩包完整格式名 -C 指定解压的路径 #解压命令,默认解压保存在当前目录
2.unzip命令方式:使用unzip是为了对war包进行解压操作,centos最小安装没有unzip程序,需要去远程仓库下载
unzip -oq war包文件名 -d 指定文件解压缩后所要存储的目录路径
Linux安装应用程序的两种方式
1.yum方式:yum方式安装应用程序是通过远程仓库存在的程序进行下载安装,yum方式安装应用程序相比rpm方式安装应用程序的优点在于自动帮你解决依赖的问题,简化了安装过程,只要选择好你需要安装的应用程序,安装过程是不需要人工干预了。yum是rpm的前端程序。
-
yum搜索远程仓库的命令
yum search 要搜索的应用名
因为centos的最小安装是没有查看IP地址的命令的,所以我要去远程仓库看看有没有net-tools这个应用程序,它可以帮助我们查看centos的IP地址;在双虚线下面可以看到匹配了一款应用程序,它就是我们要安装的查看IP地址的工具
[root@192 ~]# yum search net-tools
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.163.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 242 kB 00:00:00
(3/4): updates/7/x86_64/primary_db | 8.8 MB 00:00:01
(4/4): base/7/x86_64/primary_db | 6.1 MB 00:00:05
================================================================== N/S matched: net-tools ==================================================================
net-tools.x86_64 : Basic networking tools
名称和简介匹配 only,使用“search all”试试。
[root@192 ~]#
-
yum安装程序的命令
//参数 y 表示安装过程中需要选择同意或者不同意时一律选同意 yes
yum -y install 应用程序名
当最后显示完毕时表明应用程序安装成功
yum -y install net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================================================================================================
Package 架构 版本 源 大小
============================================================================================================================================================
正在安装:
net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k
事务概要
============================================================================================================================================================
安装 1 软件包
总下载量:306 k
安装大小:917 k
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY --:--:-- ETA
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm 的公钥尚未安装
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包 : centos-release-7-9.2009.0.el7.centos.x86_64 (@anaconda)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
验证中 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
已安装:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
完毕!
-
yum查看已安装的某个程序的详细信息
//查看指定应用程序的信息
yum info 应用程序名
//查看系统中已安装的程序(包括系统自带的程序)
yum list
yum info net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.163.com
已安装的软件包
名称 :net-tools
架构 :x86_64
版本 :2.0
发布 :0.25.20131004git.el7
大小 :917 k
源 :installed
来自源:base
简介 : Basic networking tools
网址 :http://sourceforge.net/projects/net-tools/
协议 : GPLv2+
描述 : The net-tools package contains basic networking tools,
: including ifconfig, netstat, route, and others.
: Most of them are obsolete. For replacement check iproute package.
-
yum支持卸载程序,这个过程也是自动完成的
yum -y remove 指定要卸载的程序名
2.编译方式:使用make命令,通过官网或者GitHub下载应用程序的源码,然后对源码进行编译。不过编译方式存在几个小坑,新手一般都会遇到。这里会将我自己遇到的问题一一复现,希望大家能少走点弯路。
-
下载程序源码
这里以 redis 作为编译对象,我们可以前往redis的GitHub下载页下载最新版本的radis
-
使用xftp传输下载好的压缩包
在linux中将位置切换至 /usr/local 目录下,使用xftp将压缩包上传在这个目录下即可
-
解压压缩包
tar zxf redis-6.0.14.tar.gz
此时在 /usr/local 目录下就有一个redis-6.0.14的目录文件
-
下载编译器
make命令是linux上对源码发出编译要求,实际上编译的过程还是需要是使用对应编译器对源码编译以生成可执行文件。因为 redis 是c语言开发的,所以需要下载与之对应的 gcc 编译器。这里有一个小坑,下载最新版的redis版本时,要使用最新版本的gcc编译器。否则编译过程中会提示例如有 报错structredisServer没有名为XXXX的成员 等问题导致编译失败,我们先使用yum方式安装远程仓库上的gcc
yum -y install gcc
因为远程仓库上的版本不是最新版本,所以升级版本。当前时间是2021年7月19号,最新版本号是10,所以我们就升级10版本。请注意,一定要下载所处时间的最新版本,避免出现各种问题
yum -y install centos-release-scl
yum -y install devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils
scl enable devtoolset-10 bash
-
使用make命令进行编译
将当前位置切换至解压后的目录下,直接使用make命令完成编译
#当前目录位置为redis-6.0.14
[root@192 redis-6.0.14]# make
这里还有一个小坑,当没有升级gcc版本时就进行make编译而报错后再升级版本重新使用make编译时同样会有错误,此时只需要删除解压生成的目录,重新解压redis。再次使用make命令就可以编译成功了