我本人开始也是学习的RHEL的系统,因为Red Hat的教材实在是太多了,呵呵,所以对于Red Hat的一些命令、路径及其他的比较熟悉,现在出来工作了,也接触了其他几类的linux衍生系统,不过都还不太熟,在这里也就大概说一下他们所用的软件包吧

首先说一下几种linux版本
RHEL、Fedora、CentOS、Debian、Ubuntu、OpenSUSE、红旗Linux

RHEL是Red Hat Enterprise Linux的缩写,他是Red Hat的商业版本,这个版本是要收费的

Fedora是Red Hat公司赞助的社区版本,Fedora的前身是Red Hat桌面版,不过自从Red Hat9.0以后就不在发布,把这个项目给开源社合作,然后就有了Fedora,有人说Fedora就是RHEL的实验版本,当一些比较成熟的功能成熟后就运用到RHEL的发行版本中,当然Fedora的功能也是很强大的,但是我前一段装了后遇到一些问题去Fedora的中文社区去提问,感觉Fedora的中文社区太没有人气了,所以昨天也就换了Ubuntu了,Fedora每年会有两个发行版本,最新的为Fedora 12,是在09年的12月份发生的。

CentOS这个版本其实是和RHEL是一模一样的,区别就在于RHEL是收费的CentOS是免费的,不过前段看到好像CentOS现在也提供技术支持了,其实对于这个系统我还没有安装过,就是听我们同学说很多人在用,可能就是因为免费的吧,有空装一个试下

Debian是一个完全免费的系统,如果你有需要所申请光盘也是免费的,这个很适合Linux自由、共享的宗旨。Debian也是一个很稳定的系统,但他和上面的几个版本使用起来会有一些差别,他们的命令基本相同,路径有很大的改变。但是Debian的缺点是更新太慢了。

Ubuntu是Linux发行版中的后起之秀,很适合新手去使用,而且还有很强大的中文社区。Ubuntu是Debian的一个分支。用过这个软件的两个版本,感觉确实很好用,而且新手会很容易上手,桌面做的也很漂亮、对硬件的支持也非常好。Ubuntu每年也更新两次,在每年的4月份和10月份。

OpenSUSE是欧州很流行的Linux发行版本,对Linux也有很大的贡献。现在OpenSUSE已经被Novell收购。这个版本的系统我在虚拟机中安装过,感觉也非常的好用,但是感觉国内好像用的很少。

红旗Linux,说一下我们国产的Linux吧,红旗Linux的使用方法和Red Hat的使用方法是一样的,有人说红旗Linux就是使用的Red Hat的技术,不过红旗Linux的桌面做的很好,感觉很像Windows。


接下来说我接触的软件安装包吧,有rpm、deb、源码包。rpm是Redhat Package Manager的缩写,他是由Red Hat开发的一种包管理软件,但现在有很多发行版本都在用他包括RHEL、Fedora、CentOS、OpenSUSE等。deb的安装包是Debian的创始人开发的,在Debian和Ubuntu上使用。源码包是最初的安装包,用户必须经过配置、编译后才能安装,对于新手来说不太方便。

几种常用的包管理软件:RPM、YUM、APT、YaST
RPM有很多的依赖关系,所以安装会非常烦人,最后就被YUM所替代了,Yum就是为了解决RPM的依赖问题而产生的,Yum的源可以是本地、http、ftp。Yum只支持对rpm安装包的管理,现在RHEL、Fedora、CentOS都是在用Yum管理软件包。
APT可以快速、实用、高效的方法来安装、升级、删除deb软件包,当软件包更新时,这个工具应该能自动管理关联文件和维护已有配置文件。APT现在也支持对rpm包的管理。
YaST是SUSE自已开发的一种包管理工具,支持对rpm包的管理

如何安装软件包
rpm包
rpm包可以用命令来安装它的参数有
-i:安装软件
-vh:显示安装进度;
-u:升级软件包;
-e:删除软件包
-q:后面跟包名查询是否安装
-qa:查询已安装的所有软件包
-qpl:列出RPM软件包内的文件信息;
-qpi:列出RPM软件包的描述信息;
-qf:查找指定文件属于哪个RPM软件包;
-Va:校验所有的RPM软件包,查找丢失的文件;

