linux中国_ 发布的文章

嗨,极客们!

今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,每天坐在计算机前的你们,将会试着走出图形用户界面(GUI)文化的藩篱,从今天开始“让事情变得简单而大众化”。

当然,如果你访问过任何与GNU/Linux相关的社区论坛的话,你可能已经看到了,关于GUI和命令行哪个更好的讨论非常热烈。是让GUI掌控一切,还是只是学习并享受命令行界(CLI)面带来的乐趣呢?

Terminal

对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一,就是我们是在点击的计算模式下长大的,所以它基本上就是我们和机器进行交互的一种语言,或者你可以说是一种文化。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。

而对于反方,我读到的关于命令行的优点的最有趣的评论之一,就是你可以通过命令行来更快,更简单地做更多事情,比GUI工具来得快。但你需要明白的是:你需要学习命令。是的,学习它们,就像学一首诗一样。

现在,因为对于我们,半知半解毫无头绪的用户们,它让人听起来就像是某个没用的杂记小丑表演得表演过头,太过火了。让我来用个寓言讲得通俗一点吧:

寓言

我已经用了Linux超过3年了。27岁,是个文学专业学生,我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机,我想大概是17岁那年吧。对于我而言,只用了10年的计算机。我只用过三个程序,BS播放器,Winamp和足球经理,偶尔也用用MS Word。大约三年多以前,我做临时工时的一位同事,在我正和另外一位同僚谈话时告诉我说,有个新版的东西,它一下子就抓住了我的心,它看起来确实与众不同。我现在想想,它就是Ubuntu的“敏捷的独角鲸”。在和这位同事讨论这个新版本后,他指出了一些常见的优点,这些优点也是我们经常向新手宣传的,不需要杀毒软件,启动快捷,安全性更高,附带有软件中心等等之类。最突出的一点:它背后的自由和开源(FOSS)哲学。他用他温和而优雅的方式把我带了进去。

我决定来一次尝试,而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲时,那就完完全全另外一回事了。问题在于,我最终进入了Linux领域。这很有趣,感觉很不一样,它让我的计算机跑得更好,它也更稳定,我也和它相处得很好(似乎我是在不经意间买到了相当普通的硬件)。似乎Linux并不是一个完全的桌面系统,所以我有时不得不使用终端。但是这么说吧,它是Linux中一个最为讨厌的,最为可怕,最令人不爽的工具之一。如果某些操作没有GUI可以做的话,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。

随着时间流逝,情况发生了变化。相对于其他以消费者为导向的系统,发生在我身上的事可能有点与一般人相反。在那三年中,我感觉不是我在玩系统,而是系统在玩我。我学会了怎样寻找基本问题,提交bug报告,怎样正确地在论坛上提问。对于碰到的每个问题,我学会了为那些更有能力帮我解决问题的人提供更有用的信息。

不久以前,我女朋友发泄说,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。“你只用它来进行音乐收藏和做些Linux的乱七八糟的事情,Nenad. Gaawd”它让我想啊,使劲想。Linux,特别是openSUSE发行版它成了我的爱好之一。我不是一个专家,不管怎么看都是这样,Linux不在我的专业知识范畴内。但我有足够的知识来搞定它,搞定一些小问题,修改一些配置文件等等。但是我终于认识到,随着玩Linux日久,对系统的调整日多,我真的需要熟悉一下命令行(CLI)了。我也了解到,我在对底层的东西一无所知的情况下对系统胡作非为。我要对着etc大喊大叫了,它究竟是个什么东西?bin又是个什么东西?为什么会有个.sh在后面?问什么这个文件在这里?那个文件又在那里?为什么我得点击那一大堆的文件夹来找到正确的文件进行修改?然后,我读到“你可以用一个命令来简单地列出某个地方的所有文件”时,它又变得很有趣了,我突然感到迫不及待要想试试了。

好吧,让我们干吧!

