无法定位软件包 deepin-boot-maker_Linux最全软件包管理!看这个就对了!

24bcab98-0e16-eb11-8da9-e4434bdf6706.gif

软件包命名规则的定义:

12345678910
name-Version-release.arch.rpm软件包的分类和拆包:    Application-Version-Arch.rpm,主包    Application-devel-Version-Arch.rpm,开发包    Application-utils-Version-Arch.rpm    Application-libs-Version-Arch.rpm由于包之间存在存在依赖关系,所以解决依赖包管理工具    yum:rpm的前端管理工具    apt-get:debian    dnf:Fedora 18+

查看二进制程序依赖的库文件

ldd BINARY_FILE

25bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

查看系统已经装载的所有的库文件

ldconfig -p,显示本已经缓存的库文件

28bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

加载库的配置文件路径:/etc/ld.so.conf.d/*.conf,/etc/ld.so.conf

包管理器:

实现程序包的安装、卸载、查询、升级和校验等管理操作
包文件的组成:
rpm包内文件
rpm的元数据
安装或卸载时的脚本
rpm安装包的数据库文件路径:/var/lib/rpm,如果删除这数据库,则无法实现原来的软件的安装、查询,等操作

29bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm

rpm {-i|install}[install-options] PACKAGE_FILE
-i,install
-v,verbose
-h,以#显示安装进度

2bbcab98-0e16-eb11-8da9-e4434bdf6706.png

rpm -K,检查程序包的完整性

2cbcab98-0e16-eb11-8da9-e4434bdf6706.png

rpm --import,导入程序包的密钥

rpm --root,指定安装的程序包的目录

2dbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -q,查询时只需使用包名
--scripts,查询安装包里的脚本

2ebcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -qa,查询所有符合条件的包

2fbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -ql,列出包安装后生成的文件列表

30bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -qf,查询某个文件是那个安装包生成的

31bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -p,查询还没安装的软件包的信息,通常与i,d,c等选项一起使用

rpm -qc,查询程序包的安装后生成配置文件

34bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -qd,查询程序包安装后生成的帮助文档

35bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm -qi,查询程序包的详细信息

37bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm --whatprovider CAPABILITY,查询指定CAPABILITY由那个包提供

[install-options]
--test,测试安装,不真正执行安装
--nodeps,忽略依赖关系,安装包时,包存在的依赖关系
--replacepkgs|replacefiles,覆盖安装,当某个包出现错误时,可以使用此选项
--nochecksignture,不检测来源的合法性,默认是检查
--nodigest,不检测包的完整性,默认是检查
--noscripts,不执行程序包里的脚本
%pre --nopre
%post --nopost
%preun --nopreun
%postun --nopostun
升级:
rpm {-u|--upgrade}[install-options] PACKAGE_FILE
upgrade,安装有旧版本,则升级,不存在则安装
freshen,安装有旧版本,则升级,不存在则不升级
强制:
force
注意:
1. 内核包的升级,一般使用安装新的内核包(rpm -ivh kernel-version),而不使用升级操作,实现多内核版本并存

3abcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

    2. 如果原程序包的配置文件曾被修改,安装或者升级该程序包,原有的程序包的配置文件将被自动重名为Package.rpm.config


卸载
rpm {-e|--erase}[--allmatches][--nodeps][--noscripts]PACKAGE_NAME...

3bbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

校验
rpm{-V|--verify}[select-options][verify-options]
S file
M Mode
5 digest,md5
T timestamp
U user ownership
G group ownership

3dbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

rpm包解包

rpm2cpio PACKAGE_FILE | cpio -idv

37bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum,解决rpm安装二进制程序时的产生的依赖关系

repo仓库的路径:/etc/yum.repos.d/
repo的缓存目录:/var/yum/cache
创建一个repo仓库:在/etc/yum.repos.d/新建一个*.repo文件
文件服务器:
http://
ftp://
file://
示例:

3fbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum [options] command
command
repolist,列出所有的repo仓库

40bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum install,安装指定的二进制程序

42bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum search,搜索仓库里带有特定关键字的包

43bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum  list,显示当前仓库的所有的包
installed,当前系统已经安装的包

44bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum remove,卸载指定的二进制程序

yum info,显示仓库里指定二进制程序的信息

47bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum history,显示yum命令的执行历史
info,显示yum历史的详细信息

49bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum  history list,显示已经执行过的yum的历史

yum histrory undo,撤销yum命令历史中指定的id执行的操作,相当于移除

4bbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum history redo,重新执行yum命令历史中指定的id执行的操作,相当于安装

4fbcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum clean,清理yum仓库的缓存信息
all,清理所有缓存信息

51bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

yum的repo配置文件中常用的变量
$realsever,当前OS的主版本号
$arch,平台
$basearch,基础平台

yum-config-manager --enable "仓库名"
yum-config-manager --disable "仓库名"

53bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

包组管理的相关命令:
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]
yum的命令行选项:
--nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件

程序包编译
C\C++:make项目管理器
configure脚本 --> Makefile.in --> Makefile
C语言源代码编译三步骤:
1. ./configure脚本
(1)传递相应的参数,指定启用特性等,生成相应的Makefile
(2)检查依赖的软件包
2. Make
3. Makeinstll

Linux云计算课程全新升级,云计算+安全+DevOps上线,改变速约~~~~

56bcab98-0e16-eb11-8da9-e4434bdf6706.jpeg

57bcab98-0e16-eb11-8da9-e4434bdf6706.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值