2015年12月

Larry Wall 发布消息:Perl 6 于 2015 年 12 月 25 日 22:00 GMT 时间发布了!按照承诺,发布了测试套件和编译器。愿上帝保佑我们每个人。

Perl 6  的 LOGO: Camelia

Hello,听,听,听!注意!——大家请注意了!!!

喔,谢谢大家。

嗨,我是 卡梅丽娅 Camelia (LCTT 译注:这是 Perl 6 的 logo 的名字),认识我吧(也许不认识呢)。他们告诉我,我需要在 Perl 6 官方发布会 Perl 6’s official Coming Out Party 上作个讲话,所以我就来了。嗯,他们是棋手,而我只是一枚棋子。他们还跟我强调要严肃点,呃,说的好像我知道怎么认真演讲一样,玩真的吗?

好吧好吧,严肃一些,首先我要感谢所有今天“ 走出来 coming out ”的人。

呃,我好像说错了什么。呃,抱歉,我不是指“ 出柜 coming out ”的那个意思……

但是,感谢您的到来。今天是 Perl 6 的大日子,从现在起,她成年了。或者说快成年了吧。反正,她可以正式上路了。看着吧,全世界!

[从后排传来了一些听不清的议论]

(旁白)额,我之前是不是不应该多嘴的?我并不是说她剐坏了那些翼子板什么的。好吧,无论如何,让继续吧。我相信从现在起她会是一个好司机。

不管怎样,我已经对 Perl 6 着迷不已,因为我就是一只 蝴蝶 butterfly 啊(LCTT 译注,Perl 6 的 logo 就是一只蝴蝶,见题图)。我花了很长一段时间才从蝶蛹里 走出来 coming out 。是真正意义上的走出来,走出来,走出来!重要的事情说三遍!

哎呀,又碰到高压线了,哈哈哈。

不管怎么说,请大家对 Perl 6 耐心点。今天,我们宣布她基本上是个大人了,但是你也知道,她毕竟还年轻啊。我们小时候,岁数有多少,我们就多大。青年时期,经历荷尔蒙的变化,我们开始变得动荡。而且一小会就振动一次。所以我们 15 岁时,波动像是能加减 10 年。所以,有时候我们会表现得像 25 岁那么成熟,有时候又会回到 5 岁般无知。

当然,Perl 6 还要更成熟些,这并不是说在她发脾气把我们逼疯时就不爱她了。我的意思是,她就像家人一样。你和家人有时疏远有时亲近,因为你知道,一家人总会慢慢亲近的。

我们和她是一个大家庭,今天聚集一堂。有人说抚养一个孩子需要有一个村庄,但是从来没有这样的孩子,也没有这样的村庄。明天宿醉醒后,有机会的话看看节目单,你会在后面看到一个感恩列表,有超过 800 个人的名字!他们通过相同或者不同方式,积极地为 Perl 6 的发展做出了贡献。当然,有些名字无法一一列出。

我说的不是你,我说的是在座的各位,你们全是伟大的人!不仅仅是家庭里最亲近的成员。这个家庭很久以前就意识到,对于一个不断发展的编程语言来说,一些最有价值的建议都是来自直系成员之外。来自朋友和熟人的要比家里的更多。所以说需要一个村庄。

成熟是一个分形的概念,它可以在不同的尺度上说。你们全是 Perl 6 走向互联网的代表。眼前是一个粗暴的世界,多亏有你们, Perl 6 已经为它做好了一些准备。

当然,她才仅仅 15 岁,有些事她做的很好,她的沟通技巧很棒,如果她不认识你的时候也很守礼。她能够同时做几个对话,她在数学方面很棒,在操作各种对象时也技巧谙熟,她喜欢外语以及那些有趣的字母。

但是她仍然是个孩子,有时候学习一些东西时觉得有点困难。没关系,接下来几年她会越来越快,越来越有效率,她的大脑也会自我进化得像个成年人一样。她会学习很多东西,包括这个世界和她自己。但是我觉得她的个性是改不了的,至少现在看来如此。

这是因为她的个性都是来自你们。你们全都爱着她,现在,她已经准备好把这些爱传递给她未曾谋面的人。

