1.应用程序与系统命令的关系
对比系统命令和应用程序的不同
- 位置: Linux中一切皆为文件 演示内部命令和外部命令 位置 应用程序位置
- 用途: 命令主要处理系统的基本操作(复制,配置) 应用程序可以完成独立的任务浏览器访问网页
- 使用环境 字符界面 字符和桌面
- 格式 命令的格式 命令参数对象 无固定格式
2.典型应用程序的目录结构
3.常见的软件包封装类型
- RPM包 : RPM Package Manager的缩写 是红帽公司自主研发的一款工具,实用性强。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在相互依赖的情况。
- DEB包:在Linux系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。此外,deb广泛应用于越狱后iOS软件及MeeGo(含Maemo软件)中。Debian包是将包的文件信息以及包内容,经过gzip和tar打包而成。
- 源代码软件包 :是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。
- 绿色免安装的软件包 :顾名思义自行理解比如Windows的截图软件
4.RPM包管理工具
Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件(一张对应表将信息写入)
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
4.1程序包管理器相关文件
- 包文件组成 (每个包独有)
- 包内的文件
- 元数据,如:包的名称,版本,依赖性,描述等
- 可能会有包安装或卸载时运行的脚本
- 数据库(公共):/var/lib/rpm (安装好后会将一些公共的数据放入数据库中)
- 程序包名称及版本
- 依赖关系
- 功能说明
- 包安装后生成的各文件路径及校验码信息
5.rpm命令的格式
RPM软件可以实现几乎所有的功能,新增,删除,更新等
5.1挂载
mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)
挂载规则
- 一个挂载点同一时间只能挂载一个设备
- 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
- 一个设备可以同时挂载到多个挂载点
- 通常挂载点一般是已存在空的目录
5.2安装卸载升级
6.编译安装.
大部分是c语言开发的,更方便的使用
- 软件版本比较新,新功能,修复bug
- 可以自行定义配置文件的路径
- 源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50
程序包编译安装:
源代码-->预处理-->编译-->汇编-->链接-->执行
多文件:文件中的代码之间,很可能存在跨文件依赖关系
虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软
件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特
性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具
可以大大减少编译过程的复杂度
7. yum 安装
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间