deb包
deb包的安装使用dpkg使令,下面是一些参数

-l:在系统中查询软件内容信息

  -info:在系统中查询软件或查询指定rpm包的内容信息

  -i:在系统中安装/升级软件

  -r:在系统中卸载软件,不删除配置文件

  -P:在系统中卸载软件以及其配置文件

源码包

源码包一般都是tar的压缩包,现在最常见的有.tar.gz和.tar.bz2两种压缩方式,而且还要把编译环境设置好
对于下载后的安装包首先要解压
解压.tar.gz的命令是 tar -zxvf 包名
解压.tar.bz2的命令是 tar -jxvf 包名
解压后使用./configure --prefix配置安装路径
然后用make编译
编译完成后用make install安装


包管理工具的使用
Yum
Yum安装必须要有一个软件包池,这个可以是本地的,也可以是http、ftp上的。不管是什么必须要有一个rpm的头部文件,这个里面包括了rpm包的各种信息。
这里我们来配置一个本地的Ftp作为Yum的软件包池

1、我们先开始安装vsftpd软件
2、把光盘中的所有文件都复制到ftp的公共目录/var/ftp/pub中(也可以是其他)
3、删除/var/ftp/pub下所有的*.html文件和Servar/repodata/TRANS.TBL及VT/repodata/TRANS.TBL文件
4、安装createrepo工具
5、用createrepo生成yum通用数据库
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server
createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT
6、重启FTP服务
7、修改yum配置文件
Yum的配置文件是/etc/yum.repos.d/rhel-debuginfo.repo
配置文件中:
[  ]  是池的名子
name   池的描述或名子
baseurl   池的位置
enable      是否启用仓库 1为启用 0不启用
gpgcheck 是否检查gpg签名(验证安装包是不是Red Hat官方)
GPGKey  GPG签名位置(需用rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release导入签名才能用)
这里我们可以视情况而修改

到这里我们的yum配置就完成了

使用
yum install package        安装指定软件包
yum update             更新全部软件包 
yum update package          更新指定软件包
yum check-update         检查可更新程序
yum info package          显示安装包信息
yum list              显示所有已安装软件包
yum list package        显示指定安装包安装情况
yum search keyword     查找软件包
yum remov |erase package 删除软件包
yum会把下载的软件包和header存储在cache中,而不自动删除,可用yum clean命令删除
yum clean header删除header yum clean package删除下载的软件包 yum clean all清除header与rpm包

yum还可以在配置文件中直接配置外网的池地址来直接下载安装,目前国内的163支持,但要找到和你使用系统版本的池


对于APT一般Debian和Ubuntu会用到,我用的Ubuntu就是直接自带的这个,不过这个我没有配置过,所以这个就不写配置的步骤了就直接写如何使用吧。

使用APT很简单,
apt-get update   更新软件包信息库。通过这个数据库中可跟踪你系统中已安装、没有安装和现在可安装的软件包信息。 apt-get安装软件包时就是依靠这个数据库来解决软件包间的依赖关系,从而可自动安装相关软件。我们需定期运行该命令,从而保持数据库的信息为最新。
apt-get install packag       安装软件包。
apt-get --reinstall install package    重新安装软件包
apt-get -d install package          只是下载软件,不解包和安装
apt-get install package --dry-run         使apt-get在安装软件包前进行测试
apt-get remove package                  删除软件包
apt-get --purge remove package          删除软件包及配置文件
apt-get source package                     下载软件包的的源码版本
apt-get upgrade package                    软件包升级
apt-get dist-upgrade                           更新整个系统。
apt-get clean                                     删除下载了的软件包
apt-get autoclean                               删除已下载的旧版本的软件包
apt-get check                                     检查系统中已安装软件包的依赖性。

CentOS、Debian、ubuntu等的一些软件池可以在网上搜索一下,会有一些国内的,软件池的,用国内的相应的会下载的快一些。