当火箭发射时我们全都会很兴奋!TimToady(LCTT 译注:即 Larry Wall)告诉我凌晨起床去看水星、双子座和阿波罗火箭起飞。我年纪太小,记不清那些。不过我们也有我们自己激动人心的事情要关注。我是非常高兴看到 SpaceX 火箭本周回收成功,虽然有点磕磕碰碰……

SpaceX 火箭发射回收成功

[又一些听不清的议论]

(旁白)抱歉,我没注意到你。我们确实会忽视某些人,不要成为之一。

好吧,幸灾乐祸的人我也很讨厌。

不管怎么说,Perl 6 的发布挺像火箭发射。倒计时的时候会很紧张,当你在想它是发射成功还是爆炸时会情不自禁的屏住呼吸。这就像我们现在的情况,主引擎已经点火,夹具已经放开。看起来非常戏剧性,主要是因为目前看来不会出大娄子。

但是这并不是火箭发射,戏剧性也不是火箭发射所想要的。火箭要的是发射!越来越快,越来越快!无关高度,甚至无关速度,要的是加速度。

[让我们举杯]

所以,Perl 6 破茧了,她可以自由飞翔了。因其成长而快乐,因其发现而欢愉,不断加速吧!干杯!

感谢 @soooogreen 的校对补完。

在这个节日里感到孤独么?试一下 Xsnow 吧。它是一个可以在 Unix/Linux 桌面下下雪的应用。圣诞老人和他的驯鹿会在屏幕中奔跑,伴随着雪片让你感受到节日的感觉。

我第一次安装它还是在 13、4 年前。它最初是在 1984 年 Macintosh 系统中创造的。你可以用下面的方法来安装:

安装 xsnow

Debian/Ubuntu/Mint 用户用下面的命令:

$ sudo apt-get install xsnow

Freebsd 用户输入下面的命令:

# cd /usr/ports/x11/xsnow/
# make install clean

或者尝试添加包:

# pkg_add -r xsnow

其他发行版的方法

  1. Fedora/RHEL/CentOS 在 rpmfusion 仓库中找找。
  2. Gentoo 用户试下 Gentoo portage,也就是emerge -p xsnow
  3. Opensuse 用户使用 yast 搜索 xsnow

我该如何使用 xsnow?

打开终端(程序 > 附件 > 终端),输入下面的额命令启动 xsnow:

$ xsnow

示例输出:

图01: 在 Linux 和 Unix 桌面中显示雪花

你可以设置背景为蓝色,并让它下白雪,输入:

$ xsnow -bg blue -sc snow

设置最大的雪片数量,并让它尽可能快地掉下,输入:

$ xsnow -snowflakes 10000 -delay 0

不要显示圣诞树和圣诞老人满屏幕地跑,输入:

$ xsnow -notrees -nosanta

关于 xsnow 更多的信息和选项,在命令行下输入 man xsnow 查看手册:

$ man xsnow

建议阅读


via: http://www.cyberciti.biz/tips/linux-unix-xsnow.html

作者:Vivek Gite 译者:geekpi 校对:wxy

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

动态主机控制协议 Dynamic Host Control Protocol (DHCP)给网络管理员提供了一种便捷的方式,为不断变化的网络主机或是动态网络提供网络层地址。其中最常用的 DHCP 服务工具是 ISC DHCP Server。DHCP 服务的目的是给主机提供必要的网络信息以便能够和其他连接在网络中的主机互相通信。DHCP 服务提供的信息包括:DNS 服务器信息,网络地址(IP),子网掩码,默认网关信息,主机名等等。

本教程介绍运行在 Debian 7.7 上 4.2.4 版的 ISC-DHCP-Server 如何管理多个虚拟局域网(VLAN),也可以非常容易应用到单一网络上。

测试用的网络是通过思科路由器使用传统的方式来管理 DHCP 租约地址的。目前有 12 个 VLAN 需要通过集中式服务器来管理。把 DHCP 的任务转移到一个专用的服务器上,路由器可以收回相应的资源,把资源用到更重要的任务上,比如路由寻址,访问控制列表,流量监测以及网络地址转换等。

