Debian

创建自由操作系统的合作组织

Debian

广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程,因此“Debian”常指Debian GNU/Linux。非官方内核分支还有只支持x86的Debian GNU/Hurd(Hurd微内核),只支持amd64的Dyson(OpenSolaris混合内核)等。这些非官方分支都存在一些严重的问题,没有实用性,比如Hurd微内核在技术上不成熟,而Dyson则基础功能仍不完善。

广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程,因此“Debian”常指Debian GNU/Linux。

非官方内核分支还有只支持x86的Debian GNU/Hurd(Hurd微内核),只支持amd64的Dyson(OpenSolaris混合内核)等。这些非官方分支都存在一些严重的问题,没有实用性,比如Hurd微内核在技术上不成熟,而Dyson则基础功能仍不完善。

“Debian”正式发音为 /ˈdɛ.bi.ən/ ,Debian 是国际化协作项目,官方未指定任何非英文名称。

简介

Debian计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为Debian

操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。

Debian系统目前采用Linux内核或者FreeBSD内核。Linux是一个最初由LinusTorvalds创建,目前由全球成千上万的程序师共同维护的软件。FreeBSD是一个包括内核和其它软件的操作系统。

然而,让Debian支持其他内核的工作也正在进行,最主要的就是Hurd。Hurd是一组在微内核(例如Mach)上运行的、提供各种不同功能的守护进程。Hurd是由GNU工程所设计的自由软件

官方所创建的这个操作系统中的大部分基本工具来自于GNU工程;因此我们把它们命名为GNU/Linux、GNU/kFreeBSD和GNU/Hurd。这些工具同样都是自由的。

当然,人们真正需要的是应用软件,也就是帮助他们完成工作的程序:从文档编辑,到电子商务,到游戏娱乐,到软件开发。Debian带来了超过51000个软件包(为了能在您的机器上轻松地安装,这些软件包都已经被编译包装为一种方便的格式),一个软件包管理器(APT),以及其他帮助您在上千台计算机上管理数千个软件包的工具,过程就如安装一个应用程序那么简单。而这些全都是自由软件

这有点像一个高塔:在最底层的是内核,在内核上面的是所有的基本工具,然后是所有您在计算机上运行的软件。最后,在这个高塔顶端的就是Debian—把每件事情谨慎的组织和配合在一起,使得它们能够在一起和谐地运作。

特点

稳定性

这里有许多运行多年的机器没有重启的案例。即便有的机器重启,也是由于电源故障或硬件升级。和其它那些一天要崩溃多次的系统比较一下。

更快更容易的内存管理

其它操作系统也许在一两个领域内速度够快,但是基于 GNU/Linux 或 GNU/kFreeBSD 的 Debian 对硬件要求很低且很平均。在 GNU/Linux 下通过模拟器运行的 Windows 软件比在其原生环境中运行的速度更快

大多数的硬件驱动程序是 GNU/Linux 或 GNU/kFreeBSD 用户们所写的,而非厂商。

这可能意味着,对某些硬件的支持从无到有的过程之间会存在一些延迟。不过,在厂商停止生产或倒闭以后却仍可以对硬件提供长时间的支持。经验显示,开放源码的驱动程序通常比封闭式的好太多了。

良好的系统安全

Debian 以及自由软件社区非常注意在软件发布中快速地修复安全问题。通常没几天就会有修复过的软件被上传。因为开放源代码,所以 Debian 的安全性会在开放的情况下被评估。而且其它自由软件项目也有相同级别的考核系统,用于防止潜在的安全问题被引入到基本系统的重要位置。

安全软件

许多人并不知道,任何机器都可以看到您在网络上发送 的任何信息。Debian 有著名的 GPG(和 PGP)软件,允许邮件在用户之间秘密地被发送。另外,ssh 允许您和其它安装了 ssh 的机器 创建安全的连接。

版本记录

Debian的发行及其软件源有五个分支:旧稳定分支(oldstable)、稳定分支(stable)、测试分支(testing)、不稳定分支(unstable)、实验分支(experimental)。

当前的稳定分支即Stretch(即下一个旧稳定分支),所有开发代号均出自Pixar的电影《玩具总动员》。

Debian GNU/Linux历史版本一览表版本号以及代号发布日期玩具总动员的对应角色主要特点0.01至0.911993年8月至1994年1月--0.93R51995年3月--0.93R61995年11月--1.1 Buzz1996年6月17日巴斯光年使用Linux内核2.01.2 Rex1996年12月12日暴龙-1.3 Bo1997年6月2日放羊的女孩-2.0 Hamm1998年7月24日小猪扑满-2.1 Slink1999年3月9日玩具狗APT问世2.2 Potato2000年8月15日Potato Head先生-3.0 Woody2002年7月19日胡迪,电影主角之一的牛仔-3.1 Sarge2005年6月6日绿色塑胶玩具士兵的首领-4.0 Etch2007年4月8日玩具黑板-5.0.0 Lenny2009年2月14日望远镜-6 squeeze2011年2月16日三只眼睛的绿色大嘴玩具外星人-7 wheezy2013年5月4日一只带着领结的玩具企鹅加强MultiArch,稳定版本8 Jessie2015年4月26日玩具总动员第二部中的角色,是一个女牛仔禁用了旧版不安全的SSLv3协议默认使用 Systemd9 stretch2017年06月17日-10 Buster2019年中期-11 Bullseye--12 Bookworm--9 Sid每日更新席德,隔壁的男孩,玩具终结者软件较新,适合桌面和软件测试

