linux发行版?
1.linux有哪些发行版?适用场景?
2.rpm,deb,dpkg,apt-get是什么呢?
3.如何找到依赖关系表呢?
4.yum和reposity
1.linux有哪些发行版?适用场景?
linux发行版 (linux distribution),就是指不同种类的linux系统了,比如redhat,centos,REHL这些
所有linux发行版在一张思维导图里里面:
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
red hat enterprise linux 简称 RHEL ,稳定性最好,所以3年才更新一次版本,非常保守谨慎
有整一支商业团队做售后服务,出了问题能够很快解决,而且有红帽认证工程师,相当于系统管理员

客服集市的李总让我安装rhel5光盘,现在最新版本是rhel7
centos和fedora都是redhat的分支
它们都是免费的,而且是社区维护的,所以出了问题,不能找到RHEL商业团队做维护
centos适合服务器
阿里巴巴使用的centos系统,自己再养一批程序员,去根据自己的需求量身定制系统和维护
fedora比较新潮,最求时尚,可以理解为redhat的试水,通常fedora更新5,6个版本,rhel才更新一次版本
Debian 是另外一个体系,ubuntu是它的一个分支
它们更新速度都非常快,一周甚至两三天就更新一次,有点像小米系统那样
代价就是不稳定,容易出问题
2.rpm,deb,dpkg,apt-get是什么呢?
在linux系统上,安装软件最原始的方式,是自己把软件的源代码,编译成为二进制码
每次安装,都需要检测操作系统与环境的参数,还需要编译,同时要自己手动安装依赖包,比较麻烦
为了方便用户,人们就把源代码编译好,像windows的.exe文件就不需要编译,直接给用户安装
安装软件的时候,顺便把这个软件的信息,保存到linux系统的某个数据库上

同时可以做更新,删除,安装操作
当我们安装A的时候,发现需要B,C包,而安装B的时候,需要B1和B2包,平常需要手动把B,C,B1,B2都下载好
redhat公司和Debian都发明了管理工具,可以根据数据库中的依赖关系表,一次性把这些包都下载安装好,很方便
1. RPM (Redhat Package Manager)
中文翻译过来,叫“红帽软件包管理工具”
它是一种安装文件格式

之所以叫管理工具,是因为在安装包里头,包含着安装这个软件所依赖的其他软件的列表
使用 rpm -ivh XXX.rpm的时候,就自动检查linux系统是否满足,就像windows安装某程序,也会提示你缺少XXX没有安装
查看依赖关系的命令
rpm -qpR XXX.rpm
测试是否满足依赖关系
rpm --test XXX.rpm
如果要安装A软件,前提需要B和C,而安装B,又需要D和E
那么直接安装 A.rpm 只会提示你需要B,C,D,E
但真正帮助你一次性把B,C,D,E下载的下来的,是YUM(Yellowdog Updater Modified)
但是YUM怎么知道从哪里下载软件呢?
答案是repo软件仓库
2. Debian社区的软件包叫Dpkg (Debian package)
用于解决Dpkg的依赖关系的管理工具叫 Debian Advanced Packaging Tool (APT)
参考IBM文档
http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-102-5/
浙公网安备 33010602011771号