Linux是一个最初由LinusTorvalds创建,目前由全球成千的程序员共同维护的软件。然而,让Debian支持其他内核的工作也正在进行,最主要的就是Hurd。Hurd是一组在微内核(例如Mach)上运行的提供各种不同功能的守护进程。
Hurd是由GNU计划所设计的自由软件,这个操作系统中的大部分基本工具来自于GNU计划,因此我们把它们命名为GNU/Linux和GNU/Hurd。这些工具同样都是自由的。
一、GNU/Linux Distribution(GNU/Linux套件)
什么是Debian?本文重点不是介绍Debian的历史,而是尽可能地以最简短的方式让你了解到Debian的基本观念。
GNU/Linux Distribution(常见的有Redhat、Mandrake、SuSE、Debian)是一堆软件及Linux kernel组成的一个大套件,但因为一般使用者很难了解到完整的Linux发展历史,因此现在大多数的人都将Linux与Redhat、Mandrake等商业性发展的Distrbution划上等号,也常有人把X Window System归纳成Linux的一部分,这些观念都是错误的。以下将Linux分成三大类来解释:
1.Linux kernel
操作系统核心,Linux属于多用户多任务系统,这有赖Linux kernel来实作。此外,Linux kernel还包含了很多硬件的驱动程序,但模块化的设计让Linux kernel可以随心所欲地新增或删减模块,正因为其这样的特性,让Linux也可以应用于嵌入式系统。
2.基本的libc、utility等函数库
我们还需要libc这个基本的C函数库,以libc为基础可以开发出一些基本的程序来帮助我们运作,这些工具程序如:ls、mv、cp等等。当然,如果有需要可以再加入其它的函数库。
3.X Window System
由MIT(美国麻省理工学院)所研发的一套UNIX上头标准的图形窗口接口,所以X发展还比Linux早,只是后来有人将它移植到Linux上(XFree86),因此我们是可以把Linux与X Window System分开来讨论,一般我们熟悉的MS Windows操作系统是把GUI与OS Kernel合在一起的系统,这跟Linux与X是完全不同的系统架构。
有了X Windows可以作很多图形相关的应用,例如用gmc(gnome的图形接口档案管理软件)取代mc(类似过去DOS底下的Nortan Comand),X Windows让我们对计算机的视觉感受更强烈,想要看有图案的网页也是必须在X Windows底下开启mozilla(或其它支持图形的Browser),所以有X Windows的图形接口环境让我们的计算机更有亲和力、更美丽。
很多情况是使用指令效率大于使用图形接口的软件。但遇到浏览网页或收发电子邮件,则需要借助Mozilla,因为浏览网页与看电子邮件有图形辅助比较令人赏心悦目。计算机是死的,人脑是活的,所以请记住是人去用计算机而不是计算机奴役人,因此我们要活用计算机。
上面所述的前两大项(Kernel、基本的libc等函数库)就可以完成一个基本的Linux Distribution;X Windows则是另外一项大的GUI(Graphic User Interface)课题。如果只是把Debian拿来当作提供某项网络服务的服务器,就不需要安装X Window System,但如果把它当作自己的Desktop,那就非常需要有XWindows,否则失色很多。
在Debian组织内部有很特别的Distribution等级制度,分别为stable、testing、unstable,stable是最稳定的版本,unstable则为开发中的版本。
我们都习惯称Redhat、Mandrake……等为Linux Distribution,事实上这观念是错误的且有偏颇之处。这些Distribution只是用了Linux为系统核心,但是辅以更多跟Linux核心无关的软件,例如:glibc、XWindowSystem等。其中以GNU的软件最为重要,因为GNU的自由软件包含了最底层的C函式库(glibc)、编译器(gcc)等,因此光靠Linux kernel是无法完成一个完备的系统,所以GNU/Linux才是正确的称呼。
二、Debian的三大族群制度:stable、testing、unstable
1.stable
Debian对外发行的版本,这个版本的最大特色就是:稳定,但相对的各个软件套件则通常不是最新版。
这个版本适用在最需要稳定的Server架设环境,所安装软件较少也较为固定。
2.testing
testing虽名为测试版,其实已经相当接近于stable版本的程度,这个版本的软件多半是在unstable中经由维护、开发人员不断的测试之后流入,所以在某种程度上说,其实已经做过初步的检测,这里面的软件大多也是相当稳定的,而且个软件套件里的也会比stable新,不过以软件总量来说则比stable及unstable中的完整、多。
3.unstable
unstable最大的特色就是软件更新速度快,几乎都与该软件同步,因为太新相对的使用unstable的人也必须承担更高的风险,有时可能会遭到一早更新完所有软件后,却发现有些软件不能正常运作的状况,但这种情形大概只会持续一两天左右,因为unstable的特色就是更新速度快,一旦有人回报问题,维护的人很快就会作修正。
三、Debian软件的分布:main、contrib、non-free、non-us
Debian是相当free的系统,但有时有些软件虽然不是自由软件,但相当著名,例如:Mozilla,这样的情况让Debian系统陷入两难,于是Debian对于旗下所有软件套件(Packages)进行分类,下面就是Debian Packages的主要分类项目:
1.main
Debian distribution最基本及主要且符合自由软件规范的软件(packages)。
2.contrib
软件虽然可以在Debian里运作,即使本身属于自由软件但多半是相依于非自由(non-free)软件。
3.non-free
non-free不属于自由软件范畴的软件。
4.non-us
这个分类里的软件都来自非美国地区,其中可能牵扯到专利、加密等问题。
四、sources.list及安装命令:tasksel、apt-get
上面3点已经初步介绍了Debian系统的分级制度,也对Debian系统的整体轮廓做了明确的介绍。但以现实中实际使用的状况而言,每种版本并非是泾渭分明的:
简单地说,使用了testing版本,同样可以使用stable或unstable中的软件。举例,目前仅unstable中提供最新的Mozilla软件,如果您是使用stable或testing的仍可以安装unstable中的最新版Mozilla,但是怎么做到呢?阅读下面由修改sources.list来决定软件来源版本这一小节:
建议:不要同时大量使用不同层级的软件,因为很多软件之间都有不同程度的相互依赖性,强行使用的结果会造成软件相依、相斥问题的产生,最终可能影响系统稳定与整个软件升级制度的正常运行。越接近系统底层的软件如:glibc、xfree86,越是要小心谨慎使用,因为这些软件多半牵连广泛,一不注意,系统就可能崩溃。
由修改sources.list来决定软件来源版本:
如何决定安装的软件属于何种层级(stable or testing or unstable)?很简单,所有的软件信息都记载在/etc/apt/sources.list这个文件中。
sources.list文件的设定格式:
deburidistribution[component1][componenent2][...]
下面给各个选项做的详细说明:
1.deb
这一栏只有两种写法,分别为deb与deb-src,前者表示所指向的为存放binary格式(编译好执行文件的软件套件)软件套件的服务器位置,后者则为sources格式(包含原始码的软件套件)软件套件的服务器位置。
简言之,如何只想要安装该软件而不想要去重新编译它时,就在这一栏填入deb,如果你想取得某软件的原始码(sourcescode),就得加入deb-src,当然也可以两行都写,如:
deb http://http.us.debian.org/debian stable main contribnon-free
deb-srchttp://http.us.debian.org/debian stable main contribnon-free
2.uri(Universal Resource Identifier)
uri指的是软件套件来源位置,这些位置可以是系统内的某个位置(file)、CD-ROM(cdrom),也可以是网络位置(http、ftp)等,当你输入apt-get命令时,就会到相应位置去搜寻软件数据库。概括的说可以分:file、cdrom、http、ftp、copy、rsh、ssh等几个参数,这些参数的使用如下:
3.file
可以是系统上的某个目录,例如:
debfile:/home/moto/debian stable main contribnon-free
也可以是mount到自己系统的远程NFSServer,例如:
debfile:/mnt/nfs-server stable main contribnon-free
4.cdrom
是指光驱里光盘的文件位置,例如:
debcdrom:/distsstablemaincontribnon-free
5.http
通过http的协议传送,例如:
deb http://http.us.debian.org/debian stable main contribnon-free
6.ftp
通过ftp的协议传送,例如:
deb ftp://ftp.us.debian.org/debian stable main contribnon-free
这样的机制是非常有弹性的,来源位置几乎可以是网络上的任何一个角落,不仅仅是Debian Office站台,个人制作的.deb软件套件也可以开放给网络上的人使用,例如目前的Debian官方stable版本里头的Linuxkernel不是最新版的,而bunk网友自己帮忙做了最新版本的kernel for debian package,并提供了deb http://people.debian.org/bunk/debian potato main这个私人的位置,则我们可以把这个位置加入/etc/apt/sources.list设定档里头,再透过apt-getupdate就可以取得bunk所制作的fordebian的kernelpackage(目前在testing里已有最新的kernel,所以无需再透过其它的来源来安装)。
7.distribution
参数分别为stable、testing、unstable。
8.component
参数分别为main、contrib、non-US、non-free。
了解sources.list的撰写规范后,我们便可以经由修改此文件达成转换不同版本的需求。例如:在stable版本下,我们把sources.list内容记载的软件服务器改为指向unstable,如下:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
#deb http://http.us.debian.org/debian stable main contrib non-free
#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
#deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable non-US
deb http://http.us.debian.org/debian/ stable main non-free contrib
deb-src http://http.us.debian.org/debian/ stable main non-free contrib
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
改为:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
#deb http://http.us.debian.org/debian stable main contrib non-free
#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
#deb http://security.debian.org stable/updates main contrib non-free
# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable non-US
deb http://http.us.debian.org/debian/ unstable main non-free contrib
deb-src http://http.us.debian.org/debian/ unstable main non-free contrib
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
deb-src http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
这样即使是在Debianstable的环境下,也能透过apt-get指令去安装Debianunstable中的软件。
关于sources.list一些注意事项
虽然,通过修改sources.list就可以同时取得不同版本的软件,但有一点必须注意,除了第一次安装时的sources.list档案之外,我还会将这个档案分别修改成指向testing的sources.list.testing以及指向unstable的sources.list.unstable,如需安装其它版本的Debian只需置换原来的sources.list再配合apt-get指令即可。
如果你也可以坚持只维护一个sources.list档。但要记住一个原则:如果你的sources.list中同时包含了stable、testing、unstable三种来源时,系统会以最新版本为主。换言之,这么做几乎是设定来源为unstable了,因为软件版本的新旧次序为:unstable新于testing,testing又新于stable。
会这么做的通常是使用testing版本的人,这是由于testing版本的软件数目是三种版本之中最少的,所以有时会找不到Debian里应该有的软件,这种情况建议:stable与testing混用,这样如果您要安装的软件不在testing里,系统还可以到stable里去搜寻,如果还找不到,那肯定是Debian没有纳入该软件。
如果使用testing版本,切勿同时把unstable的服务器来源加进你的sources.list,因为一旦更新完毕,Debian系统也变成unstable版本了。
例子:下面是testing sources.list:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian testing main contrib non-free
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb-src http://http.us.debian.org/debian testing main contrib non-free
deb-src http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
#for gnome
#deb http://spidermonkey.ximian.com/distributions/debian unstable main
#deb http://red-carpet.ximian.com/debian testing main
五、apt-get 命令操作
要学Debian,必须学会apt-get指令。在Debian OS里,关于软件的安装、移除、升级,完全靠dpkg这个指令来完成,dpkg指令功能很强大,但相对复杂很多,使用也不方便。因此,目前衍生出许多dpkg的前端(frontend)软件管理程序,帮助我们简化软件管理的步骤,而apt-get是最为熟悉也是最受Debian使用者喜爱的一套指令式程序。
apt-get指令操作非常简单,下面列出比较常用的选项及参数,要得到最完整的信息请执行manapt-get命令。
注意:执行apt-get指令时需以root用户执行。
1.apt-getupdate
软件数据库同步:
这是apt-get指令的起点,在执行任何与apt-get相关软件安装或升级指令前,一定先要执行apt-getupdate命令,这时系统会依照sources.list文件设定的软件来源服务器位置,进行软件数据库对比操作,这样才能知道目前系统上安装的软件跟服务器上可下载的软件版本是否一致,如不一致表示有更新版的软件可以升级或安装,接下来执行apt-get install、apt-get up grade、apt-getdist-up grade才能完成升级操作。
2.apt-get install
软件安装:
安装软件最怕的就是软件间的相依、相斥关系,但是在Debian系统里安装软件很轻松,只要使用apt-getinstall命令即可,所有相依、相斥Debian都能自动处理,你只需要按确定就行。
3.apt-get remove
软件移除:
与uninstall命令一样,Debian系统会帮你处理移除软件时所发生的相依问题。
例如:
apt-get remove bar删除bar软件包,但保留其配置文件。
apt-get remove--purge bar删除bar软件包及其配置文件。
4.apt-get up grade
软件升级:
系统上所安装的数十甚至数百套软件是否有新版出现,我们很难留意到,现在只要输入apt-getupgrade,系统便会自动找出所有新版的软件套件并逐一升级。
5.apt-get dist-up grade
系统升级:
当转移整个系统时,如stable转换到testing,或是系统运行好一段时间都应该执行这个命令,它会处理到很多软件相依、相斥的问题。
6.apt-get source
如果想取得某个软件套件(packages)的原始码可以通过apt-get source这个命令操作。
7.apt-get clean
通过apt-get安装的任何软件都会先下载到/var/cache/apt/archives/及/var/cache/apt/archive/partial/目录下,一般通过apt-get安装完成的软件不会把上述目录下的.deb删除,可以通过apt-get clean命令自动清理系统的这两个目录。
8.apt-get auto clean
类似apt-getclean,执行此命令时apt-get会在安装完毕后自动删除该软件的.deb文件。
9.apt-get check
apt-get不是万能,有时也会出现问题,遇到问题可以通过执行apt-getcheck命令,以判断问题所在。
10.apt-get remove--purge`deborphan`
清除系统多余的library
长期使用debian OS,而且经常安装、移除软件,系统中一定会出现残余library的情况。因为安装软件时:debian依照软件相依特性安装了额外的library,但当移除该软件时,当初附带安装的library不一定会一起被移除,久而久之,系统就会出现残余的library,这时可以运行这个命令,以扫除系统中无用的library,确保系统的清洁性。
其它常用辅助选项:
-f(--fix-broken)
如果无法安装,试下“-f”参数。
-d(--download-only)
只下载.deb而不安装,下载的档案会存放在“/var/cache/apt/archives/”目录下。
例子:apt-get-d install aterm
--purge
这个参数会移除你想要移除软件和相关软件。
例子:apt-get--purge remove aterm
apt-get命令的具体例子:
使用testing发布版的用户为例,可使用下列命令管理系统:
apt-get-u up grade
跟踪testing发布版的更新情况,对系统上所有软件包进行升级并从testing处安装关联软件包。
apt-get-udist-upgrade
跟踪testing发布版的更新情况,对系统上所有软件包进行升级并从testing处重新分析关联关系并安装关联包。
apt-get-udselect-upgrade
跟踪testing发布版的更新情况,对系统上所有在dselect中选定了的软件包进行升级。
apt-get-uinstallpackage
从testing处安装package及其关联包。
apt-get-u install package/unstable
从unstable处安装package并从testing处安装关联包。
apt-get-uinstall-t unstable package
从unstable处安装package及其关联包。注意须设置unstable的Pin-Priority为990。
apt-cachepolicyfoobar...
检查foobar...软件包的状态。
apt-cacheshowfoobar...|less
查看foobar...软件包的有关信息。
apt-get installfoo=2.2.4-1
安装foo软件包的特定版本2.2.4-1。
apt-get-uinstallfoo bar-
安装foo软件包并删除bar软件包。
apt-get remove bar
删除bar软件包,但保留其配置文件。
apt-get remove--purge bar
删除bar软件包及其配置文件
人们真正需要的应用软件,可以帮助他们完成工作的程序:从文档编辑,到电子商务、游戏娱乐、软件开发。Debian带来了超过18733个软件包(为了能在你的机器上轻松的安装,这些软件包都已经被编译包装为一种方便的格式)—这些全部都是自由软件。Debian就是负责把所有的基本工具,以及在计算机上运行的软件谨慎的组织和配合在一起,使得它们能够一起和谐地运作。
上一篇:ccleaner的软件功能介绍
¥1888.00
¥5999.00
¥499.00
¥10500.00
¥49.00