我们来了……。作为一位新的openSUSE的新闻发布者,我会试着以我所见最有成效的方式来发表我的看法,这样的方式我想对社区中绝大多数人会奏效。该高举旗帜,一起开始学习命令行了。如果是哲学理念吸引你到Linux和openSUSE中来的,就像我一样,那么是时候走得更远一点了。

看,我就知道在那外头有一大堆像我这样的人。我知道,你也许没有抓住90后极客们的要点,黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又通用的方式来学习,目录是用来干什么,什么文件放在什么地方,以及一些最常用的终端命令。在我们在控制台处理一些任务时,这将让我们更轻松一些;在碰到一些问题时,获得更大的回报。它也会让bug处理者更轻松些,如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。

我是说,我的天啊,你已经过渡到连Dilber和xkcd都感到有趣的阶段了。是时候到终端下去了。

附录:

要用到的一些参考资料:威廉·肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求:

  • 每周1到2小时的空闲时间
  • 一品脱冰冻啤酒或者其它饮料
  • 有人已经指出,使用Gedit,或者手工记录本(你懂的,笔和纸,呵呵)可以让学习更简单一些。

肖茨写的书可是精品,但读它可要花点时间和毅力。这里,我尽力让课程变得更通俗易懂一点,花点时间来帮助你们,而最重要的是——我希望我们能一起学习,一起互相帮助(评论还有论坛,人!!),并且加入一个组织严密的openSUSE社区!下周的这个时间(已经会是六月了吧),我们讲学习我们的第一部分命令。切记……

尽情享受吧!


via: https://news.opensuse.org/2014/05/27/command-line-tuesdays-the-introductory/

译者:GOLinux 校对:wxy

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

Orange Box现已推出,它是一个便携的服务器集群,Canonical用它来演示和培训基于Ubuntu的OpenStack云。

Canonical刚刚发布的Orange Box是一个便携式服务器集群,该公司用来展示OpenStackMAASJuju和其它的基于Ubuntu Linux的云服务。

下面是它的介绍。

对于刚刚接触到它的人来说,重要的是要了解Orange Box不是什么:它不是一台Canonical用来盈利的硬件产品。到目前为止,该公司并无表示计划大规模销售这些设备。如果你真的想买一款的话,大概价格为$12,900,这个价格来自其合同制造商TranquilPC Limited

从大的方面来说,Orange Box是一个说服企业在基于Ubuntu的云计算投入资金的工具。Canonical的创始人马克·沙特尔沃思上个月宣布了Ubuntu OpenStack的战略,这是该战略的一个关键组成部分,更是该公司提供的称作Jumpstart的OpenStack的培训计划的一部分。

作为Jumpstart的一部分,Canonical会将Orange Box借给合作伙伴,以便他们的员工可以在Ubuntu集群上练习配置OpenStack和相关软件。Canonical的工作人员也将在培训期间提供咨询。

不过除开培训的目的不谈,Orange Box看起来真的很酷。它装有10个英特尔NUC,总计集成了160GB的RAM,1200GB的存储空间和10个酷睿i5处理器,这种设备在一个袖珍空间内提供了相当强大的计算能力。

更好的是,Orange Box通过预装软件为启动基于Ubuntu的云技术打下了良好基础。

不过,对于Canonical来说,真正的考验是确保企业能够从Orange Box中获益。借出它们不只是为了让合作伙伴们体验一下不错的硬件设备,而是为了通过一个真正令人信服的方式体验Ubuntu的云,以吸引IT决策者选择Ubuntu所建立的下一代云基础设施。


via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos

译者:乌龙茶 校对:wxy

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

如果你和其他人共享Ubuntu机器,那么你可能要设置多个用户,希望其他用户登录到他们自己的帐号,并只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。

当你在Ubuntu中添加一个新用户时,adduser工具为新的帐号添加了一个新的家目录。默认情况下,该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所有其他用户可以读另外外一些用户的家目录中的内容的权利。具体请阅读我们的文件权限在Linux中是如何工作的一文。

:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引号,除非我们另外指定。

你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限,输入Ctrl + Alt + T打开终端窗口,并在提示符后输入以下命令,然后按回车。使用你自己的用户名来替换下面的“用户名”。

ls -ld /home/lori

:该命令仅包含小写的L,而不是数字1。(LCTT译注:这是给完全小白的提示,绝大部分人可以无视这个备注了)

在该行的开头,列出了该文件的权限。就像我们在文章中关于Linux权限部分讲的那样。

r表示“读”,w表示“写”,而x表示“执行”。目录权限以“d”开头,而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个,后面是3个一组,分为3组。第一组是属主(owner)权限,第二组是属组(group)权限,最后一组是其它人(other或world)权限。

因此,下面列出的家目录的属主具有读、写和执行权限,而属组和其它人具有读和执行权限。

要修改这些权限,在提示符下输入以下行并回车

sudo chmod 0750 /home/lori

当提示你输入密码时,请输入并回车。

:chmod命令使用八进制数作为一种指定权限的方式。我们讲Linux权限的文章中使用了一种不同的方法,它需要几个步骤,但是可能更易于理解。使用八进制数来指定权限,是一种更快的方法。不管使用什么方法,只要你用着舒服就好。要学习使用八进制数设置权限,请阅读此文章

按上箭头两次,再次调用“ls -ld /home/用户名”命令来检查权限。注意,其它人权限现在都是破折号(-),这就意味着其它人将无法读、写或执行你家目录中的任何东西了。

然而,和你同组的用户可以读和执行你家目录中的文件和文件夹。如果你不想除你之外的任何人访问你的家目录,可以在chmod命令中输入“0700”。

:要获取关于Linux中用户和组管理的更多信息,请查看我们的文章

要关闭终端窗口,在提示符下输入“exit”并回车。

现在,当其系统中的其他用户试着要访问你的家目录时,下面的对话框就会弹出来了。

甚至你也可以在创建新用户时让Ubuntu使用指定的权限。要完成此项任务,你需要编辑adduser配置文件。要编辑该文件,在提示符下输入以下命令并回车。

gksudo gedit /etc/adduser.conf

我们使用gedit来编辑该文件,你也可以使用你想要的其它文本编辑器。

注:gksudo命令看似和sudo命令一样,但是它是用来以root身份运行图形化程序的,而sudo命令用来以root身份运行命令行程序。

在弹出对话框中的密码编辑框内输入你的密码并按回车或点击确定(OK)。

在adduser.conf文件中向下滚动到DIR\_MODE命令处,这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型(属主,属组,其它人)的不同权限(r,w,x),如我们先前讨论过的“0750”或“0700”。点击保存(Save)。

从gedit的文件(File)菜单选择退出(Quit)来关闭gedit,你也可以点击窗口左上角的X按钮来关闭它。

点击窗口左上角的X来关闭终端窗口。

现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也许要为你的家目录权限剔除组和大众权限。


via: http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/

译者:GOLinux 校对:wxy

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

为何要启用测试版/不稳定版?

测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么?其实这些稳定版啊不稳定版啊神马的都是别名,比方说稳定版其实就是Debian的稳定发行版,而测试版将会是下一个Debian的稳定发行版(当然那是测试后的事了)。截至发稿为止,当前Debian的稳定发行版是Wheezy 7.x,将会成为下一个稳定版的测试版则是Jessie。

当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我因为工作需要,要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的,可是我的软件库里面只有2.2.x的。所以最好的解决方案当时是将测试版下下来啦。

通常来说当我们想尝试最新版本的应用时,都应该只在测试版软件库中搜索。

(题图来源)

在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统并在上面安装软件。

Stable < Testing < Unstable (稳定 < 测试版 < 不稳定版)
Wheezy < Jessie < Sid

1. 设置测试版/不稳定版的apt源

第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上,/etc/apt/sources.list理应长得像这样:

$ cat /etc/apt/sources.list

