Linux三种软件包

root
233
文章
0
评论
2020年2月23日18:26:31 评论 4171字阅读13分54秒

Linux软件包管理

Linux软件包安装方式

1.源码编译

源码编译安装比较灵活,只编译你想要的参数(中小公司常用)

#比喻自己做饭吃

2.yum或者rpm方式安装

优点:简单,方便,但是不够灵活。---比喻,别人做什么饭你吃什么

3)高级安装结合了编译安装和yum/rpm的双重优点:

通过源码(根据业务需求)-->制作成符合你自己的rpm-->放到自己的yum仓库,然后在全网的客户端通过yum实现批量部署,管理,升级

介绍Linux系统软件的安装、卸载、配置、维护以及如何构建企业本地YUM光盘源及HTTP本地源。

Linux软件包管理大致可分为二进制包、源码包,使用的工具也各不相同。Linux常见软件包分为两种,分别是源代码包(Source Code)二进制包(Binary Code)源代码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运行,二进制包无需编译,可以直接安装使用。

RPM软件包管理(二进制包 .rpm)

可以通过后缀简单区别源码包和二进制包,例如.tar.gz(Linux标准压缩包格式)、.zip、.rar结尾的包通常称之为源码包,以.rpm结尾的软件包称之为二进制包。真正区分是否为源码还是二进制还得基于代码里面的文件来判断,例如包含.h、.c、.cpp、.cc等结尾的源码文件,称之为源码包,而代码代码里面存在bin可执行文件,称之为二进制包。

CentOS操作系统中有一款默认软件管理的工具,红帽包管理工具(Red Hat Package Manager,RPM)。

使用RPM工具可以对软件包实现快速安装、管理及维护。RPM管理工具适用的操作系统包括:CentOS,RedHat,Fedora,SUSE等,RPM工具常用于管理.rpm后缀结尾的软件包。

RPM软件包命令规则详解如下:

RPM包命名格式为:

  • name-version.rpm
  • name-version-noarch.rpm
  • name-version-arch.src.rpm

如下软件包格式:

  • epel-release-6-8.noarch.rpm
  • perl-Pod-Plainer-1.03-1.el6.noarch.rpm
  • yasm-1.2.0-4.el7.x86_64.rpm

RPM包格式解析如下:

name 软件名称,例如yasm、perl-pod-Plainer;

version 版本号,1.2.0通用格式:“主版本号.次版本号.修正号”;

数字    表示是发布版本号,该RPM包是第几次编译生成的;

arch 适用的硬件平台,RPM支持的平台有:i386、i586、i686、x86_64、sparc、alpha等。

.rpm 后缀包表示编译好的二进制包,可用rpm命令直接安装;

.src.rpm 源代码包,源码编译生成.rpm格式的RPM包方可使用;

el*   软件包发行版本,el6表示该软件包适用于RHEL 6.x/CentOS 6.x;

devel: 开发包;(开发组包 --> mysql --> error: 缺少XX library | .h .c 文件 -->XX-devel)

noarch: 软件包可以在任何平台上安装。

RPM工具命令详解如下:

rpm 互联网基本不用 银行 - 深圳中信 - (不许允许你用外网的软件包 nginx.org - nginx.rpm 必须红帽官网 --> 也不允许你建立仓库yum--> 100个rpm 一个个装 rpm - 出现更多的依赖环境 --100个 500个 软件A 和B 和C 形成死循环解决方法:

将rpm 放到一个目录下 rpm localinstall *.rpm)

RPM 选项 PACKAGE_NAME

rpm -qa|grep 软件名称           查看是否安装此软件

rpm  -ql 包名                          查看rpm包里的内容

rpm -e 软件名 --nodeps          卸载软件(最好用yum remove 的方式卸载)

rpm -c 软件名                           查看软件主要配置文件

rpm  -qf  `which 命令`              查看这个命令属于哪个rpm包

rpm -ivh 包名                           安装rpm软件包;

rpm  -Uvh 包名                          升级rpm软件包

[root@nfs01 ~]# rpm -qf `which httpd`
httpd-2.4.6-89.el7.centos.1.x86_64

 

Tar软件包管理

5个参数c x v f j

标准的压缩包结尾: tar.gz --》 (省略z参数)压缩c 解压x -这俩是无法一起使用 v显示解压/压缩过程 f文件

tar 少数在参数前不需要-或者--的命令 tar xf filename.tar.gz

tar czvf backup.tar.gz /root 压缩的格式

特殊的结尾:bz2 j参数参与

tar xf filename.tar.gx --》 解压到当前目录下

tar jcvf backup.tar.bz2 /root 压缩的格式
-C /opt 解压到/opt下

tar -tf 包名                      查看tar格式的压缩包内容

-----------------------------------------------------------------------------

注意

tar软件包解压,他识别你有的文件名称,会进行覆盖,也不会询问你是否覆盖,要不想被覆盖

--skip-old-files  参数 解决这个问题

