绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件
./configure 检查编译环境/相关库文件/配置参数,生成makefile
make 对源代码进行编译,生成可执行文件
make install 将生成的可执行文件安装到当前计算机中
特点;
兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系
为了解决编译时间长复杂容易出错等问题,开发了rpm(redhat package manager)
命名规范;linuxcast-1.2.0-20.e16.i686.rpm
名字 版本 操作系统名字(跨平台)32位或64位
基础命令;
rpm -i software.rpm install安装
rpm -e software 卸载
rpm -U softwarenew.rpm 更新
rpm -ivh http;,,,.rpm 下载并安装
-v 显示详细信息
-h 显示进度条
安装软件要管理员权限
rpm查询;
rpm -qa 列出操作系统中已经安装的,所有rpm软件
rpm -qi linucast 查询一个软件的基本信息 information
rpm ql linux 列出所有属于这个软件的文件 list
rpm -qf linux 查看该文件是哪个rpm包安进来的
以上时已安装的
以下是查询未安装的
rpm -qip 查询rpm文件的信息 -qlp 查询包含的文件
rpm验证功能;
在软件传输的过程中,有可能被恶意修改,使用非对称加密算法,所以需要一个密码
rpm -K xxx.rpm 包是否被修改
rpm -V xxx 已安装的文件是否被修改(安好后的文件)
yum yellowdog updater modified 是一个专门管理 r p m的,是rpm的前端程序(rpm是一种封装包的方式,把二进制文件释放出来)
作用 1.自动解决依赖关系 2.对rpm进行分组,开发类之类的,一次性安装整组软件(基于组进行安装) 3.引入仓库来解决依赖关系 4.配置简单
repo仓库,yum把所有的rpm包进行管理,例如放在一个文件夹下,如果存在依赖关系,会自动在仓库中寻找,如果没有,无法安装,如果有,可以用,并且自动解决依赖关系
有两种1是本地的 2是网络仓库,通过http ftp nfs形式使用集中的统一的仓库(个人的话,一般使用网络仓库)