软件包管理 1 —–基本知识 rpm yum

软件包管理,
要做到如何管理软件 ,包括安装 ,卸载, 基本的功能查询,搜索等
重点如何使用rpm包
yum管理
如何编译安装
**软件 运行和编译 **
ABI:Application Binary Interface 操作系统接口标准,调用2进制程序的接口
Windows 与Linux不兼容
ELF(Executable and Linkable Format)
PE (Portable Executable)
库级别的虚拟化
Linux:WINE
Windows:Cygwin
API:Application Programming Interface 库调用,调用库的接口标准
POSIX:Portable OS
**c语言编程**
程序源代码 —> 预处理 —-> 编译 —> 汇编 —> 链接

**预处理**:把其他包含部分读进来,把注释去掉添加行号等,比如在编译过程中出现语法错误会报行号,但是预处理之后的还是文本文件。
**编译**:把处理完的文件编译成汇编文件,进行语义分析,语法分析,生成汇编格式的文本,汇编更接近机器语言
**汇编**:经过汇编生成二进制文件
编译过程有两种
**静态编译**:.a 把库打包到一起
**动态编译**:.so 运行时才临时调用库
**Java程序运行**
编译两次 开始编译一次 在操作系统之前再编译一次(解释器),在各种操作系统上都有相应的解释器,所以能跨平台,
但是语言稳定 ,效率慢
**开发语言**
系统开发
C
C++
应用级开发
Java
Delphi
Python 中小公司
go 谷歌开发的 大公司
php
perl
ruby
**包管理器**

**二进制应用程序的组成部分**
**二进制文件,库文件,配置文件,帮助文件,**
**程序包管理器**
debian : deb文件, dpkg包管理器
redhat : rpm文件 ,rpm包管理器
rpm: Redhat Package Manager
RPM Package Manager

二进制程序依赖系统 ,不同平台开发的不同,
所以网上的包一般是源码文件
二进制文件要安装的编译啊,汇编啊, 等等好麻烦
所以红帽为了广大群众好安装 ,就把复杂的一大堆打包了
我们只要rpm就行
**包命名**
源代码: name -VERSION.tar.gz|bz2|xz
软件名-版本号-压缩格式
** VERSION:major.minor.release
主要号码,次要号码,release号码
rpm包命名方式:
name-VERSION-release.arch.rpm
**包名-版本号-红帽对包的打包次数.rhel7.5-cpu架构.rpm**
例:bash-4.2.46-19.el7.x86_64.rpm
VERSION:major.minor.release
release:release.OS
常见的arch:n 系统构架
x86:i386,i486,i586,i686
x86_64:x64,x86_64,amd64
powerpc:ppc
跟平台无关:noarch

我下载了一个httpd-2.4.33并解压到/root/

我又统计了一下.c结尾的文件数

这些文件都是c语言开发的

**包的切分**

 

、比如httpd这个包 第一个是主包 其他的是分支包,像装什么就装什么,
tools相关的工具包
manual 说明手册
devel 开发包
但是包和包之间有可能有依赖性
装一个就要装其他的包
**解决依赖包管理工具
yum:rpm包管理器的前端工具
apt-get:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+ rpm 包管理器前端工具(未来可能用)**

(yum:底层调用的是rpm)
**库文件**
查看二进制程序所依赖的库文件
ldd /PATH/TO/BINARY_FILE
管理及查看本机装载的库文件
ldconfig 加载库文件
/sbin/ldconfig -p:显示本机已经缓存的所有可用库文件名及文件路径映射关系
配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
缓存文件:/etc/ld.so.cache

ldd 只能看到单个文件用到的库
ldconfig -p 看系统中所有加载的库、正在使用
/etc/ld.so.conf 主配置文件,文件想调用库,得知道库路径,通过主配置文件读取库路径

 

**include包含 我们可以把配置文件放在/etc/ld.so.conf下
也可以放在以放在ld.so.conf.d/*.conf下以.conf为后缀的也可以**
**每一个程序都有自己的.conf文件**

程序不想要了把对应的配置文件删了就行

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96795

(1)
lhl123456lhl123456
上一篇 2018-04-22 15:58
下一篇 2018-04-22 16:45

相关推荐

  • 计算机构成简介与Linux基础知识

        ◆ 命令—Linux学习的基础,而基础就是核心。◆ 没有基础就只如空中楼阁,每次处理问题的时候,都需要向外界的力量求教,而缺乏自己解决问题的能力。◆ 学习比较被动,知识的储备速度不能紧跟使用需求。◆ SO,夯实基础反而成为重中之重。想要万丈高楼平地起,就先打好地基,在人们还看不见的时候,挥洒着汗水;而时间会给你成长的回报! 一、计算机构成与功能简介 …

    Linux笔记 2018-04-03
  • Linux用户管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d ‘ ‘ -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 who | tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cut -d: -f7 /etc/pa…

    Linux笔记 2018-07-22
  • 网络基础

    1、网络的特征
    2、OSI模型的七层结构
    3、LAN组成

    Linux笔记 2018-06-19
  • VMware安装过程中出现的问题及解决方法

    VMware软件的安装应当是非常简单的,但在本次的安装过程中却出现了两个问题,其中第一个问题比较好解决,但是第二个问题却让我纠结和浪费了很多的时间。以下是对于两个问题的描述及解决方法,以备出现同样问题的人们参考:  问题1:已将该虚拟机配置为64位客户机操作系统,但是,无法执行64位操作.具体错误提示见图:  解决方法:重启计算机,启动过程中按F12键(或依…

    2018-03-29
  • sudo相关配置详解及aide高级入侵检测环境

    sudo su – xiao -c ‘echo $USER’ 切换xiao用户执行指令显示用户名xiao 通用的配置文件:/etc/sudoers 实际运用的配置文件:/etc/sudoers.d/ 里面文件权限应设为440;根据需要可以一个用户设置一个配置文件便于管理 visudo 默认打开的是/etc/sudoers文…

    Linux笔记 2018-06-03
  • Linux笔记第一周

    一、描述计算机的组成及其功能。 计算机由硬件和软件两部分组成 硬件由主机与外部设备构成 软件由系统软件与应用软件构成 二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Red Hat公司发布         Redhat Centos Novell公司发布             SUSE Debian维护社区发布   Debian ub…

    Linux笔记 2018-06-24