软件管理

一,APT以及dpkg常见用法如下:

功能软件源设置/etc/apt/sources.list更新软件源数据apt-get update更新已安装软件apt-get upgrade更新系统版本apt-get dist-upgrade通过安装包或卸载包来修复依赖错误apt-get -f install搜索软件源数据apt-cache search foo解压安装软件包apt-get install foo重新安装软件包apt-get --reinstall install foo删除软件包释放的内容apt-get remove foo卸载软件,同时清除该软件配置文件apt-get --purge remove foo删除不需要的包apt-get autoclean删除所有已下载的包apt-get clean自动安装编译一软件所需要的包apt-get build-dep fooAPT——Advanced Package Tool-

功能显示DEB包信息dpkg -I xx.deb显示DEB包文件列表dpkg -c xx.deb安装DEB包dpkg -i xx.deb安装DEB包(指定根目录)dpkg --root=<directory> -i xx.deb显示所有已安装软件dpkg -l显示已安装包信息dpkg -s foo显示已安装包文件列表dpkg -L foo卸载包dpkg -r foo卸载软件包并删除其配置文件dpkg -P foo重新配置已安装程序dpkg-reconfigure foodpkg——package manager for Debian-

从软件源中编译软件流程(适用于少量代码改动或者配置修改)功能具体语句示例获取源码apt-get source fooapt-get source rox-filer安装编译依赖apt-get build-dep fooapt-get build-dep rox-filer解压源码dpkg-source -x foo_version-revision.dscdpkg-source -x rox_2.11-3.dsc修改源码部分-nano ROX-Filer/src/main.c创建包dpkg-buildpackage -rfakeroot -b-修改软件可升级状态echo -e "foo hold" | dpkg --set-selections-

使用管理

如果你使用Debian软件包管理器来管理Linux软件,应该详细了解Debian软件仓库的原理,这有助于使用Linux命令将让你更容易管理Debian软件。

Linux软件包管理使用的Debian软件库,Debian提供了软件包的安装源。Debian管理器会自动查找库和安装Debian包的依赖关系。如果没有Debian软件库管理系统,要解决这些Debian软件包的依赖关系是一种烦恼。

按目前的Linux分布情况,主要的Debian软件库管理系统是Debian的软件库管理系统,主要用于Debian、Ubuntu和其Linux衍生系统上,如Linux Mint;Debian软件库管理系统使用默认的Debian软件包格式。Debian用.deb。这些Debian软件包是将软件和元数据压缩和档案。Debian元数据提供了有关软件的版本信息,以及Debian软件包的依赖关系。

但Debian软件包的数据库与Debian软件库很容易混淆。虽然通过Debian软件库管理使这些Debian软件包可以让工作更简单,但这些Debian软件包同时有另一个数据库。这意味着Debian软件包的信息来源可以有多个:Debian包数据库和Debian软件库数据库。

数据库工作

Debian包数据库是Debian软件安装了。在Linux系统里最重要的信息来源。Debian包数据库从服务器上检索当前安装的Debian软件,Debian包文件通常是一个丰富的Debian文档和Debian软件使用的信息源,这对于Linux系统Debian软件包之间的依赖关系非常有用。

在基于Debian的Linux服务器,使用dpkg命令。例如,dpkg -L命令可以读取Debian软件包清单,或rpm -ql命令显示哪些文件被包含在一个Debian软件包。

软件仓库工作

在安装新的Debian软件或进行Debian软件升级,系统管理员通常使用Debian软件仓库。尤其是更新Debian服务器补丁的时候,Debian软件仓库会更方便:Debian软件包管理器只需要更新新的软件包,使Debian自动可用,Debian库用户便可以使用它们,这过程完全是透明的。

在基于Debian软件仓库的系统,Debian索引文件需要手动更新,使用Debian的apt-get update命令来更新本地机器上的Debian软件包缓存。Debian包缓存更新完成后,便可以很容易的Debian安装软件包和更新。

Debian系统会自动比较了软件仓库的Debian安装包和Debian安装在本地系统的Debian软件包列表,以确定一个Debian包已经安装,或者是否有可用的Debian更新。

Debian软件仓库管理系统在处理Debian软件包依赖关系非常好用:目前所有的Linux都提供了丰富的Debian资料库,并提供必要的Debian依赖,这意味着Linux管理员对Debian软件包的依赖恐惧大大减少了。

没有的包

Debian软件仓库中没有的软件,意味着Debian安装起来比较困难。管理员可以创建自己的Debian软件库和复制本地的Debian软件包。这也让管理员从库安装自定义Debian软件包的时候,进一步减少Debian依赖问题。

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容