千家信息网

菜鸟学Linux 第029篇笔记 软件管理,rpm命令

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,菜鸟学Linux 第029篇笔记 软件管理,rpm命令应用程序:程序:底层Architecture密切相关C语言: 源代码-->(编译)二进制格式脚 本: 解释器(二进制程序)源代码-->编译-->链
千家信息网最后更新 2025年02月03日菜鸟学Linux 第029篇笔记 软件管理,rpm命令

菜鸟学Linux 第029篇笔记 软件管理,rpm命令




应用程序:

程序:底层Architecture密切相关

C语言: 源代码-->(编译)二进制格式

脚 本: 解释器(二进制程序)


源代码-->编译-->链接-->运行

程序:

静态

动态

静态链接

动态链接

程序:指令+数据

Linux 共享库 .so (shared object)

程序配置文件:

程序组成部分:

二进制程序

库(包含程序自己私有的库)会将其自己的库文件放入到/lib /usr/lib

配置文件

帮助文件


linux 一级目录

/boot

/etc

/usr

/var

/lib

/tmp

/bin

/sbin

/proc

/sys

/mnt

/media

/home

/root

/misc

/opt

/srv

安装软件所涉及的目录:

1.系统启动就需要用到的程序,不能挂载到额外的分区,必须在根上(帮助文档目录除外)

/etc, 程序配置文件

/bin, 程序二进制文件

/sbin, 程序二进制文件

/lib, 库文件

/usr/share/man(帮助文件) 全局共享只读目录


2.提供系统核心功能,可以单独分区(不推荐)

/usr/

bin

sbin

lib


3. 安装第三方软件,单独分区(推荐)

/usr/local

bin

sbin

lib

etc

man

/opt 早期第三方软件安装到此目录


其它目录

以下两个目录称为伪文件系统,不能单独分区,默认为空(启动后才会有)

/proc 给用户提供调用接口

/sys 硬件调用接口


/dev 设备文件 不可单独分区!!

udev 能够利用内核所提供的硬件信息,动态创建设备文件,

并给设备文件取一个让用户容易认识的名字


/home 家目录,建议单独 但作为服务器来讲用到不多

/root 管理员家目录 可以单独分区但不建议

/var 外围文件系统日志文件等等 建议单独分区

/boot 内核,initrd(initramfs) 建议单独分区

POST-->BIOS(HD)-->(MBR)bootloader(文件系统结构,ext2,ext3...)-->内核

/boot 一个分区 根lvm


程序:指令+数据

指令:芯片

CPU:普通指令,特权指令

指令集


编译 程序指令-->汇编指令-->所对应的芯片指令(intel,Amd,Powerpc...)



软件包管理器

1.打包成一文件:二进制程序,库文件,配置文件,帮助文件

2.生成数据库 追踪所安装的每一个文件

功能

1.制作软件包;

2.安装,卸载,升级,查询,校验;


Redhat,SUSE : RPM

Redhat Package Manager

RPM is Package Manager

Debian: dpt


依赖关系:

当用rpm安装软件时,有可能会遇到安装A软件需要先安装B软件

而安装B软件需要安装C软件, 此种关系称为依赖关系;

后端工具,rpm dpt 安装软件时,需要自己来解决安装软件时的依赖关系

需要手动安装该软件所依赖的其它软件

前端工具,yum apt-get 可以自动帮用户解决安装软件时的依赖关系

即自动安装所需要安装的其它软件

前端工具:yum apt-get

后端工具:RPM, dpt

yum: yellowdog Update Modifier


rpm命令

rpm:

数据库:/var/lib/rpm

rpmbuild:

安装、查询、卸载、升级、校验、数据库重建、验证数据包等工作


rpm命名:

包:组成部分

主包:

bind-9.7.1-1.i589.e15.rpm

子包:

bind-lib-9.7.1-1.8586.e15.rpm

包名格式

name-version-release-.arch.rpm

bind-major.minor.release-release.arch.rpm

主版本号:重大改进

次版本号:某个子功能发生重要变化

发行号:修正部分bug,调整一点功能


rpm包:

二进制格式

源代码格式

查看当前系统内核版本

uname ( print system information)

-a, --all

print all information, in the following order, except omit -p

and -i if unknown:


rpm command:

1.安装

rpm {-i|--install} [install-options] PACKAGE_FILE ...

rpm -ivh /path/name.rpm

--nodeps

Don't do a dependency check before installing or upgrading

a package. 忽略依赖关系,但是软件安装后可能会无法运行

--force 强行安装,可以实现重装或降级

--test Do not install the package, simply check for and report

potential conflicts.

2.查询

rpm -q PACKAGE_NAME 不能跟路径 查询指定的包是否已经安装 query

rpm -qa 查询已经安装的所有包 all

rpm -qi PACKAGE_NAME 查询指定包的说明信息 information

rpm -ql PACKAGE_NAME 查询指定包安装生成的文件列表list directory

rpm -qc PACKAGE_NAME 查询指定的安装包的配置文件config

rpm -qf /path/to/somefile 查询指定的文件是由哪个rpm包安装生成的;

-qd PACKAGE_NAME 查询软件包的帮助文件 docfiles

-q --scripts PACKAGE_NAME 查询软件包中包含的脚本

如果某rpm包尚未安装,我们需要查询其说明信息,安装以后会生成的文件

rpm -qpi /path/to/package.rpm

3.升级

rpm -Uvh /path/to/new_package_file.rpm 如果装有老版本的,则升级,否则安装

rpm -Fvh /path/to/new_package_file.rpm 如果装有老版本的,则升级,否则退出

--oldpackage 降级

4.卸载

rpm -e PACKAGE_NAME 卸载rpm包 erase

-nodeps 卸载但不删除所依赖的rpm包

5.校验

rpm -V PACKAGE_NAME 验证rpm软件包


6.重建rpm数据库

rpm

--rebuilddb: 重建数据库,一定会重新建立;

initdb: 初始华数据库,没有才建立,有就不用建立;

Use --initdb to create a new database if one doesn't already

exist (existing database is not overwritten),

use --rebuilddb to rebuild the database indices from the installed

package headers.


7.检验来源合法性,及软件包完整性

加密类型

对称:加密解密使用同一个密钥

非对称:一对密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去

单向:MD5

/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 存放验证信息 public key

如果没有导入验证信息rpm不可对软件包做数据认证

导入验证信息

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

rpm {-K|--checksig} [--nosignature] [--nodigest] /path/to/package.rpm

用来验证安装包的完整性和合法性

dsa, gpg: 验证软件包来源合法性,即验证签名 --nodigest 忽略此项

shal, md5: 验证软件包完整性:可以使用 --nosignature 忽略此项


软件 文件 程序 查询 数据 指令 目录 软件包 验证 二进制 信息 数据库 系统 版本 升级 帮助 配置 内核 功能 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 培智学校网络安全班会活动 监控网络安全标准 服务器的共享盘连不上 河南智能边缘计算服务器厂家 学校信息和网络安全调研报告 阿里云服务器还需要买防火墙吗 网络安全 英语讨论 迷你服务器软件 国外mc服务器 特医数据库 纽迪希亚 百度服务器需求 南京学习软件开发 区块链领域网络安全技术 网络安全宣传周一般是每年的几月 大学计算机网络技术学什么的 数据库的管护研究 新兴科技和互联网农业 湖北系统软件开发服务商 大学生学习网络安全教育的目的 文化市场下一步打算网络安全 内网穿透本地服务器怎么打开 软件开发需求招标范本 程序员软件开发是青春饭吗 代理服务器 爬虫 服务器连接不上手机怎么办 传奇服务器怎么租 网络技术有限公司合同范本 只有域名没有服务器可以建站吗 支行提高安全意识网络安全 网络安全得演讲稿作文
0