Linux下软件包管理

1、Linux系统中软件包分类

㈠ 软件包类型

① 二进制包

什么是二进制包?有什么特点?

1. 二进制包,指的是已经 1 好了的软件包,只需要直接安装就可以使用。

2. 二进制包,不需要编译,直接下载安装即可

3. 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适的

4. 二进制包,命名方式一般为: xlockmore-5.31-2.el6.x86_64.rpm

② 源码包

什么是源码包?有什么特点?

1. 源码包,指的是程序员写的原始的程序代码文件,不能够直接在计算机上运行。

2. 源码包,需要进行编译,变成二进制的软件包后,才可安装使用

3. 源码包,一般可以在任何的计算机上安装使用

4. 源码包,命名方式一般为:

软件包名.tar.gz

软件包名.tar.bz2

软件包名.tar.xz

软件包名.zip

③ 二进制源码包(了解)

什么是二进制源码包?有什么特点?

1. 二进制源码包,是一个半成品,安装后不能直接使用

2. 二进制源码包,需要使用 rpmbuild 工具重建成真正的 rpm 包或者重建成源码包才可安装使用

3. 二进制源码包,命名方式一般为:

mysql-community-5.7.25-1.el6.src.rpm

mysql-community-5.7.25-1.el7.src.rpm

㈡ 常见的二进制包

㈢ 总结二进制包和源码包区别

2、Linux系统中软件包安装方式

㈠ 二进制包

① rpm工具安装

首先,需要下载好rpm包到本地

然后,直接使用rpm工具安装

② yum/dnf工具安装

首先,需要配置软件仓库(里面存放很多软件包,但不一定在本地)

然后,使用yum/dnf工具安装

㈡ 源码包

① 根据需求配置

功能的定制

② 编译

使用编译器编译成二进制的软件包

③ 安装

将软件包安装到指定位置

④ 源码包安装优点

1. 可以在任意平台上编译安装,编译出来的软件包非常适应所在机器。

2. 可以在编译的时候,通过配置,对某些功能进行定制,开启或关闭相应的功能。

3、二进制rpm包如何管理(重点)

㈠ 如何获取rpm包

Linux只是内核,Linux发行版本:GNU/Linux

1. RedHat/Centos光盘

2. 推荐网站

www.rpmfind.net

rpm.pbone.net

3. 相应软件官方网站

http://www.mysql.com

http://nginx.org/packages/

㈡ 如何选择合适的rpm包

1. 选择适合当前系统的版本号

找不到适合的,才去尝试别的系统版本号

el6兼容el5;el5无法安装 el6

2. 选择适合当前计算机cpu的架构

x86_64包,只能安装在64位的系统上

i386,i586,i686的软件包可以安装在32和64位系统上

noarch表示这个软件包与硬件构架无关,可以通用

32位系统不能安装64位包

建议: 建议不要跨大版本号去安装软件包,尽量使用当前版本自带软件包安装

㈢ 如何管理rpm包

1)rpm工具管理

① rpm工具安装rpm包

# rpm -ivh 软件包
注意:软件包的名字必须写全,xxx.rpm

② rpm工具卸载rpm包

# rpm -e 软件包名字
注意:卸载软件只需要跟软件包名字即可

③ rpm包的升级rpm包

# rpm -Uvh 软件包
或者
# rpm -Fvh 软件包
选项说明:
-v:输出详细信息
-h:打印散列标记,一般和-v一起使用
-U:升级软件包,如果该软件包没安装,会自动帮你安装
-F:升级软件包,如果该软件包没安装,不会自动帮你安装

④ 查看rpm包相关信息

查看已经安装的软件的文件列表
rpm -ql 软件包名
查看未安装的rpm包里的文件列表
rpm -qlp 软件包(xxx.rpm)
查看已经安装的所有rpm包
rpm -qa 软件包名
rpm -aq|grep 软件包名字
查看已经安装软件的文档列表
rpm -qd 软件包名
查看已经安装软件的配置文件
rpm -qc 软件包名
查看已经安装软件的详细信息
rpm -qi 软件包名
查看指定文件来自哪个rpm包
rpm -qf 文件名

⑤ rpm工具其他安装选项

--force 表示强制
rpm -ivh 软件包 --force 强制安装软件包
rpm -e 软件包名 --force 强制卸载软件包
--nodeps 忽略依赖关系
rpm -ivh 软件包 --nodeps 忽略依赖关系安装
rpm -e 软件包 --nodeps 忽略依赖关系卸载
其他了解:
rpm --import key_file 导入公钥用于检查rpm文件的签名
rpm --checksig package.rpm 检查rpm包的签名

rpm工具管理rpm软件包

安装、卸载、升级、查看

缺点:有依赖关系需要我们人肉去解决 A---->B和C

2)yum(dnf)工具管理

yum/dnf优点:能够自动解决依赖关系

核心:需要有一个软件仓库,软件仓库指的是来存放软件包和软件包之间的依赖关系地方。

1. 需要有软件仓库

仓库可以在本地——>本地yum源

仓库可以在远程——>网络yum源——>网络必须ok

2. 需要告诉yum工具到哪个仓库里找

默认有一个地方,存放了xxx.repo文件——>定义了去哪个仓库里找

① 配置本地yum源

1)本地仓库的分类

BaseOS存储库

BaseOS存储库旨在提供一套核心的底层操作系统的功能,为基础软件安装库

AppStream存储库

AppStream存储库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用例。

AppStream中的内容有两种格式——熟悉的RPM格式和称为模块的RPM格式扩展

2)配置本地仓库

步骤1:挂载镜像到本地系统

[root@RedHat8 ~]# mount -o ro /dev/sr0 /mnt
列出BaseOS和AppStream的内容如下说明仓库已准备好
[root@RedHat8 ~]# ls /mnt/BaseOS/
Packages repodata
[root@RedHat8 ~]# ls /mnt/AppStream/
Packages repodata

步骤2:修改配置文件指定本地存储库

[root@RedHat8 yum.repos.d]# pwd
/etc/yum.repos.d
[root@RedHat8 yum.repos.d]# cat local.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

步骤3:查看是否成功

清空yum缓存
[root@RedHat8 yum.repos.d]# yum clean all
创建yum缓存
[root@RedHat8 yum.repos.d]# yum makecache
查看仓库
[root@RedHat8 yum.repos.d]# yum repolist
仓库标识 仓库名称 状态
AppStream AppStream 4,672
BaseOS BaseOS 1,658

② yum(dnf)工具使用

安装软件包

# yum -y install 软件包1 软件包2
# yum -y groupinstall "包组名"
注意:
1.其中,-y选项表示取消交互
2.包组里面包含很多的软件包。

卸载软件包

# yum -y remove 软件包名
# yum -y groupremove "包组名"

升级rpm包

# yum update 软件包名

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值