iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >六、Linux企业级YUM软件管理
  • 166
分享到

六、Linux企业级YUM软件管理

2024-04-02 19:04:59 166人浏览 薄情痞子
摘要

一、软件包的安装程序员首先通过开发工具开发出软件来,最初的称为源码包,就是人能看的明白的。然后编译成机器可以看懂的二进制软件。而rpm就是红帽公司研发的适合自动化安装软件的一套软件管理工具。包含软件的存放位

一、软件包的安装

程序员首先通过开发工具开发出软件来,最初的称为源码包,就是人能看的明白的。然后编译成机器可以看懂的二进制软件。而rpm就是红帽公司研发的适合自动化安装软件的一套软件管理工具。包含软件的存放位置,库文件、头文件,配置文件、文件间依赖关系等各种关系的管理工作。

1、软件包的组成部分

二级制程序:

                   安装位置:/bin /sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin。

库文件:也可以是可执行程序,可以是被其他程序调用的。在开发中通常称为函数,公共函数越多(库文件),软件包的适应性越强,包越小。

                   安装位置:/lib、/usr/lib、/usr/local/lib

配置文件:/etc/

帮助文件/手册:/usr/share/doc/

2、软件包管理工具(rpm):

文件清单

文件放置路径

提供的功能说明

依赖关系

3、rpm:package manager 软件包管理器

具有的功能:打包、安装、查询、卸载、升级、校验。

打包:就是将源码编译成可以安装、执行的软件包。

4、编译软件包依赖的环境:

4.1编译器:GCc,g++

提供编译环境,通常需要指明二进制文件的路径及库文件的路径

4.2库:/etc/ld.so.conf、/etc/ld.so.conf.dman

# MANPATH       /usr/libman


3.5添加头文件,使用ln -s 创建软连接到系统头文件目录/etc/include/中。

[root@37-test ~]# ln -sv /usr/local/nagiOS/include/ /usr/include/nagios

"/usr/include/nagios" -> "/usr/local/nagios/include/"

[root@mail ~]# ln -sv /usr/local/courier-authlib/include/* /usr/include/

"/usr/include/courier_auth_config.h" -> "/usr/local/courier-authlib/include/courier_auth_config.h"

"/usr/include/courierauthdebug.h" -> "/usr/local/courier-authlib/include/courierauthdebug.h"

"/usr/include/courierauth.h" -> "/usr/local/courier-authlib/include/courierauth.h"

"/usr/include/courierauthsaslclient.h" -> "/usr/local/courier-authlib/include/courierauthsaslclient.h"

"/usr/include/courierauthsasl.h" -> "/usr/local/courier-authlib/include/courierauthsasl.h"

"/usr/include/courierauthstaticlist.h" -> "/usr/local/courier-authlib/include/courierauthstaticlist.h"


知识点:

查看命令所依赖的库文件有哪些?ldd

[root@37-test ~]# ldd /bin/ls

linux-vdso.so.1 =>  (0x00007fff787b1000)

libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa143af6000)

librt.so.1 => /lib64/librt.so.1 (0x00007fa1438ee000)

libcap.so.2 => /lib/libcap.so.2 (0x00007fa1436e9000)

libacl.so.1 => /lib64/libacl.so.1 (0x00007fa1434e1000)

libc.so.6 => /lib64/libc.so.6 (0x00007fa14314d000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007fa142f48000)

/lib64/ld-linux-x86-64.so.2 (0x00007fa143D27000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa142d2b000)

libattr.so.1 => /lib64/libattr.so.1 (0x00007fa142b26000)


查看运行命令的执行路径是什么?hash

[root@37-test ~]# hash

hits command

   1 /usr/bin/ldd

   1 /usr/local/nagios/bin/nrpe

   1 /bin/vi

   2 /usr/bin/man


ldconfig -v 

重新搜索系统中的所有库文件,并生成/etc/ld.so.cache。

[root@37-test ~]# ldconfig -v

ldconfig: /etc/ld.so.conf.d/kernel-2.6.32-642.11.1.el6.x86_64.conf:6: duplicate hwcap 1 nosegneg

ldconfig: 无法对 /usr/lib64/Mysql 进行 stat 操作: 没有那个文件或目录

ldconfig: 多次给出路径“/usr/local/lib”

ldconfig: 多次给出路径“/usr/local/lib”

ldconfig: 多次给出路径“/usr/lib”

ldconfig: 多次给出路径“/usr/lib64”

/opt/glibc/lib:

libnss_nisplus.so.2 -> libnss_nisplus-2.14.so

ld-linux-x86-64.so.2 -> ld-2.14.so


七、编译源码格式的rpm包-SRPM


打包(rpm源代码包制作成rpm包,一般格式为:filename.src.rpm)

包制作过程是根据.spec文件来完成的。

源软件包经过编译后存放在/usr/src/目录下,并且一般在正确编译后会仅仅留下SRPMS里面的经过编译的软件包。

1、解压安装src.rpm包,有些安装需要创建指定的用户名。

[root@37-test ~]# rpm -ivh mingetty-1.00-3.src.rpm 

warning: mingetty-1.00-3.src.rpm: Header V3 DSA/SHA1 Signature, key ID db42a60e: NOKEY

   1:mingetty               ########################################### [100%]


2、进入解压目录,一般为用户家目录的rpmbuild中。

[root@37-test ~]# cd rpmbuild/S

SOURCES/ SPECS/   

[root@37-test SOURCES]# ll

总用量 20

-rw-rw-r--. 1 root root   259 3月   4 2002 mingetty-1.00-opt.patch

-rw-rw-r--. 1 root root 14038 3月   4 2002 mingetty-1.00.tar.gz


3、编译源码rpm包

[root@37-test SPECS]# rpmbuild -bb mingetty.spec 


-ba:生成二进制包及源码格式的rpm包

-bb:生成一个二进制格式的rpm包


可能会需要依赖包,将依赖包安装完毕后,重新编译。


[root@37-test rpmbuild]# ll

总用量 24

drwxr-xr-x 3 root root 4096 12月  9 14:11 BUILD

drwxr-xr-x 2 root root 4096 12月  9 14:11 BUILDROOT

drwxr-xr-x 3 root root 4096 12月  9 14:11 RPMS

drwxr-xr-x 2 root root 4096 12月  9 14:04 SOURCES

drwxr-xr-x 2 root root 4096 12月  9 14:11 SPECS

drwxr-xr-x 2 root root 4096 12月  9 14:07 SRPMS ##用于其他系统的重新制作编译

[root@37-test rpmbuild]# cd RPMS/

[root@37-test RPMS]# ls

x86_64

[root@37-test RPMS]# cd x86_64/

[root@37-test x86_64]# ls

mingetty-1.00-3.x86_64.rpm  mingetty-debuginfo-1.00-3.x86_64.rpm

[root@37-test x86_64]# rpm -ivh mingetty-debuginfo-1.00-3.x86_64.rpm 

Preparing...                ########################################### [100%]

   1:mingetty-debuginfo     ########################################### [100%]


问题:

1、error: line 4: Unknown tag: Copyright: GPL

此错误可以通过修改repc文件中的需要將"Copyright:"該改成新的Tag"License:" 即可


--结束END--

本文标题: 六、Linux企业级YUM软件管理

本文链接: https://www.lsjlt.com/news/52623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作