...
deb http://security.debian.org/ wheezy/updates main
deb http://http.us.debian.org/debian/ wheezy main
deb-src http://security.debian.org/ wheezy/updates main
...

把你repo服务器的链接记下来,比如:http://http.us.debian.org/debian/

这个repo服务器将会是离你最近的一个服务器; 在不同的地理位置会有不同的url,这个将会用于下一步。

如果想加测试/不稳定源,则需要在sources.list文件加上这些东西:

# Testing repository - main, contrib and non-free branches
deb http://http.us.debian.org/debian testing main non-free contrib
deb-src http://http.us.debian.org/debian testing main non-free contrib


# Testing security updates repository
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free


# Unstable repo main, contrib and non-free branches, no security updates here
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 <respository server/mirror> <repository name> <sub branches of the repo>
(deb <上一步弄的服务器或镜像url> <repo的名字> <repo底下的分支>)

当然啦,除了用testing或者unstable这么烂的词,也能使用他们的发行版代号,比如Jessie或者Sid

deb http://http.us.debian.org/debian jessie main non-free contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://http.us.debian.org/debian sid main non-free contrib

2. 钉住 apt!这非常重要

在加了测试/不稳定的repo之后,当你更新系统的时候所有安装过并且可用的软件就会立马更新,而后你的系统就被你玩火自焚了。

所以需要设置一些规则,以便选定的软件包在正常的更新时不会被更新到一个不稳定的测试版本。

我们需要使用“钉住APT”的方式来告诉apt系统,除了我们希望使用测试版或不稳定版的特定软件包之外,其它的总是使用稳定版的软件包来更新。

可以通过如下两个文件之一来设置如何设置APT的优先级来“钉住”。

/etc/apt/preferences
或
/etc/apt/preferences.d/my_preferences

打开这两个文件之一(如果没有的话就创建一个),然后输入如下内容:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

前面我们提到过,稳定版指的是你当前的debian版本,测试版是下一个,而不稳定版则是更远的将来发行版。上面的设置中最主要的是优先级(Pin-Priority)。当前的稳定版应该有最高的优先级,这就是说,正常的apt-get操作只会从当前的稳定版的软件库(现在是wheezy)里面安装软件。

更新包缓存

在增加了新的软件库和指定了优先规则后,需要更新一下包缓存。

$ sudo apt-get update

确认APT规则

我们必须确认“钉住”的设置正确,优先级也没问题。使用 apt-cache 的 policy 参数来检查:

$ apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.2.22-13
  Version table:
     2.4.7-1 0
        600 http://http.us.debian.org/debian/ unstable/main amd64 Packages
     2.4.6-3 0
        650 http://http.us.debian.org/debian/ testing/main amd64 Packages
     2.2.22-13 0
        700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages

如上的输出,确认在wheezy 稳定版中, 2.2.22 版本的Apache是选定的版本,它有最高的优先级。

3. 从测试版/不稳定版软件库中安装软件

现在可以从测试版或不稳定版中选择一个特定的软件来安装它了。假如说我们要从测试版软件源中安装 apache2。

有两个不同的方法,并且其结果也有所不同。

方式一

# apt-get install apache2/testing

上述命令会从测试版软件库中安装 apache2,并从稳定版软件库中安装其依赖包(稳定版通过apt规则确定)。这个命令在某些情况下会失败,比如安装的软件包(apache2)所需的依赖包在稳定版软件库中没有更新到可以支持该软件时。

方式二

# apt-get -t testing install apache2

上述命令会从测试版软件库中安装apache2,并从测试版软件库中安装其依赖包。这要比上面的命令工作的更好。

所以,要安装较新的软件包,直接从测试版/不稳定版的软件库中安装就行了。注意,优先级号码不只是一个数字而已,还有其特定意义。可以查看 apt\_preferences的man页面了解更多:

$ man 5 apt_preferences

总结

