《笨兔兔的故事——带你了解Ubuntu,了解Linux》
第32节

作者: 懒蜗牛Gentoo
收藏本书TXT下载
  rpm是 Red Hat Package Manager 的缩写,也就是红帽子软件包管理器。听名字就知道这种东西是大红帽子铺发明的。早先的时候,Linux刚刚出世,上面的软件基本都是用源码包的形式发布的,也就是tar.gz那样的包。但是这样的软件包安装起来步骤有多复杂大概大家也都体会过,而且每个包都要被编译一下再安装的话,也浪费时间。也有的人把编译好的二进制文件打成tar.gz包的,不过人家用户把这个包解压到哪里无法确定,也就无法实现一些自动的设置(比如装完一个软件自动在菜单里出现相应的启动项)。于是帽子铺以Linux村帽子业界老大的身份创建了一种软件打包的方式——rpm。这种软件包,下载下来就是一个xxxxx.rpm文件,里面的内容是编译好的二进制程序。由一个叫做rpm的程序负责解开rpm包,并把里面的各种文件放到相应的目录中去。我们就管这个程序叫做“肉包管”吧。有了肉包管以后,装软件就省事了,把rpm包交个他就行了,他会把里面的文件分门别类的放好:配置文件放在/etc/;可执行文件放在/usr/bin/;库文件放在/usr/lib/,等等等等。(当然,这写目录都不是绝对的,只是一般情况。)除了编译好的软件,rpm也可以打包源码,一般rpm打的源码包都已.src.rpm来作为扩展名。肉包管不但可以把这样的源码包解出来放到指定的地方,还可以自动对这些源码进行编译,不过这个功能不常用,常用的还是二进制的rpm包。

  有了肉包管,安装软件相对简单了一些,不过依然有些问题为另肉保管和使用者带来挥之不去的阴影,那就是——依赖关系。
  什么是依赖关系?很简单,当你在用查皮装游戏的时候,游戏提示需要安装Direct 10才能正常游戏,于是你就得先装好Direct 10再回来装这个游戏,这就叫依赖关系。也就是说软件A要想安装,必须先安装软件B。有人说这还不简单,那就先装B呗~ 唉,要是这么简单就好了。很多时候人家要装软件包A.rpm,肉包管告诉人家说,你要想装A,就得先装B。用户想:好,让我装B我就装回B吧,可是刚要装B.rpm,肉包管又发话了,要想装B,先得装C。行,那就先装C。可是还没装呢又被肉包管告知,要想装C,先得装D,要想装D,先得装傻,要想装傻,先得装酷,要想装酷,先得装孙子…… 此时电脑前的用户已经口吐白沫了。但,这还不是最刺激的,最刺激的是肉包管最后又来了一句:要想装孙子,先得装A.rpm!勉强爬起来的用户再次被击倒。

  虽然肉包管可以不顾依赖关系强制安装一个rpm包,但是这样装上的包谁又能保证他可以正常工作呢?好在经过了多年的痛苦折磨后,大晕头横空出世了。
  大晕头我们说过,和超级牛力一样,可以自动上网下载软件,并且解决好依赖关系。也就是说,你让他装girl.rpm,他会告诉你,安装girl.rpm需要装money.rpm,装car.rpm,装bility.rpm,我给你一口气都装上吧~然后在得到用户的同意后,麻利的安装好全部该装的软件包。
  关于大晕头的重要性不必多说,参见以前对超级牛力的介绍。这里只想说一个问提,由于红帽子公司的影响,rpm包成为的linux村里通用性相当好的打包格式。很多著名的发行版如Suse,Mandriva,Centos等都使用了rpm作为软件包管理器。于是,市面上大多数软件,只要提供二进制包的,多数都会提供rpm格式的包。因此就会出现个问题——有的软件只有rpm格式的,在我这里怎么装呢?