[root@nfs01 ~]# echo 123 >xx.sh 
[root@nfs01 ~]# cat xx.sh 
123
[root@nfs01 ~]# tar zcvf xx.tar.gz xx.sh 
xx.sh

[root@nfs01 ~]# echo 12345 >xx.sh 
[root@nfs01 ~]# tar xf xx.tar.gz --skip-old-files
[root@nfs01 ~]# cat xx.sh 
12345

 

ZIP软件包管理(unzip解压 xxx.zip --- wordpress | discuz)

ZIP也是计算机文件的压缩的算法, ZIP通常使用后缀名“.zip”。

主流的压缩格式包括tar、rar、zip、war、gzip、bz2、iso等。从性能上比较,TAR、WAR、RAR格式较ZIP格式压缩率较高,但压缩时间远远高于ZIP,Zip命令行工具可以实现对zip属性的包进行管理,也可以将文件及文件及打包成zip格式。如下为ZIP工具打包常见参数详解:

通过unzip工具解压thinkmo.zip文件夹中所有内容:

unzip thinkmo.zip

unzip thinkmo.zip -d /data/backup/ 可以-d指定解压后的目录

 

源码包软件安装 (中小企业 都是用源码 yum -- 大型企业批量部署)

我详细会写一些常用软件的编译安装,这里介绍一哈

通常使用RPM工具管理.rpm结尾的二进制包,而标准的.zip、tar结尾的源代码包则不能使用RPM工具去安装、卸载及升级,源码包安装有三个步骤,如下:

./configure 预编译,主要用于检测系统基准环境库是否满足,生成MakeFile文件; -->

--prefix=/usr/local/nginx|apache|mysql 路径 安装在哪

--user=

--group=

其他的就是功能参数 --with-http_ssl_module

make 编译,基于第一步生成的makefile文件,进行源代码的编译;

-j(2/4/8/16/32/64 -- 内核数 - 同时使用多少内核进程编译,提升速率)

make install 安装,编译完毕之后,将相关的可运行文件安装至系统中;-j

使用make编译时,Linux操作系统必须有GCC编译器,用于编译源码。

编译安装三部曲一般两步就够了,

  • ./configure 预编译
  • make -j8 && macke install 合在一起

 

YUM软件包管理

前端软件包管理器(Yellow Updater Modified,YUM)适用于CentOS、Fedora、RedHat及SUSE中的Shell命令行,主要用于管理RPM包,于RPM工具使用范围类似,YUM工具能够从指定的服务器自动下载RPM包并且安装,还可以自动处理依赖性关系。

使用RPM工具管理和安装软件时,会发现rpm包有依赖,需要逐个手动下载安装,而YUM工具的最大便利就是可以自动安装所有依赖的软件包,从而提升效率,节省时间。

YUM工作原理

YUM正常运行,需要依赖两个部分:

  • 一是YUM源端(本地源、网络源),
  • 二是YUM客户端(安装端),也即用户使用端。

YUM客户端安装的所有RPM包都是来自YUM服务端,YUM源端通过HTTP或者FTP服务器发布。而YUM客户端能够从YUM源端下载依赖的RPM包是由于在YUM源端生成了RPM包的基准信息,包括RPM包版本号、配置文件、二进制信息、依赖关系等。

YUM客户端需要安装软件或者搜索软件,会查找/etc/yum.repos.d下以.repo结尾文件,CentOS Linux默认的.repo文件名为CentOS-Base.repo,该文件中配置了YUM源端的镜像地址,所以每次安装、升级RPM包,YUM客户端均会查找.repo文件。

YUM客户端如果配置了CentOS官方repo源,客户端操作系统必须能联外网,满足网络条件,才能下载软件并安装,如果没有网络,也可以构建光盘源或者内部YUM源。在只要YUM客户端时,YUM客户端安装软件,默认会把YUM源地址、Header信息、软件包、数据库信息、缓存文件存储在/var/cache/yum中,每次使用YUM工具,YUM优先通过Cache查找相关软件包,Cache中不存在,然后在访问外网YUM源。

yum常用命令:

yum provides "*/rz"                   列出rz命令由哪个软件包提供;

yum provides  命令                      有时候这样才能

yum install httpd                        安装httpd软件包;

yum remove httpd                      删除程序包httpd;

yum clean all                               清除缓存目录下的软件包及旧的headers。

yum makecache                     --- 提前将所有的已有yum源进行缓存以下

 

继续阅读
历史上的今天
2月
23
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年2月23日18:26:31
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Kafka安装 软件管理

Kafka安装

Kafka安装 kafka定义: kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域 官网地址:http://kafka.apache.org/ 下载地址:http:/...
VSFTPd 软件管理

VSFTPd

VSFTPd vsFTPd的软件信息 服务端软件名:vsftpd 客户端软件名:ftp 服务名:vsftpd 端口号:20,21,地址范围内随机端口     vsFTP是linux...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: