源码包安装
第一步:软件配置与检查 ./configure
①、定义需要的功能选项。
②、检测系统是否符合安装要求。
③、把定义好的功能选项和检测系统环境的信息都写入Makefile 文件,用于后续的编辑
第二步:执行编译 make ,将源码包编译为机器码
第三步:执行 make install ,编译安装
RPM
Redhat发明的 RPM全称(redhat package managers)
特点:
- 把你要安装的软件 先进行编译 然后打包为RPM机制的文件 用户不需要重新编译
- rpm文件本身会提供 很多的信息 版本 用途等
- rpm使用数据库的方式记录rpm文件的相关参数 编译查询 升级和管理
数据库文件 放在 /var/lib/rpm/
缺点:
软件安装时候的环境必须要打包时候的环境一样
所以 软件的依赖问题很那解决
rpm最厉害的在于rpm包的查询机制
rpm -qa #查询所有的软件(已经安装的)
rpm -ql openssh #列出该软件所有的文件和目录所在的完整文件名字
rpm -qi openssh #列出这个软件的详细信息
rpm -qc openssh #列出该软件所有的配置文件(/etc下的)
rpm -qd openssh #烈出所有的说明文件(man下的)
rpm -qf /etc/httpd #找出这个文件属于哪一个软件
重建rpm的数据库
rpm--rebuilddb #这个命令没有任何的输出结果
RPM验证和数字签名
这个就是 吧你当前的软件信息和rpm数据库中的信息做对比
rpm -Va #列出目前系统上所有可能别修改的文件
rpm -Vf #显示某个文件是否别修改过
YUM
yum 解决rpm 软件包依赖的原理
- Centos 将要发布的软件放在Yum服务器上然后分析这些软件的依赖属性问题
- 吧这些软件的信息都记录下来(下载地址啊 名字啊) 通过他们的依赖归属问题 然后制作成软件相关性列表
放置这些列表的的数据和软件的信息 的地方又被叫做软件仓库
yum下载过程
当客户端 想要安装的时候 就会像软件仓库要求更新软件列表 等到更新完之后/var/cache/yum
然后系统就会用这个列表和本地的rpm数据库 做比较 看什么软件下载了 什么没有下载
没有下载的话 就会去yum服务器拿到软件的下载地址 然后去下载这个软件
吧这个软件的rpm包下载下来 然后通过rpm来安装这个软件
yum search 查找有关httpd 的软件包
[root@iZbp18dnj7u1ku4vf5a6onZ admin]# yum search httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
============================= N/S matched: httpd ==============================
dmlite-apache-httpd.x86_64 : Apache HTTPD frontend for dmlite
iipsrv-httpd-fcgi.noarch : Apache HTTPD files for iipsrv
keycloak-httpd-client-install.noarch : Tools to configure Apache HTTPD as
: Keycloak client
libmicrohttpd-devel.i686 : Development files for libmicrohttpd
yum info 显示详细信息
[root@iZbp18dnj7u1ku4vf5a6onZ admin]# yum info mdadm
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
Name : mdadm
Arch : x86_64
Version : 4.1
Release : 7.el7_9
yun list httpd
[root@iZbp18dnj7u1ku4vf5a6onZ admin]# yum list httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
httpd.x86_64 2.4.6-97.el7.centos
SPRM 在鸟哥P730
Xwindows 在鸟哥P741
linux内核编译于管理