- LINUX界软件安装方式:rpm和dpkg
- dpkg:只要是衍生于debian的Linux发行版大多使用dpkg这个机制来管理软件,包括B2D,Ubuntu
- rpm:redhat package manager:最大的特点就是要安装的软件先编译过,并打包成为rpm机制的文件,通过打包好的软件里面默认的数据库,记录这个软件要安装的时候必须具备的依赖属性软件。
优点:1由于已经编译完成并且打包完毕,所以软件传输与安装上很方便,不需要重新编译
2由于软件的信息都已经记录在Linux主机的数据库上,很方便查询,升级与反安装 - 通常不同的Linux发行版所发行的rpm文件,并不能用在其他的Linux发行版上
- 软件管理机制的问题:
- 1软件安装的环境必须与打包时的环境需求一致或相当
- 2需要满足软件的依赖属性需求
- 3反安装时需要特别小心,最底层的软件不可先删除,否则可能造成整个系统的问题
- SRPM:Source RPM,这个RPM文件里面含有源代码,srpm所提供的软件内容没有经过编译,它提供的是源代码。
- 通常SRPM的扩展名是***.src.rpm
- srpm与rpm不同的是它提供了参数配置文件,就是configure与makefile,所以如果我们下载的是rpm,要安装它时,要先将该软件以rpm管理的方式编译,此时srpm会被编译成为rpm文件,然后将编译完成的rpm文件安装到Linux系统当中
- RPM的优点:
- rpm内包含已经编译过的程序与配置文件等数据,用户不需重新编译
- rpm在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装
- rpm文件本身提供软件版本信息、依赖属性检查、软件用途说明、软件所含文件等信息,便于了解软件
- rpm管理的方式使用数据库记录rpm的相关参数,便于升级,删除,查询与验证
- rpm属性依赖的解决方式:YUM在线升级
- RPM升级与更新(upgrade/freshen) -Uvh:后面接的软件没有安装过,则直接安装,有旧版本则进行升级,-Fvh:后面接的软件没有安装过不需安装,有旧版本则进行升级
- RPM查询query
- 查询主要分为两部分,一个是查找已安装到系统上面的软件信息,这部分的信息都是由/var/lib/rpm/所提供,另一个则是查找某个rpm文件内容,等于是由rpm文件内找出一些要写入数据库内的信息,这部分就得要使用-qp,p是package的意思
- 验证verify的功能主要在于提供系统管理员一个有用的管理机制,使用/var/lib/rpm下面的数据库内容来对比目前Linux系统的环境下的所有安装文件
- YUM查询:yum [list|info|search|provides|whatprovides]
- 安装/升级:yum [install|update]
- YUM的软件群组功能:yum grouplist,groupinfo,groupinstall,groupremove
- 默认情况下,无需修改服务的配置文件,都通过系统默认值来处理你的服务即可:
- 1安装:yum install
- 2启动:systemctl start
- 3开机启动:systemctl enable
- 4防火墙:firewall-cmd --add-service="(你的服务)";firewall-cmd --permanent --add-service="(你的服务)“;
- 5测试:用软件去查看你的服务正常与否
- rpmbuild --rebuild :这个选项会将后面的SRPM进行编译与打包的操作,最后会产生RPM文件,没安装
- rpmbuild --recompile:这个操作会直接编译打包并且安装
- ntp.spec文件就是将SRPM编译成RPM的主要配置文件,整个文件以Summary开始,这部分的设置就是最基础的说明内容,然后每个不同的段落之间,都以%来作为开头,例如%prep与%install
- rpmbuild -ba ntp.spec 编译并同时产生rpm与srpm文件
- rpmbuild -bb ntp.spec仅编译成rpm文件
鸟哥Linux第二十二章软件安装RPM、SRPM与YUM笔记
最新推荐文章于 2023-12-14 20:24:26 发布