软件的组成:代码、可执行文件、配置文件、依赖库 ...
1、Linux的打包压缩
打包:将多个文件放到一个文件里,占用空间不变
压缩:将文件压缩,占用空间变小
1.1 zip/unzip 压缩/解压命令
文件名后缀为.zip
压缩:zip [选项] 压缩后的文件名(x.zip) 将要压缩的内容(可以是多个) 选项: -r 压缩目录 -v 打印详细信息 -number [1-9] 压缩级别 数字越大,压缩的文件越小,默认级别是6 压缩后的文件名那里直接写文件名就是在当前目录下,也可以使用绝对路径 解压:unzip [选项] 要解压的文件(x.zip) 选项: -d 指定解压后的存放路径 eg:unzip -d /home /data/hello.zip
压缩后原文件依然存在,解压后原压缩包依然存在
1.2 gzip/gunzip 压缩/解压命令
gzip/gunzip只能对文件操作,对目录操作本质还是对目录里面的文件操作,不影响目录
文件名后缀为.gz
压缩:gzip 文件名 自动生成 将原文件直接变为 文件名.gz 的压缩文件,原文件消失 gzip -r 目录名 将目录内的所有文件直接变为 文件名.gz 的压缩文件,原文件消失,目录不被压缩 解压:gzip -d 压缩文件名 自动生成 将压缩文件(x.gz)解压为 文件名 gunzip 压缩文件名 自动生成 将压缩文件(x.gz)解压为 文件名 gzip -d -r 目录 将该目录下所有 压缩文件(x.gz)解压为 文件名 gunzip -r 目录 将该目录下所有 压缩文件(x.gz)解压为 文件名
解压后原压缩文件消失,压缩后原文件消失
1.3 bzip2/bunzip2压缩解压命令
文件后缀为 ".bz2",相比gzip,bzip2不能压缩整个目录里面的文件,只能压缩文件;-k 参数可以不删除原文件,看起来比gzip安全一些
压缩:bzip2 文件名 自动生成 将原文件直接变为 文件名.bz2 的压缩文件,原文件消失 bzip2 -k 文件名 自动生成 将原文件直接变为 文件名.bz2 的压缩文件,原文件不消失 解压:bzip2 -d 压缩文件名 自动生成 将压缩文件(x.bz2)解压为 文件名 bunzip2 压缩文件名 自动生成 将压缩文件(x.bz2)解压为 文件名 bunzip2 -k 压缩文件名 自动生成 将压缩文件(x.bz2)解压为 文件名 原压缩文件不消失
1.4 tar 打包/解包命令
打包压缩:tar -czvf 文件名.tar.gz 要打包压缩的文件(可以多个) 解包: tar -xzvf 文件名.tar.gz 直接解压到当前目录,名称为文件名 tar -xzvf 文件名.tar.gz -C 目录名 解压到指定目录 选项: -c 打包 -z 使用gzip -j 使用bzip2 -v 显示详细信息 -f 指定打包压缩的输出文件名 用z就是tar.gz 用j就是tar.bz2 如果打包文件目录下直接解包,则将原文件内容覆盖
2、Linux 软件包
2.1 源码安装
-
下载源码包放入Linux系统中,或者使用 wget 命令直接下载
-
解压缩
-
在软件目录下运行 ./configure (配置)
-
编译 make
-
安装 make install
eg:Nginx的源码简单安装
(1)进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载
wget http://nginx.org/download/nginx-1.16.1.tar.gz
(2)建议大家将下载的资源进行包管理
mkdir -p nginx/core mv nginx-1.16.1.tar.gz nginx/core
(3)解压缩
tar -xzf nginx-1.16.1.tar.gz
(4)进入资源文件中(nginx-1.16.1),发现configure
./configure
(5)编译
make
(6)安装
make install
2.2 rpm 包
RPM(Red Hat Package Manager)是一种用于在Linux操作系统中安装、卸载、更新和管理软件包的工具。
RPM使用.rpm文件作为软件包的格式,这些文件包含了软件的二进制文件、配置文件、文档等。
如果rpm包中依赖其他包,需要手动下载
2.2.1 rpm包安装
rpm -ivh package_name.rpm
rpm包安装默认路径
安装路径 | 含 义 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
2.2.2 rpm 包升级
rpm -Uvh package_name.rpm
2.2.3 查看RPM包信息及安装的文件
查看系统中已经安装的rpm包
rpm -qa # 查看系统中安装的全部rpm包 rpm -qa |grep nginx # 查看系统中是否安装了具体的软件包,可以通过grep来对输出内容做搜索 rpm -q nginx # 查看系统中是否安装了具体的软件包
查看RPM包详细信息
rpm -qi nginx 查看软件包的名称、版本信息等等
查看rpm包安装的文件
rpm -ql nginx
查看一个文件属于哪一个安装的rpm包
rpm -qf 文件名
[root@nebulalinux03 ~]# rpm -qf /var/lib/nginx nginx-1.20.1-10.el7.x86_64
2.2.4 RPM卸载
rpm -e package_name
2.3 yum 包管理
yum
是一个rpm的管理器,可以用来解决rpm的依赖关系。
当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。
2.3.1 搭建yum网络源
备份:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 或 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 执行 yum clean all(清除之前的缓存) 和 yum makecache (生成新的缓存)
2.3.2 yum 安装命令
yum install 包名 yum install -y 包名 自动安装 yum localinstall rpm包 用yum安装下载到本地的rpm包
2.3.3 yum 查询命令
yum list 查询所有已安装和可安装的软件包 Installed Packages Available Packages yum list 包名 查询执行软件包的安装情况 是否安装 yum list installed 查询已安装的软件包 yum search 关键字 从 yum 源服务器上查找与关键字相关的所有软件包 yum info 包名 查询执行软件包的详细信息
2.3.4 yum 升级命令
yum -y update 升级所有软件包,不常用 yum -y update 包名 升级指定软件包,常用
2.3.5 yum 卸载命令
yum remove 包名 卸载指定软件包 如果要彻底卸载干净,先用 yum list installed | grep 软件包 查询安装的相关软件包,并将这些都卸载