另一个将 DHCP 服务转移到专用服务器的好处,以后会讲到,它可以建立动态域名服务器(DDNS),这样当主机从服务器请求 DHCP 地址的时候,这样新主机的主机名就会被添加到 DNS 系统里面。

安装和配置 ISC DHCP 服务器

1、使用 apt 工具用来安装 Debian 软件仓库中的 ISC 软件,来创建这个多宿主服务器。与其他教程一样需要使用 root 或者 sudo 访问权限。请适当的修改,以便使用下面的命令。(LCTT 译注:下面中括号里面是注释,使用的时候请删除,#表示使用的 root 权限)

# apt-get install isc-dhcp-server       [安装 the ISC DHCP Server 软件]
# dpkg --get-selections isc-dhcp-server     [确认软件已经成功安装]
# dpkg -s isc-dhcp-server           [用另一种方式确认成功安装]

Install ISC DHCP Server in Debian

2、 确认服务软件已经安装完成,现在需要提供网络信息来配置服务器,这样服务器才能够根据我们的需要来分发网络信息。作为管理员最起码需要了解的 DHCP 信息如下:

  • 网络地址
  • 子网掩码
  • 动态分配的地址范围

其他一些服务器动态分配的有用信息包括:

  • 默认网关
  • DNS 服务器 IP 地址
  • 域名
  • 主机名
  • 网络广播地址

这只是能让 ISC DHCP 服务器处理的选项中非常少的一部分。如果你想查看所有选项及其描述需要在安装好软件后输入以下命令:

# man dhcpd.conf

3、 一旦管理员已经确定了这台服务器分发的所有必要信息,那么是时候配置服务器并且分配必要的地址池了。在配置任何地址池或服务器配置之前,必须配置 DHCP 服务器侦听这台服务器上面的一个接口。

在这台特定的服务器上,设置好网卡后,DHCP 会侦听名称名为'bond0'的接口。请适根据你的实际情况来更改服务器以及网络环境。下面的配置都是针对本教程的。

Configure ISC DHCP Network

这行指定的是 DHCP 服务侦听接口(一个或多个)上的 DHCP 流量。修改主配置文件,分配适合的 DHCP 地址池到所需要的网络上。主配置文件在 /etc/dhcp/dhcpd.conf。用文本编辑器打开这个文件

# nano /etc/dhcp/dhcpd.conf

这个配置文件可以配置我们所需要的地址池/主机。文件顶部有 ‘ddns-update-style‘ 这样一句,在本教程中它设置为 ‘none‘。在以后的教程中会讲到动态 DNS,ISC-DHCP-Server 将会与 BIND9 集成,它能够使主机名更新指向到 IP 地址。

4、 接下来的部分是管理员配置全局网络设置,如 DNS 域名,默认的租约时间,IP地址,子网的掩码,以及其它。如果你想了解所有的选项,请阅读 man 手册中的 dhcpd.conf 文件,命令如下:

# man dhcpd.conf

对于这台服务器,我们需要在配置文件顶部配置一些全局网络设置,这样就不用到每个地址池中去单独设置了。

Configure ISC DDNS

我们花一点时间来解释一下这些选项,在本教程中虽然它们是一些全局设置,但是也可以单独的为某一个地址池进行配置。

  • option domain-name “comptech.local”; – 所有使用这台 DHCP 服务器的主机,都将成为 DNS 域 “comptech.local” 的一员
  • option domain-name-servers 172.27.10.6; DHCP 向所有配置这台 DHCP 服务器的的网络主机分发 DNS 服务器地址为 172.27.10.6
  • option subnet-mask 255.255.255.0; – 每个网络设备都分配子网掩码 255.255.255.0 或 /24
  • default-lease-time 3600; – 默认有效的地址租约时间(单位是秒)。如果租约时间耗尽,那么主机可以重新申请租约。如果租约完成,那么相应的地址也将被尽快回收。
  • max-lease-time 86400; – 这是一台主机所能租用的最大的租约时间(单位为秒)。
  • ping-check true; – 这是一个额外的测试,以确保服务器分发出的网络地址不是当前网络中另一台主机已使用的网络地址。
  • ping-timeout; – 在判断地址以前没有使用过前,服务器将等待 ping 响应多少秒。
  • ignore client-updates; 现在这个选项是可以忽略的,因为 DDNS 在前面已在配置文件中已经被禁用,但是当 DDNS 运行时,这个选项会忽略主机更新其 DNS 主机名的请求。

5、 文件中下面一行是权威 DHCP 所在行。这行的意义是如果服务器是为文件中所配置的网络分发地址的服务器,那么取消对该 权威关键字 authoritative stanza 的注释。

通过去掉关键字 authoritative 前面的 ‘#’,取消注释全局权威关键字。这台服务器将是它所管理网络里面的唯一权威。

Enable ISC Authoritative

默认情况下服务器被假定为不是网络上的权威服务器。之所以这样做是出于安全考虑。如果有人因为不了解 DHCP 服务的配置,导致配置不当或配置到一个不该出现的网络里面,这都将带来非常严重的连接问题。这行还可用在每个网络中单独配置使用。也就是说如果这台服务器不是整个网络的 DHCP 服务器,authoritative 行可以用在每个单独的网络中,而不是像上面截图中那样的全局配置。

6、 这一步是配置服务器将要管理的所有 DHCP 地址池/网络。简短起见,本教程只讲到配置的地址池之一。作为管理员需要收集一些必要的网络信息(比如域名,网络地址,有多少地址能够被分发等等)

以下这个地址池所用到的信息都是管理员收集整理的:网络 ID 172.27.60.0, 子网掩码 255.255.255.0 或 /24, 默认子网网关 172.27.60.1,广播地址 172.27.60.255.0 。

以上这些信息对于构建 dhcpd.conf 文件中新网络非常重要。使用文本编辑器修改配置文件添加新网络进去,这里我们需要使用 root 或 sudo 访问权限。

# nano /etc/dhcp/dhcpd.conf

Configure DHCP Pools and Networks

当前这个例子是给用 VMWare 创建的虚拟服务器分配 IP 地址。第一行显示是该网络的子网掩码。括号里面的内容是 DHCP 服务器应该提供给网络上面主机的所有选项。

第一行, range 172.27.60.50 172.27.60.254; 这一行显示的是,DHCP 服务在这个网络上能够给主机动态分发的地址范围。

第二行,option routers 172.27.60.1; 这里显示的是给网络里面所有的主机分发的默认网关地址。

最后一行, option broadcast-address 172.27.60.255; 显示当前网络的广播地址。这个地址不能被包含在要分发放的地址范围内,因为广播地址不能分配到一个主机上面。

必须要强调的是每行的结尾必须要用(;)来结束,所有创建的网络必须要在 {} 里面。

7、 如果要创建多个网络,继续创建完它们的相应选项后保存文本文件即可。配置完成以后如果有更改,ISC-DHCP-Server 进程需要重启来使新的更改生效。重启进程可以通过下面的命令来完成:

# service isc-dhcp-server restart

这条命令将重启 DHCP 服务,管理员能够使用几种不同的方式来检查服务器是否已经可以处理 dhcp 请求。最简单的方法是通过 lsof 命令来查看服务器是否在侦听67端口,命令如下:

# lsof -i :67

Check DHCP Listening Port

这里输出的结果表明 dhcpd(DHCP 服务守护进程)正在运行并且侦听67端口。由于在 /etc/services 文件中67端口的映射,所以输出中的67端口实际上被转换成了 “bootps”。

在大多数的系统中这是非常常见的,现在服务器应该已经为网络连接做好准备,我们可以将一台主机接入网络请求DHCP地址来验证服务是否正常。

测试客户端连接

8、 现在许多系统使用网络管理器来维护网络连接状态,因此这个设备应该预先配置好的,只要对应的接口处于活跃状态就能够获取 DHCP。

然而当一台设备无法使用网络管理器时,它可能需要手动获取 DHCP 地址。下面的几步将演示怎样手动获取以及如何查看服务器是否已经按需要分发地址。

ifconfig‘工具能够用来检查接口的配置。这台被用来测试的 DHCP 服务器的设备,它只有一个网络适配器(网卡),这块网卡被命名为 ‘eth0‘。

# ifconfig eth0

Check Network Interface IP Address

从输出结果上看,这台设备目前没有 IPv4 地址,这样很便于测试。我们把这台设备连接到 DHCP 服务器并发出一个请求。这台设备上已经安装了一个名为 ‘dhclient‘ 的DHCP客户端工具。因为操作系统各不相同,所以这个客户端软件也是互不一样的。

# dhclient eth0

Request IP Address from DHCP

当前 'inet addr:' 字段中显示了属于 172.27.60.0 网络地址范围内的 IPv4 地址。值得欣慰的是当前网络还配置了正确的子网掩码并且分发了广播地址。

到这里看起来还都不错,让我们来测试一下,看看这台设备收到新 IP 地址是不是由服务器发出的。这里我们参照服务器的日志文件来完成这个任务。虽然这个日志的内容有几十万条,但是里面只有几条是用来确定服务器是否正常工作的。这里我们使用一个工具 ‘tail’,它只显示日志文件的最后几行,这样我们就可以不用拿一个文本编辑器去查看所有的日志文件了。命令如下:

# tail /var/log/syslog

Check DHCP Logs

OK!服务器记录表明它分发了一个地址给这台主机 (HRTDEBXENSRV)。服务器按预期运行,给它充当权威服务器的网络分发了适合的网络地址。至此 DHCP 服务器搭建成功并且运行。如果有需要你可以继续配置其他的网络,排查故障,确保安全。

在以后的Debian教程中我会讲一些新的 ISC-DHCP-Server 功能。有时间的话我将写一篇关于 Bind9 和 DDNS 的教程,融入到这篇文章里面。


via: http://www.tecmint.com/install-and-configure-multihomed-isc-dhcp-server-on-debian-linux/

作者:Rob Turner 译者:ivo-wang 校对:wxy

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

时间日期格式

尽管设置页面里已经有一些选项可以用了,这个快速教程会向你展示如何更加深入地自定义 Ubuntu 面板上的时间和日期指示器。

自定义世间日期

在开始之前,在 Ubuntu 软件中心搜索并安装 dconf Editor。然后启动该软件并按以下步骤执行:

1、 当 dconf Editor 启动后,导航至 com -> canonical -> indicator -> datetime。将 time-format 的值设置为 custom

自定义时间格式

你也可以通过终端里的命令完成以上操作:

gsettings set com.canonical.indicator.datetime time-format 'custom'

2、 现在你可以通过编辑 custom-time-format 的值来自定义时间和日期的格式。

自定义-时间格式

你也可以通过命令完成:(LCTT 译注:将 FORMATVALUEHERE 替换为所需要的格式值)

gsettings set com.canonical.indicator.datetime custom-time-format 'FORMAT_VALUE_HERE'

以下是参数含义:

  • %a = 星期名缩写
  • %A = 星期名完整拼写
  • %b = 月份名缩写
  • %B = 月份名完整拼写
  • %d = 每月的日期
  • %l = 小时 ( 1..12), %I = 小时 (01..12)
  • %k = 小时 ( 1..23), %H = 小时 (01..23)
  • %M = 分钟 (00..59)
  • %p = 午别,AM 或 PM, %P = am 或 pm.
  • %S = 秒 (00..59)

可以打开终端键入命令 man date 并执行以了解更多细节。

一些自定义时间日期显示格式值的例子:

%a %H:%M %m/%d/%Y

%a %r %b %d or %a %I:%M:%S %p %b %d

%a %-d %b %l:%M %P %z


via: http://ubuntuhandbook.org/index.php/2015/12/time-date-format-ubuntu-panel/

作者:Ji m 译者:alim0x 校对:wxy

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

在前几天的一则 CentOS 7 ARM 版正式发布:支持树莓派2/香蕉派/CubieTruck 的简短消息之后,Karanbir Singh 正式宣布了 CentOS AltArch 7 的发布。

发行公告,CentOS AltArch 7 基于最近发布的 CentOS 7 (1511) 滚动更新版,在该版本中包括了大量新功能,如 X.Org 服务器 1.17、以及在预装的应用中支持 TLS 1.1、TLS 1.2 和 EC 加密算法等。

此外,CentOS 7 (1511) 也完全支持了 virt-v2v 命令行工具,带有 KDE 4.14 和 GNOME 3.14 桌面环境、 LibreOffice 4.3.7 办公套件、支持 tcpdump 中的纳秒级时间戳,以及 OpenLDAP 2.4.40 等。

“CentOS AltArch 7 已经可以下载了,” Karanbir Singh 在发布公告中说,“预计支持 Aarch64 的 CentOS AltArch 7 (1511)过几天就发布,到时候会单独宣布”。

支持 PPC64、PPC8LE、ARMhfp、AArch64、64位和32位

CentOS AltArch 7 操作系统支持多种硬件架构,它们是: CentOS AltArch 7 (1511) for i686 (32-bit)、 CentOS AltArch UserLand 7 (1511) for Armhfp、CentOS AltArch 7 (1511) for PowerPC64、 CentOS AltArch 7 (1511) for PowerPC8 LE 和 CentOS AltArch 7 (1511) for AArch64。

注意,PowerPC8 LE 和 PowerPC64 (PPC64) 版本目前只有技术预览版,不要用在生产环境中。

你可以从下面地址下载到:

请随时关注进一步的消息。

在树莓派 2B 上如何安装 FreeBSD 10 或 FreeBSD 11(current)?怎么在 Linux,OS X,FreeBSD 或类 Unix 操作系统上烧录 SD 卡?

在树莓派 2B 上安装 FreeBSD 10 或 FreeBSD 11(current)很容易。使用 FreeBSD 操作系统可以打造一个非常易用的 Unix 服务器。FreeBSD-CURRENT 自2012年十一月以来一直支持树莓派,2015年三月份后也开始支持树莓派2了。在这个快速教程中我将介绍如何在树莓派 2B 上安装 FreeBSD 11 current arm 版。

1. 下载 FreeBSD-current 的 arm 镜像

你可以 访问这个页面来下载 树莓派2的镜像。使用 wget 或 curl 命令来下载镜像:

$ wget ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv6/ISO-IMAGES/11.0/FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img.xz

$ curl -O ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv6/ISO-IMAGES/11.0/FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img.xz

2. 解压 FreeBSD-current 镜像

执行以下命令中的任何一个:

$ unxz FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img.xz

$ xz --decompress FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img.xz

3. 设置 SD

你可以在 OS X,Linux,FreeBSD,MS-Windows 和类 Unix 系统来烧录 SD 卡。

在 Mac OS X 下烧录 FreeBSD-current

使用下面的 dd 命令:

$ diskutil list
$ diskutil unmountDisk /dev/diskN
$ sudo dd if=FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img of=/dev/disk2 bs=64k

示例输出:

1024+0 records in
1024+0 records out
1073741824 bytes transferred in 661.669584 secs (1622776 bytes/sec)

使用 Linux/FreeBSD 或者类 Unix 系统来烧录 FreeBSD-current

语法是这样:

$ dd if=FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20151016-r289420.img of=/dev/sdb bs=1M

确保使用实际的 SD 卡的设备名称来替换 /dev/sdb(LCTT 译注:千万注意不要写错了)。

4. 引导 FreeBSD

在树莓派 2B 上插入 SD 卡。你需要连接键盘,鼠标和显示器。我使用的是 USB 转串口线来连接显示器的:

Fig.01 RPi USB based serial connection

图01 基于树莓派 USB 的串行连接

在下面的例子中,我使用 screen 命令来连接我的 RPI:

## Linux 上 ##
screen /dev/tty.USB0 115200

## OS X 上 ##
screen /dev/cu.usbserial 115200

## Windows 请使用 Putty.exe ##

FreeBSD RPI 启动输出样例:

Gif 01: Booting FreeBSD-current on RPi 2

图02: 在树莓派 2上引导 FreeBSD-current

5. FreeBSD 在 RPi 2上的用户名和密码

默认的密码是 freebsd/freebsd 和 root/root。

到此为止, FreeBSD-current 已经安装并运行在树莓派 2上。


via: http://www.cyberciti.biz/faq/how-to-install-freebsd-on-raspberry-pi-2-model-b/

作者:Vivek Gite 译者:strugglingyouth 校对:wxy

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