使用“钉住”方式的测试版/不稳定版的软件库是一个获取较新版本软件包的一个好办法,不过其实并不推荐使用它们。如果弄错了,可能会从也许不兼容的分支上下载软件包,这会把你的系统搞乱。

一个更好的方式是,使用向后移植的软件库来安装更新的包。它从测试版和不稳定版的软件库中获取较新版本的软件包,但是为当前的稳定版软件库而编译。所以,对于 debian wheezy来说,你可以使用wheezy-backports 软件库。访问http://backports.debian.org/ 了解更多。

资源


via: http://www.binarytides.com/enable-testing-repo-debian/

译者:213edu wxy 校对:wxy

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

你好!在花费了大量的时间在配置你需要的内核后,你现在可以编译它了。源代码是纯文本形式的C代码。这对人来可读但是对机器可不是这样。编译会将代码转换成计算机可理解的一种称之为二进制码的形式(1是 [开],0 是 [关])。编译同样会将所有内核代码文件变成一个内核的文件。

为了编译内核,在内核源代码相同目录下,在终端内输入"make"。这会花费一些时间。完成之后,必须通过"make modules"来编译模块。为了从一开始就简化编译过程,输入"make; make modules"。这会先编译接着是模块,而不用用户再回来输入"make modules"。

警告:在你安装一个内核时,备份所有的重要数据,确保有一份/boot目录备份在FAT32的存储卡上。这可以在如果安装失败后帮助修复系统。FAT32不会存储权限,因此它更容易被用作live盘来还原数据。记住设置原始文件权限和可执行位。

一旦编译已经成功完成,我们可以安装内核到本地系统中(我会马上解释如何在其他系统上安装内核[交叉编译])。在相同的终端下,在编译完成后,输入"make install"。这会在/boot目录下存放一些文件。"vmlinuz"(或者其他相似的名字)是内核自身。"initrd"是基于内存的文件系统,它被置于内存中且在启动中使用。"System-map"包含了一张内核符号列表。这些全局变量和函数用于内核代码。"config" 是内核的配置文件。grub.cfg会自动更新。然而,有些bootloder需要手动配置。内核安装器会自动配置Grub,LILO和SysLinux bootloder。像BURG这类bootloder需要手动配置。模块的安装同样需要输入"make modules install"。

注:内核和模块的安装可以写在一行-“make install && make modules\_install”。

一旦上面的过程完成了,用户可以通过重启系统并在开机后在终端内输入"uname -r"来确保内核已经安装。如果系统无法启动或者uname报告你预期外的版本号,这个问题可能众多问题之一引起。或者是bootloader没有正确设置,特性/配置冲突,编译失败,不正确的安装,或者其他原因。找出问题源头最好的方法是查看系统日志(如果系统已经启动到足以产生日志)。"dmsg"是一个在屏幕上打印内核日志的命令。查看错误、警告或者未预料的结果。如果系统没有启动或者没有足够启动完全来生成日志,使用live linux盘来执行诊断和修复。如果所有的都失败了,再次编译内核并确保你已经用root或者"sudo"安装了内核。

注:最好的修复系统的方式是使用live Linux发行版来移除新的/损坏的内核,接着手动修复Grub文件(或者复制一个备份)。

一些Linux用户也喜欢安装内核文档,但这并不是必要。对于那些想要安装文档的用户,输入这行,这里的version是你的内核版本号 "install -d /usr/share/doc/linux-VERSION && cp -r Documentation/* /usr/share/doc/linux-VERSION"(VERSION 是内核版本号)。很明显,这需要root特权。

要是想编译一个如你目前内核一样特性的内核,输入这条命令"zcat /proc/config.gz > .config"。这个文件可能不存在,如果是这样,你可能需要询问你发行版/内核的开发者这个文件。"zcat"命令解压并写入数据到一个".config"文件中。记住把".config"放到合适的位置。这个文件应该放置在Linux内核目录下,并允许它替换当前的文件。接着,像往常一样编译安装你的内核即可。