日期:2010-02-27 21:22:34

  (80) 爱丽恩
  当然有办法装!
  肉包管(念着真麻烦,以后简称肉包吧)能装rpm包的软件是吧?我这不能装是因为没有肉包是吧?肉包也是个Linux的包管理软件是吧?那在把肉包请到我这里来不就行了!有人说那能行么?那有什么不行,包管理软件也不过就是个会解包会到处拷贝文件的家伙而已,况且肉包也是个Linux的软件,又不是别的系统的,一笔写不出两个Linux嘛,都是一家人,通用一下是没问题的。不过要在我这装肉包还是比较麻烦的,而且有一个dpkg就够闹腾的了,再来个肉包我也受不了。(dpkg是负责处理deb包的软件,相当于我这里的肉包。超级牛力相当于大晕头)而且这俩还还各自有各自的小帐本,超级牛力让dpkg装了什么软件肉包不知道,肉包装过什么东西,超级牛力和dpkg也不知道,我要想知道系统里都装过什么还得俩人都问一遍,麻烦。

  有简单的办法没?有!那就是下面出场的这位——alien 爱丽恩。这位姐姐以前大概是开网店的出身,最会打包和拆包。她跟肉包一样了解rpm软件包的格式,同时也跟dpkg一样懂得deb软件包的结构。于是她就有用武之地了,如果有什么软件只有rpm格式的包,主人又不想用源码编译的话,或者压根就不提供源码,那就轮到爱丽恩出场了。只要指给她一个rpm包,让她转换,比如这样:alien -d package-name.rpm,意思就是让她把package-name.rpm这个包转换成deb格式,她就很麻利的开始干活。按照rpm的格式把原来的东西拆开,然后再整理成deb格式的软件包,最终生成一个package-name.deb文件。之后,就可以让dpkg去安装了。不过爱丽恩也不是万能的,有的rpm可以转换,有的就转换不成功,有的虽然勉强转换成了安装起来也有问题,所以,既然作为我们Ubuntu的用户,还是尽量优先安装deb包吧。


日期:2010-03-13 21:01:25

  (81) 用户认证
  今天发生了一件事,我发现,我的主人,他,他不是一个人!
  哦,别误会,我的意思是,他不再是一个人了,厄,也不对。其实,我的主人从生物学的角度讲,他还是一个人类,关键是,不是一个了。
  说的挺乱,其实事情很简答——主人又创建了一个用户,叫lili。
  以前主人用来登录的用户名叫lanwoniu.这个名字是在最初安装我的时候起的,安装的时候我会问一句:“你是谁阿,名字叫啥?”然后对方告诉我他的名字,我就认定这个人是我的主人了,这个人有很特殊的权力。我们之前说过,我们Linux系统里有个root用户,很好很强大,但是这个用户也很危险,因为他太强大了,说不定那天一不小心删点啥不该删的文件,敲点不该敲的命令,说不定整个系统就挂了,所我们ubuntu限制root用户的使用。可是也得需要有人能管理整个系统阿,谁呢?就是安装的时候认识的那个主人。这个用户有着一种能力——变身!不是变大星星,也不是变饿狼啥的,而是这个用户可以临时获得root用户的权限,从而相当于变成root用户。至于怎么变,相信大家都知道了,sudo嘛。

  有点扯远了,呵呵。总之一直以来我和我的lanwoniu主人过着愉快的二人世界。当然,lanwoniu这个名字只是为了那家伙自己好记而起的,我其实是不关心他的名字的,我关心的是他的用户ID号,也就是UID。在我的概念里没有什么lanwoniu用户,dasanba用户,tenzu用户,ee用户等等,我的脑子里只有1000号用户,1001号用户,1002号用户。进行跟用户,跟用户权限有关的动作的时候,靠的都是这个号。可是让主人记住这个号有些不现实,首先不直观,其次要是人多了也不好记,1000这个数还行,要是有个啥535353124325用户,那谁记得住阿,所以就得起名字。每次启动,我都先要问:你是谁,报上名来。用户就会输入自己的名字,然后我就拿来一个文件,一份人名单——/etc/passwd文件。这里面记录了所有用户的用户名和UID以及其他一些信息。每个用户的信息占一行,以用户名开头。比如人家输如lanwoniu,我就在passwd文件里找,诶,找到这么一行:”lanwoniu:x:1000:1000:lanwoniu,,,:/home/saub:/bin/bash”一看前面这几段就知道,lanwoniu,这个人就是UID是1000的那个,也就是最初创建系统时候建的用户,哦,也就是我的主人。可是可不能光凭你红口白牙这么一说是我的主人你就是了,得拿出证据。证据是什么呢?密码!

  用户名输入之后,还得输入密码,输入之后,我还得拿来一个文件来查看用户输入的密码对不对,这回不是passwd了,是/etc/shadow。是不是有点迷惑?这passwd文件,看名字应该是存密码的阿,password嘛,怎么不再这呢?其实,很久以前,我们Linux确实是把用户的密码存在passwd文件里的。就写在用户名后面,用户ID前面的两个冒号之间。当然,我们不会啥到用明文写用户的密码的,写的都是加密后的秘文。比如我主人的密码要是记在passwd文件里,那passwd文件里的那行可能就是这样:

请按 Ctrl+D 将本页加入书签
提意见或您需要哪些图书的全集整理?
上一节目录下一节
【网站提示】 读者如发现作品内容与法律抵触之处,请向本站举报。 非常感谢您对易读的支持!举报
© CopyRight 2011 yiread.com 易读所有作品由自动化设备收集于互联网.作品各种权益与责任归原作者所有.