交叉编译稍微有点不同。为目标系统配置内核。确保内核配置完后,它是以交叉编译配置的。当交叉编译时,需要熟悉两条术语。"Host"是执行编译的系统,"Target"是接收新内核的系统。确保Host主机系统有合适的编译器。比如,对于ARM系统的交叉编译,用户需要在主机系统上有gcc-arm-linux-gnueabi。通常来说,开发者可以在他们的包管理器上搜寻或者Google到合适/最好的适合他们需要的交叉编译器。比如用于ARM系统交叉编译的命令是"make ARCH=arm CROSS\_COMPILE=arm-linux-gnueabi-"。"ARCH=arm"指的是目标处理器的类型,"CROSS\_COMPILE"指明了交叉编译器。注意交叉编译器前面缺少了"gcc-"并以连字符结束。这是用户在使用交叉编译器作为参数使用时必须使用的格式。模块可以通过输入"make ARCH=arm CROSS\_COMPILE=arm-linux-gnueabi- modules"来交叉编译。为了在目标系统上安装内核,将内核文件夹复制到目标系统上。一旦文件已在目标系统上并在该目录下打开了终端,输入"make install && make modules\_install"。当然你必须是root或者使用"sudo"。

信息:Kernel.org放了一个支持的交叉编译器列表(https://www.kernel.org/pub/tools/crosstool/)。

安装编译总结:

标准:

make && make modules && make install && make modules_install

做一个更新的版本或者重整你的内核:

zcat /proc/config.gz > .config &&  make && make modules && make install && make modules_install

交叉编译:

make ARCH={TARGET-ARCHITERCTURE} CROSS_COMPILE={COMPILER}; make ARCH={TARGET-ARCHITERCTURE} CROSS_COMPILE={COMPILER} modules && make install && make modules_install

下篇文章中,我们会讨论加入和激活模块。谢谢!


via: http://www.linux.org/threads/the-linux-kernel-compiling-and-installing.5208/

译者:geekpi 校对:wxy

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

欢迎来到内核配置的下一章!本篇中我们会配置密码API,虚拟化和运行库。密码学指的是在需要的计算机之间加密和安全通信的科学。用户可能加密数据以保证是收件人而不是黑客收到数据。

Linux内核需要在内核中启用"Cryptographic algorithm manager"(密码算法管理器)。这个特性提供了操作内核的加密特性所需的软件。

当启用这个它,用户空间提供了配置加密特性(Userspace cryptographic algorithm configuration)。注意:这个配置指的是内核运行时的加密设置,不是编译内核的工具。

为了加强性能,启用这个会在加密算法中停止自我检测的特性 (Disable run-time self tests)。

"GF(2 128) multiplication functions"是一种被一些密码使用特殊算法。GF代表的是" Galois field"(伽罗瓦域),是一种有限数的集合。这写集合称之为域并且有不同的大小。

"Null algorithms"是用于IPSec的算法。NULL加密意味这没有加密,因此这个驱动允许IPSec不使用加密。

任意算法可以转换成并行算法(Parallel crypto engine)。这个特性提供了转换器。

任意算法同样可以转换成异步算法(Software async crypto daemon)。

IPsec需要"Authenc support"。"Authenc support"代表"Authenticated Encryption and offers multiple encryptions to IPsec"(认证加密并对IPSec提供多重加密)。

CCM代表的是"Counter with CBC MAC"(CBC MAC计数器),IPSec需要它(CCM support)。

这个驱动提供了"GCM/GMAC support"。GCM意思是"Galois/Counter Mode"(伽罗瓦/计数器 模式),GMAC是"Galois Message Authentication Code"(伽罗瓦消息验证码)。

注意:我不会明确地解释一些特性的使用和细节。密码学是计算机中的特定领域,解释加密学超出了这篇文章的范围。

"Sequence Number IV Generator"是一个被某些加密软件使用的特殊的号码生成器。

Linux内核提供了不同的密码算法(CBC support)、 (CTR support)、 (CTS support)、 (ECB support)、 (LRW support)、 (PCBC support)、 (XTS support)、 (HMAC support)、 (XCBC support) 和 (VMAC support)。

"CRC32c CRC algorithm" 明确被SPARC64处理器使用。

"CRC32c INTEL hardware acceleration"是另外一个特定处理器的算法。它工作于带SSE4.2的Intel处理器。

内核提供了很多摘要、密码和其他加密软件。通常上,默认允许它们除非你有特殊的理由来启用或禁用这些特性。

注意:摘要(像MD5)会基于一个文件生成一个哈希值(字符序列)。哈希值接着被用于检查文件。比如,如果你从Canonical网站上下载了Ubuntu ISO安装盘,你可能想要知道你硬盘上的文件就是服务器上的文件的复制品。用户这么做的原因是ISO可能在长时间下载中被损坏。哈希值被用来证明文件没有被改变。

注意:密码是一种加密/解密算法。加密是使文件对除了接受者/拥有者之外的人都不可读。解密是浏览加密文件的过程。

Linux内核同样支持用户被强烈建议启用的不同的压缩算法(Deflate compression algorithm)、 (Zlib compression algorithm) 和 (LZO compression algorithm)。

内核可以生成用于加密软件的随机数(Pseudo Random Number Generation for Cryptographic modules)、(User-space interface for hash algorithms) 和 (User-space interface for symmetric key cipher algorithms)。

"Hardware crypto devices"是一个子菜单,包含了基于硬件加密工具的驱动。这个硬件在固件中含有算法。

"Asymmetric (public-key cryptographic) key type" 菜单中存在着不同的非对称公开密钥。

下面,我们可以进入配置工具主菜单(基于菜单接口)的下一个入口。虚拟化是寄放一个操作系统的 能力。这意味这Linux(和其他的系统)可以运行其他的操作系统,仿佛客户机是一个应用一样。

"Kernel-based Virtual Machine (KVM) support"运行内核本身管理客户机。带Intel处理器的计算机需呀这个驱动(KVM for Intel processors support),AMD的则需要(KVM for AMD processors support)。

用于内核虚拟机(KVM)的内存管理单元(MMU)可以有一个审计系统。

启用这个特性使客户机的网络变得更快(Host kernel accelerator for virtio net)。

在配置哇内核虚拟机特性后,配置工具主菜单下的最后菜单是内核配置的最后一部分。这个菜单用于"Library Routines"(库运行时),同样也成为库函数。一部分内核可以被作为可以链接的库。比如,XZ过滤(压缩算法)可以被外部程序访问。下面列出了不同的库。

注意:CRC函数大多数都相同但有不同的特性和性能,通常来讲,最好启用这些特性。

CRC-CCITT functions - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC16 functions - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC calculation for the T10 Data Integrity Field - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC ITU-T V.41 functions - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC32/CRC32c functions - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC32 perform self test on init - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC32 implementation (Slice by 8 bytes) - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC7 functions - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC32c (Castagnoli, et al) Cyclic Redundancy-Check - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

CRC8 function - 循环冗余校验测试(Cyclic Redundancy Check)用于测试原始数据中的改变。

* BCJ filter decoder - 为特定处理器设计的XZ解码器,这里的"*"是处理器。内核列出了一些不同的架构。

XZ decompressor tester - 用于测试XZ解码器的调试函数。

Averaging functions - "uptime"在"uptime"中看到的平均负载。

CORDIC algorithm - 双曲线和三角函数。

JEDEC DDR data - JEDEC双倍数据速率SD-RAM规范

你猜怎么了?我们已经完成配置内核。在23篇之后,我敢肯定这是你的感觉 -

视频链接:http://www.youtube.com/embed/barWV7RWkq0?wmode=opaque

下面,我们可以编译并安装了

在遥远的地方,我仍然在听 -

视频链接:http://www.youtube.com/embed/ELoUppY1esw?wmode=opaque


via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-23.5112/

译者:geekpi 校对:wxy

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