mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-19 22:51:41 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
2264a446d9
@ -0,0 +1,111 @@
|
||||
如何设置 GNOME 显示自定义幻灯片
|
||||
======
|
||||
|
||||
> 使用一个简单的 XML,你就可以设置 GNOME 能够在桌面上显示一个幻灯片。
|
||||
|
||||
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_keyboard_laptop_development_blue.png?itok=IfckxN48)
|
||||
|
||||
在 GNOME 中,一个非常酷、但却鲜为人知的特性是它能够将幻灯片显示为墙纸。你可以从 [GNOME 控制中心][1]的 “背景设置” 面板中选择墙纸幻灯片。在预览的右下角显示一个小时钟标志,可以将幻灯片的墙纸与静态墙纸区别开来。
|
||||
|
||||
一些发行版带有预装的幻灯片壁纸。 例如,Ubuntu 包含了库存的 GNOME 定时壁纸幻灯片,以及 Ubuntu 壁纸大赛胜出的墙纸。
|
||||
|
||||
如果你想创建自己的自定义幻灯片用作壁纸怎么办?虽然 GNOME 没有为此提供一个用户界面,但是在你的主目录中使用一些简单的 XML 文件来创建一个是非常容易的。 幸运的是,GNOME 控制中心的背景选择支持一些常见的目录路径,这样就可以轻松创建幻灯片,而不必编辑你的发行版所提供的任何内容。
|
||||
|
||||
### 开始
|
||||
|
||||
使用你最喜欢的文本编辑器在 `$HOME/.local/share/gnome-background-properties/` 创建一个 XML 文件。 虽然文件名不重要,但目录名称很重要(你可能需要创建该目录)。 举个例子,我创建了带有以下内容的 `/home/ken/.local/share/gnome-background-properties/osdc-wallpapers.xml`:
|
||||
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
|
||||
<wallpapers>
|
||||
<wallpaper deleted="false">
|
||||
<name>Opensource.com Wallpapers</name>
|
||||
<filename>/home/ken/Pictures/Wallpapers/osdc/osdc.xml</filename>
|
||||
<options>zoom</options>
|
||||
</wallpaper>
|
||||
</wallpapers>
|
||||
```
|
||||
|
||||
每一个你需要包含在 GNOME 控制中心的 “背景面板”中的每个幻灯片或静态壁纸,你都要在上面的 XML 文件需要为其增加一个 `<wallpaper>` 节点。
|
||||
|
||||
在这个例子中,我的 `osdc.xml` 文件看起来是这样的:
|
||||
|
||||
|
||||
```
|
||||
<?xml version="1.0" ?>
|
||||
<background>
|
||||
<static>
|
||||
<!-- Duration in seconds to display the background -->
|
||||
<duration>30.0</duration>
|
||||
<file>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</file>
|
||||
</static>
|
||||
<transition>
|
||||
<!-- Duration of the transition in seconds, default is 2 seconds -->
|
||||
<duration>0.5</duration>
|
||||
<from>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</from>
|
||||
<to>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</to>
|
||||
</transition>
|
||||
<static>
|
||||
<duration>30.0</duration>
|
||||
<file>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</file>
|
||||
</static>
|
||||
<transition>
|
||||
<duration>0.5</duration>
|
||||
<from>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</from>
|
||||
<to>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</to>
|
||||
</transition>
|
||||
</background>
|
||||
```
|
||||
|
||||
上面的 XML 中有几个重要的部分。 XML 中的 `<background>` 节点是你的外部节点。 每个背景都支持多个 `<static>` 和 `<transition>` 节点。
|
||||
|
||||
`<static>` 节点定义用 `<file>` 节点要显示的图像以及用 `<duration>` 显示它的持续时间。
|
||||
|
||||
`<transition>` 节点定义 `<duration>`(变换时长),`<from>` 和 `<to>` 定义了起止的图像。
|
||||
|
||||
### 全天更换壁纸
|
||||
|
||||
另一个很酷的 GNOME 功能是基于时间的幻灯片。 你可以定义幻灯片的开始时间,GNOME 将根据它计算时间。 这对于根据一天中的时间设置不同的壁纸很有用。 例如,你可以将开始时间设置为 06:00,并在 12:00 之前显示一张墙纸,然后在下午和 18:00 再次更改。
|
||||
|
||||
这是通过在 XML 中定义 `<starttime>` 来完成的,如下所示:
|
||||
|
||||
```
|
||||
<starttime>
|
||||
<!-- A start time in the past is fine -->
|
||||
<year>2017</year>
|
||||
<month>11</month>
|
||||
<day>21</day>
|
||||
<hour>6</hour>
|
||||
<minute>00</minute>
|
||||
<second>00</second>
|
||||
</starttime>
|
||||
```
|
||||
|
||||
上述 XML 文件定义于 2017 年 11 月 21 日 06:00 开始动画,时长为 21,600.00,相当于六个小时。 这段时间将显示你的早晨壁纸直到 12:00,12:00 时它会更改为你的下一张壁纸。 你可以继续以这种方式每隔一段时间更换一次壁纸,但确保所有持续时间的总计为 86,400 秒(等于 24 小时)。
|
||||
|
||||
GNOME 将计算开始时间和当前时间之间的增量,并显示当前时间的正确墙纸。 例如,如果你在 16:00 选择新壁纸,则GNOME 将在 06:00 开始时间之后显示 36,000 秒的适当壁纸。
|
||||
|
||||
有关完整示例,请参阅大多数发行版中由 gnome-backgrounds 包提供的 adwaita-timed 幻灯片。 它通常位于 `/usr/share/backgrounds/gnome/adwaita-timed.xml` 中。
|
||||
|
||||
|
||||
### 了解更多信息
|
||||
|
||||
希望这可以鼓励你深入了解创建自己的幻灯片壁纸。 如果你想下载本文中引用的文件的完整版本,那么你可以在 [GitHub][2] 上找到它们。
|
||||
|
||||
如果你对用于生成 XML 文件的实用程序脚本感兴趣,你可以在互联网上搜索 `gnome-backearth-generator`。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/17/12/create-your-own-wallpaper-slideshow-gnome
|
||||
|
||||
作者:[Ken Vandine][a]
|
||||
译者:[Auk7F7](https://github.com/Auk7F7)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://opensource.com/users/kenvandine
|
||||
[1]:http://manpages.ubuntu.com/manpages/xenial/man1/gnome-control-center.1.html
|
||||
[2]:https://github.com/kenvandine/misc/tree/master/articles/osdc/gnome/slide-show-backgrounds/osdc
|
||||
|
@ -0,0 +1,92 @@
|
||||
使用 Let's Encrypt 保护你的网站
|
||||
======
|
||||
|
||||
> 未加密的 HTTP 会话暴露于滥用之中,用 Let's Encrypt 把它们保护起来。
|
||||
|
||||
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/lock-1920.jpg?itok=7sjbOYkU)
|
||||
|
||||
曾几何时,通过证书授权机构搭建基本的 HTTPS 网站需要每年花费数百美元,而且搭建的过程复杂且容易出错。现在我们免费使用 [Let's Encrypt][1],而且搭建过程也只需要几分钟。
|
||||
|
||||
### 为何进行加密?
|
||||
|
||||
为什么要加密网站呢?这是因为未经加密的 HTTP 会话可以被多种方式滥用:
|
||||
|
||||
+ 窃听用户数据包
|
||||
+ 捕捉用户登录
|
||||
+ 注入[广告][12]和[“重要”消息][13]
|
||||
+ 注入[木马][14]
|
||||
+ 注入 [SEO 垃圾邮件和链接][15]
|
||||
+ 注入[挖矿脚本][16]
|
||||
|
||||
网络服务提供商就是最大的代码注入者。那么如何挫败它们的非法行径呢?你最好的防御手段就是 HTTPS。让我们回顾一下 HTTPS 的工作原理。
|
||||
|
||||
### 信任链
|
||||
|
||||
你可以在你的网站和每个授权访问用户之间建立非对称加密。这是一种非常强的保护:GPG(GNU Privacy Guard, 参考[如何在 Linux 中加密邮件][2])和 OpenSSH 就是非对称加密的通用工具。它们依赖于公钥-私钥对,其中公钥可以任意分享,但私钥必须受到保护且不能分享。公钥用于加密,私钥用于解密。
|
||||
|
||||
但上述方法无法适用于随机的网页浏览,因为建立会话之前需要交换公钥,你需要生成并管理密钥对。HTTPS 会话可以自动完成公钥分发,而且购物或银行之类的敏感网站还会使用第三方证书颁发机构(CA)验证证书,例如 Comodo、 Verisign 和 Thawte。
|
||||
|
||||
当你访问一个 HTTPS 网站时,网站给你的网页浏览器返回了一个数字证书。这个证书说明你的会话被强加密,而且提供了该网站信息,包括组织名称、颁发证书的组织和证书颁发机构名称等。你可以点击网页浏览器地址栏的小锁头来查看这些信息(图 1),也包括了证书本身。
|
||||
|
||||
![][4]
|
||||
|
||||
*图1: 点击网页浏览器地址栏上的锁头标记查看信息*
|
||||
|
||||
包括 Opera、 Chromium 和 Chrome 在内的主流浏览器,验证网站数字证书的合法性都依赖于证书颁发机构。小锁头标记可以让你一眼看出证书状态;绿色意味着使用强 SSL 加密且运营实体经过验证。网页浏览器还会对恶意网站、SSL 证书配置有误的网站和不被信任的自签名证书网站给出警告。
|
||||
|
||||
那么网页浏览器如何判断网站是否可信呢?浏览器自带根证书库,包含了一系列根证书,存储在 `/usr/share/ca-certificates/mozilla/` 之类的地方。网站证书是否可信可以通过根证书库进行检查。就像你 Linux 系统上其它软件那样,根证书库也由包管理器维护。对于 Ubuntu,对应的包是 `ca-certificates`,这个 Linux 根证书库本身是[由 Mozilla 维护][6]的。
|
||||
|
||||
可见,整个工作流程需要复杂的基础设施才能完成。在你进行购物或金融等敏感在线操作时,你信任了无数陌生人对你的保护。
|
||||
|
||||
### 无处不加密
|
||||
|
||||
Let's Encrypt 是一家全球证书颁发机构,类似于其它商业根证书颁发机构。Let's Encrpt 由非营利性组织<ruby>因特网安全研究小组<rt>Internet Security Research Group</rt></ruby>(ISRG)创立,目标是简化网站的安全加密。在我看来,出于后面我会提到的原因,该证书不足以胜任购物及银行网站的安全加密,但很适合加密博客、新闻和信息门户这类不涉及金融操作的网站。
|
||||
|
||||
使用 Let's Encrypt 有三种方式。推荐使用<ruby>电子前沿基金会<rt>Electronic Frontier Foundation</rt></ruby>(EFF)开发的 [Cerbot 客户端][7]。使用该客户端需要在网站服务器上执行 shell 操作。
|
||||
|
||||
如果你使用的是共享托管主机,你很可能无法执行 shell 操作。这种情况下,最简单的方法是使用[支持 Let's Encrpt 的托管主机][8]。
|
||||
|
||||
如果你的托管主机不支持 Let's Encrypt,但支持自定义证书,那么你可以使用 Certbot [手动创建并上传你的证书][8]。这是一个复杂的过程,你需要彻底地研究文档。
|
||||
|
||||
安装证书后,使用 [SSL 服务器测试][9]来测试你的服务器。
|
||||
|
||||
Let's Encrypt 的电子证书有效期为 90 天。Certbot 安装过程中添加了一个证书自动续期的计划任务,也提供了测试证书自动续期是否成功的命令。允许使用已有的私钥或<ruby>证书签名请求<rt>certificate signing request</rt></ruby>(CSR),允许创建通配符证书。
|
||||
|
||||
### 限制
|
||||
|
||||
Let's Encrypt 有如下限制:它只执行域名验证,即只要有域名控制权就可以获得证书。这是比较基础的 SSL。它不支持<ruby>组织验证<rt>Organization Validation</rt></ruby>(OV)或<ruby>扩展验证<rt>Extended Validation</rt></ruby>(EV),因为运营实体验证无法自动完成。我不会信任使用 Let's Encrypt 证书的购物或银行网站,它们应该购买支持运营实体验证的完整版本。
|
||||
|
||||
作为非营利性组织提供的免费服务,不提供商业支持,只提供不错的文档和社区支持。
|
||||
|
||||
因特网中恶意无处不在,一切数据都应该加密。从使用 [Let's Encrypt][10] 保护你的网站用户开始吧。
|
||||
|
||||
想要学习更多 Linux 知识,请参考 Linux 基金会和 edX 提供的免费课程 [“Linux 入门”][11]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linux.com/learn/intro-to-linux/2018/3/protect-your-websites-lets-encrypt
|
||||
|
||||
作者:[CARLA SCHRODER][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[pinewall](https://github.com/pinewall)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.linux.com/users/cschroder
|
||||
[1]:https://letsencrypt.org
|
||||
[2]:https://www.linux.com/learn/how-encrypt-email-linux
|
||||
[3]:https://www.linux.com/files/images/fig-11png-0
|
||||
[4]:https://www.linux.com/sites/lcom/files/styles/rendered_file/public/fig-1_1_1.png?itok=_PPiSNx6 (页面信息)
|
||||
[5]:https://www.linux.com/licenses/category/used-permission
|
||||
[6]:https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/
|
||||
[7]:https://certbot.eff.org/
|
||||
[8]:https://community.letsencrypt.org/t/web-hosting-who-support-lets-encrypt/6920
|
||||
[9]:https://www.ssllabs.com/ssltest/
|
||||
[10]:https://letsencrypt.org/
|
||||
[11]:https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux
|
||||
[12]:https://www.thesslstore.com/blog/third-party-content-injection/
|
||||
[13]:https://blog.ryankearney.com/2013/01/comcast-caught-intercepting-and-altering-your-web-traffic/
|
||||
[14]:https://www.eff.org/deeplinks/2018/03/we-still-need-more-https-government-middleboxes-caught-injecting-spyware-ads-and
|
||||
[15]:https://techglimpse.com/wordpress-injected-with-spam-security/
|
||||
[16]:https://thehackernews.com/2018/03/cryptocurrency-spyware-malware.html
|
@ -1,15 +1,16 @@
|
||||
使用 fc 修改历史命令
|
||||
给初学者的 fc 示例教程
|
||||
======
|
||||
|
||||
![](https://www.ostechnix.com/wp-content/uploads/2018/04/fc-command-720x340.png)
|
||||
|
||||
fc (**F**ix **C**ommands 的缩写) 是个 shell 内置命令,用于在交互式 shell 里列出、编辑和执行最近输入的命令。你可以用你喜欢的编辑器编辑最近的命令并再次执行,而不用把它们整个重新输入一遍。除了可以避免重复输入又长又复杂的命令,它对修正拼写错误来说也很有用。因为是 shell 内置命令,大多 shell 都包含它,比如 Bash 、 Zsh 、 Ksh 等。在这篇短文中,我们来学一学在 Linux 中使用 fc 命令。
|
||||
`fc` (**F**ix **C**ommands 的缩写)是个 shell 内置命令,用于在交互式 shell 里列出、编辑和执行最近输入的命令。你可以用你喜欢的编辑器编辑最近的命令并再次执行,而不用把它们整个重新输入一遍。除了可以避免重复输入又长又复杂的命令,它对修正拼写错误来说也很有用。因为是 shell 内置命令,大多 shell 都包含它,比如 Bash 、 Zsh 、 Ksh 等。在这篇短文中,我们来学一学在 Linux 中使用 `fc` 命令。
|
||||
|
||||
### fc 命令教程及示例
|
||||
|
||||
**列出最近执行的命令**
|
||||
#### 列出最近执行的命令
|
||||
|
||||
执行不带其它参数的 `fc -l` 命令,它会列出最近 16 个命令。
|
||||
|
||||
执行不带参数的"fc -l"命令,它会列出最近 **16** 个命令。
|
||||
```
|
||||
$ fc -l
|
||||
507 fish
|
||||
@ -28,16 +29,16 @@ $ fc -l
|
||||
520 wc -l ostechnix.txt
|
||||
521 cat ostechnix.txt
|
||||
522 clear
|
||||
|
||||
```
|
||||
|
||||
**-r** 选项用于将输出反向排序。
|
||||
`-r` 选项用于将输出反向排序。
|
||||
|
||||
```
|
||||
$ fc -lr
|
||||
|
||||
```
|
||||
|
||||
**-n** 选项用于隐藏行号。
|
||||
`-n` 选项用于隐藏行号。
|
||||
|
||||
```
|
||||
$ fc -ln
|
||||
nano ~/.profile
|
||||
@ -56,12 +57,12 @@ $ fc -ln
|
||||
wc -l ostechnix.txt
|
||||
more ostechnix.txt
|
||||
clear
|
||||
|
||||
```
|
||||
|
||||
这样行号就不再显示了。
|
||||
|
||||
如果想以某个命令开始,只需在 **-l** 选项后面加上行号即可。比如,要显示行号 520 至最近的命令,可以这样:
|
||||
如果想以某个命令开始,只需在 `-l` 选项后面加上行号即可。比如,要显示行号 520 至最近的命令,可以这样:
|
||||
|
||||
```
|
||||
$ fc -l 520
|
||||
520 ls -l
|
||||
@ -76,10 +77,10 @@ $ fc -l 520
|
||||
529 clear
|
||||
530 fc -ln
|
||||
531 fc -l
|
||||
|
||||
```
|
||||
|
||||
要列出一段范围内的命令,将始末行号作为 "fc -l" 的参数即可,比如 520 至 525:
|
||||
要列出一段范围内的命令,将始、末行号作为 `fc -l` 的参数即可,比如 520 至 525:
|
||||
|
||||
```
|
||||
$ fc -l 520 525
|
||||
520 ls -l
|
||||
@ -88,10 +89,10 @@ $ fc -l 520 525
|
||||
523 uname -a
|
||||
524 echo "Welcome to OSTechNix"
|
||||
525 sudo apcman -Syu
|
||||
|
||||
```
|
||||
|
||||
除了使用行号,我们还可以使用字符。比如,要列出最近一个 "pwd" 至上一个命令之间的所以命令,只需要像下面这样使用起始字母即可:
|
||||
除了使用行号,我们还可以使用字符。比如,要列出最近一个 `pwd` 至最近一个命令之间的所有命令,只需要像下面这样使用起始字母即可:
|
||||
|
||||
```
|
||||
$ fc -l p
|
||||
521 pwd
|
||||
@ -110,90 +111,89 @@ $ fc -l p
|
||||
534 fc -l 520
|
||||
535 fc -l 522
|
||||
536 fc -l l
|
||||
|
||||
```
|
||||
|
||||
要列出所有 "pwd" 和 "more" 之间的命令,你可以都使用起始字母,像这样:
|
||||
要列出所有 `pwd` 和 `more` 之间的命令,你可以都使用起始字母,像这样:
|
||||
|
||||
```
|
||||
$ fc -l p m
|
||||
|
||||
```
|
||||
|
||||
或者,使用开始命令的首字母以及结束命令的行号:
|
||||
|
||||
```
|
||||
$ fc -l p 528
|
||||
|
||||
```
|
||||
|
||||
或者都使用行号:
|
||||
|
||||
```
|
||||
$ fc -l 521 528
|
||||
|
||||
```
|
||||
|
||||
这三个命令都显示一样的结果。
|
||||
|
||||
**编辑并执行上一个命令**
|
||||
#### 编辑并执行上一个命令
|
||||
|
||||
我们经常敲错命令,这时你可以用默认编辑器修正拼写错误并执行而不用将命令重新再敲一遍。
|
||||
|
||||
编辑并执行上一个命令:
|
||||
|
||||
```
|
||||
$ fc
|
||||
|
||||
```
|
||||
|
||||
这会在默认编辑器里载入上一个命令。
|
||||
|
||||
|
||||
![][2]
|
||||
|
||||
你可以看到,我上一个命令是 "fc -l"。你可以随意修改,它会在你保存退出编辑器时自动执行。这在命令或参数又长又复杂时很有用。需要注意的是,它同时也可能是**毁灭性**的。比如,如果你的上一个命令是危险的 `rm -fr <some-path>`,当它自动执行时你可能丢掉你的重要数据。所以,小心谨慎对待每一个命令。
|
||||
你可以看到,我上一个命令是 `fc -l`。你可以随意修改,它会在你保存退出编辑器时自动执行。这在命令或参数又长又复杂时很有用。需要注意的是,它同时也可能是**毁灭性**的。比如,如果你的上一个命令是危险的 `rm -fr <some-path>`,当它自动执行时你可能丢掉你的重要数据。所以,小心谨慎对待每一个命令。
|
||||
|
||||
**更改默认编辑器**
|
||||
#### 更改默认编辑器
|
||||
|
||||
另一个有用的选项是 `-e` ,它可以用来为 `fc` 命令选择不同的编辑器。比如,如果我们想用 `nano` 来编辑上一个命令:
|
||||
|
||||
另一个有用的选项是 **-e** ,它可以用来为 fc 命令选择不同的编辑器。比如,如果我们想用 "nano" 来编辑上一个命令:
|
||||
```
|
||||
$ fc -e nano
|
||||
|
||||
```
|
||||
|
||||
这个命令会打开 nano 编辑器(而不是默认编辑器)编辑上一个命令。
|
||||
这个命令会打开 `nano` 编辑器(而不是默认编辑器)编辑上一个命令。
|
||||
|
||||
![][3]
|
||||
|
||||
如果你觉得用 **-e** 选项太麻烦,你可以修改你的默认编辑器,只需要将环境变量 **FCEDIT** 设为你想要让 **fc** 使用的编辑器名称即可。
|
||||
如果你觉得用 `-e` 选项太麻烦,你可以修改你的默认编辑器,只需要将环境变量 `FCEDIT` 设为你想要让 `fc` 使用的编辑器名称即可。
|
||||
|
||||
比如,要把 `nano` 设为默认编辑器,编辑你的 `~/.profile` 或其他初始化文件: (LCTT 译注:如果 `~/.profile` 不存在可自己创建;如果使用的是 bash ,可以编辑 `~/.bash_profile` )
|
||||
|
||||
比如,要把 "nano" 设为默认编辑器,编辑你的 **~/.profile** 或其他初始化文件: ( LCTT 译注:如果 ~/.profile 不存在可自己创建;如果使用的是 bash ,可以编辑 ~/.bash_profile )
|
||||
```
|
||||
$ vi ~/.profile
|
||||
|
||||
```
|
||||
|
||||
添加下面一行:
|
||||
|
||||
```
|
||||
FCEDIT=nano
|
||||
# ( LCTT译注:如果在子 shell 中会用到 fc ,最好在这里 `export FCEDIT` )
|
||||
|
||||
# LCTT译注:如果在子 shell 中会用到 fc ,最好在这里 export FCEDIT
|
||||
```
|
||||
|
||||
你也可以使用编辑器的完整路径:
|
||||
|
||||
```
|
||||
FCEDIT=/usr/local/bin/emacs
|
||||
|
||||
```
|
||||
|
||||
输入 **:wq** 保存退出。要使改动立即生效,运行以下命令:
|
||||
输入 `:wq` 保存退出。要使改动立即生效,运行以下命令:
|
||||
|
||||
```
|
||||
$ source ~/.profile
|
||||
|
||||
```
|
||||
|
||||
现在再输入 "fc" 就可以使用 "nano" 编辑器来编辑上一个命令了。
|
||||
现在再输入 `fc` 就可以使用 `nano` 编辑器来编辑上一个命令了。
|
||||
|
||||
**不编辑而直接执行上一个命令**
|
||||
#### 不编辑而直接执行上一个命令
|
||||
|
||||
我们现在知道 `fc` 命令不带任何参数的话会将上一个命令载入编辑器。但有时你可能不想编辑,仅仅是想再次执行上一个命令。这很简单,在末尾加上连字符(`-`)就可以了:
|
||||
|
||||
我们现在知道 "fc" 命令不带任何参数的话会将上一个命令载入编辑器。但有时你可能不想编辑,仅仅是想再次执行上一个命令。这很简单,在末尾加上连字符(-)就可以了:
|
||||
```
|
||||
$ echo "Welcome to OSTechNix"
|
||||
Welcome to OSTechNix
|
||||
@ -201,16 +201,16 @@ Welcome to OSTechNix
|
||||
$ fc -e -
|
||||
echo "Welcome to OSTechNix"
|
||||
Welcome to OSTechNix
|
||||
|
||||
```
|
||||
|
||||
如你所见,"fc" 带了 **-e** 选项,但并没有编辑上一个命令(例中的 echo " Welcome to OSTechNix")。
|
||||
如你所见,`fc` 带了 `-e` 选项,但并没有编辑上一个命令(例中的 `echo " Welcome to OSTechNix"`)。
|
||||
|
||||
需要注意的是,有些选项仅对指定 shell 有效。比如下面这些选项可以用在 **zsh** 中,但在 Bash 或 Ksh 中则不能用。
|
||||
需要注意的是,有些选项仅对指定 shell 有效。比如下面这些选项可以用在 zsh 中,但在 Bash 或 Ksh 中则不能用。
|
||||
|
||||
**显示命令的执行时间**
|
||||
#### 显示命令的执行时间
|
||||
|
||||
想要知道命令是在什么时候执行的,可以用 `-d` 选项:
|
||||
|
||||
想要知道命令是在什么时候执行的,可以用 **-d** 选项:
|
||||
```
|
||||
fc -ld
|
||||
1 18:41 exit
|
||||
@ -228,12 +228,12 @@ fc -ld
|
||||
13 18:43 cat ostechnix.txt
|
||||
14 18:43 clear
|
||||
15 18:43 fc -l
|
||||
|
||||
```
|
||||
|
||||
这样你就可以查看最近命令的具体执行时间了。
|
||||
|
||||
使用选项 **-f** ,可以为每个命令显示完整的时间戳。
|
||||
使用选项 `-f` ,可以为每个命令显示完整的时间戳。
|
||||
|
||||
```
|
||||
fc -lf
|
||||
1 4/5/2018 18:41 exit
|
||||
@ -252,10 +252,10 @@ fc -ld
|
||||
14 4/5/2018 18:43 clear
|
||||
15 4/5/2018 18:43 fc -l
|
||||
16 4/5/2018 18:43 fc -ld
|
||||
|
||||
```
|
||||
|
||||
当然,欧洲的老乡们还可以使用 **-E** 选项来显示欧洲时间格式。
|
||||
当然,欧洲的老乡们还可以使用 `-E` 选项来显示欧洲时间格式。
|
||||
|
||||
```
|
||||
fc -lE
|
||||
2 5.4.2018 18:41 clear
|
||||
@ -274,22 +274,19 @@ fc -ld
|
||||
15 5.4.2018 18:43 fc -l
|
||||
16 5.4.2018 18:43 fc -ld
|
||||
17 5.4.2018 18:49 fc -lf
|
||||
|
||||
```
|
||||
|
||||
### fc 用法总结
|
||||
|
||||
* 当不带任何参数时,fc 将上一个命令载入默认编辑器。
|
||||
* 当带一个数字作为参数时,fc 将数字指定的命令载入默认编辑器。
|
||||
* 当带一个字符作为参数时,fc 将最近一个以指定字符开头的命令载入默认编辑器。
|
||||
* 当不带任何参数时,`fc` 将上一个命令载入默认编辑器。
|
||||
* 当带一个数字作为参数时,`fc` 将数字指定的命令载入默认编辑器。
|
||||
* 当带一个字符作为参数时,`fc` 将最近一个以指定字符开头的命令载入默认编辑器。
|
||||
* 当有两个参数时,它们分别指定需要列出的命令范围的开始和结束。
|
||||
|
||||
|
||||
|
||||
更多细节,请参考 man 手册。
|
||||
|
||||
```
|
||||
$ man fc
|
||||
|
||||
```
|
||||
|
||||
好了,今天就这些。希望这篇文章能帮助到你。更多精彩内容,敬请期待!
|
||||
@ -300,9 +297,9 @@ $ man fc
|
||||
via: https://www.ostechnix.com/the-fc-command-tutorial-with-examples-for-beginners/
|
||||
|
||||
作者:[SK][a]
|
||||
译者:[Dotcra](https://github.com/Dotcra)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[Dotcra](https://github.com/Dotcra)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,3 +1,6 @@
|
||||
Translating by MjSeven
|
||||
|
||||
|
||||
Could we run Python 2 and Python 3 code in the same VM with no code changes?
|
||||
======
|
||||
|
||||
|
@ -1,78 +0,0 @@
|
||||
translating by kennethXia
|
||||
Why I love ARM and PowerPC
|
||||
======
|
||||
|
||||
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/desk_clock_job_work.jpg?itok=Nj4fuhl6)
|
||||
Recently I've been asked why I mention [ARM][1] and [PowerPC][2] so often on my blogs and in my tweets. I have two answers: one is personal, the other technical.
|
||||
|
||||
### The personal
|
||||
|
||||
Once upon a time, I studied environmental protection. While working on my PhD, I was looking for a new computer. As an environmentally aware person, I wanted a high-performing computer that was also efficient. That is how I first became interested in the PowerPC and discovered [Pegasos][3], a PowerPC workstation created by [Genesi][4].
|
||||
|
||||
I had already used [RS/6000][5] (PowerPC), [SGI][6] (MIPS), [HP-UX][7] (PA-RISC), and [VMS][8] (Alpha) both as a server and a workstation, and on my PC I used Linux, not Windows, so using a different CPU architecture was not a barrier. [Pegasos][9], which was small and efficient enough for home use, was my first workstation.
|
||||
|
||||
Soon I was working for Genesi, enabling [openSUSE][10], Ubuntu, and various other Linux distributions on Pegasos and providing quality assurance and community support. Pegasos was followed by [EFIKA][11], another PowerPC board. It felt strange at first to use an embedded system after using workstations. But as one of the first affordable developer boards, it was the start of a revolution.
|
||||
|
||||
I was working on some large-scale server projects when I received another interesting piece of hardware from Genesi: a [Smarttop][12] and a [Smartbook][13] based on ARM. My then-favorite Linux distribution, openSUSE, also received a dozen of these machines. This gave a big boost to ARM-related openSUSE developments at a time when very few ARM machines were available.
|
||||
|
||||
Although I have less time available these days, I try to stay up-to-date on ARM and PowerPC news. This helps me support syslog-ng users on non-x86 platforms. And when I have half an hour free, I hack one of my ARM machines. I did some benchmarks on the [Raspberry Pi 2][14] with [syslog-ng][15], and the [results were quite surprising][16]. Recently, I built a music player using a Raspberry Pi, a USB sound card, and the [Music Player Daemon][17], and I use it regularly.
|
||||
|
||||
### The technical
|
||||
|
||||
Diversity is good: It creates competition, and competition creates better products. While x86 is a solid generic workhorse, chips like ARM and PowerPC (and many others) are better suited in various situations.
|
||||
|
||||
If you have an [Android][18] mobile device or an [Apple][19] iPhone or iPad, there's a good chance it is running on an ARM SoC (system on chip). Same with a network-attached storage server. The reason is quite simple: power efficiency. You don't want to constantly recharge batteries or pay more for electricity than you did for your router.
|
||||
|
||||
ARM is also conquering the enterprise server world with its 64-bit ARMv8 chips. Many tasks require minimal computing capacity; on the other hand, power efficiency and fast I/O are key— think storage, static web content, email, and other storage- and network-intensive functions. A prime example is [Ceph][20], a distributed object storage and file system. [SoftIron][21], which uses CentOS as reference software on its ARMv8 developer hardware, is working on Ceph-based turnkey storage appliances.
|
||||
|
||||
Most people know PowerPC as the former CPU of [Apple Mac][22] machines. While it is no longer used as a generic desktop CPU, it still functions in routers, telecommunications equipment. And [IBM][23] continued to produce chips for high-performance servers. A few years ago, with the introduction of POWER8, IBM opened up the architecture under the aegis of the [OpenPOWER Foundation][24]. POWER8 is an ideal platform for HPC, big data, and analytics, where memory bandwidth is key. POWER9 is right around the corner.
|
||||
|
||||
These are all server applications, but there are plans for end-user devices. Raptor Engineering is working on a [POWER9 workstation][25], and there is also an initiative to [create a notebook][26] based on a Freescale/NXP QorIQ e6500 chip. Of course, these machines are not for everybody—you can't install your favorite Windows game or commercial application on them. But they are great for PowerPC developers and enthusiasts, or anyone wanting a fully open system, from hardware to firmware to applications.
|
||||
|
||||
### The dream
|
||||
|
||||
My dream is a completely x86-free environment—not because I don't like x86, but because I like diversity and always use the most suitable tool for the job. If you look at the [graph][27] on Raptor Engineering's page, you will see that, depending on your use case, ARM and POWER can replace most of x86. Right now I compile, package, and test syslog-ng in x86 virtual machines running on my laptop. Using a strong enough ARMv8 or PowerPC machine, either as a workstation or a server, I could avoid x86 for this kind of tasks.
|
||||
|
||||
Right now I am waiting for the next generation of [Pinebook][28] to arrive, as I was told at [FOSDEM][29] in February that the next version is expected to offer much higher performance. Unlike Chromebooks, this ARM-powered laptop runs Linux by design, not as a hack. For a desktop, I am looking for ARMv8 workstation-class hardware. Some are already available—like the [ThunderX Desktop][30] from Avantek—but they do not yet feature the latest, fastest, and more importantly, most energy-efficient ARMv8 CPU generations. Until these arrive, I'll use my Pixel C laptop running Android. It's not as easy and flexible as Linux, but it has a powerful ARM SoC and a Linux kernel at its heart.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/18/4/why-i-love-arm-and-powerpc
|
||||
|
||||
作者:[Peter Czanik][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://opensource.com/users/czanik
|
||||
[1]:https://en.wikipedia.org/wiki/ARM_architecture
|
||||
[2]:https://en.wikipedia.org/wiki/PowerPC
|
||||
[3]:https://genesi.company/products/opendesktop
|
||||
[4]:https://genesi.company/
|
||||
[5]:https://en.wikipedia.org/wiki/RS/6000
|
||||
[6]:https://en.wikipedia.org/wiki/Silicon_Graphics#Workstations
|
||||
[7]:https://en.wikipedia.org/wiki/HP-UX
|
||||
[8]:https://en.wikipedia.org/wiki/OpenVMS#Port_to_DEC_Alpha
|
||||
[9]:https://en.wikipedia.org/wiki/Pegasos
|
||||
[10]:https://www.opensuse.org/
|
||||
[11]:https://genesi.company/products/efika/5200b
|
||||
[12]:https://genesi.company/products/efika
|
||||
[13]:https://genesi.company/products/smartbook
|
||||
[14]:https://www.raspberrypi.org/products/raspberry-pi-2-model-b/
|
||||
[15]:https://syslog-ng.com/open-source-log-management
|
||||
[16]:https://syslog-ng.com/blog/syslog-ng-raspberry-pi-2/
|
||||
[17]:https://www.musicpd.org/
|
||||
[18]:https://www.android.com/
|
||||
[19]:http://www.apple.com/
|
||||
[20]:http://ceph.com/
|
||||
[21]:http://softiron.co.uk/
|
||||
[22]:https://en.wikipedia.org/wiki/Power_Macintosh
|
||||
[23]:https://www.ibm.com/us-en/
|
||||
[24]:http://openpowerfoundation.org/
|
||||
[25]:https://www.raptorcs.com/TALOSII/
|
||||
[26]:http://www.powerpc-notebook.org/en/
|
||||
[27]:https://secure.raptorengineering.com/TALOS/power_advantages.php
|
||||
[28]:https://www.pine64.org/?page_id=3707
|
||||
[29]:https://fosdem.org/2018/
|
||||
[30]:https://www.avantek.co.uk/store/avantek-32-core-cavium-thunderx-arm-desktop.html
|
@ -1,3 +1,5 @@
|
||||
Translating by kennethXia
|
||||
|
||||
Bootiso Lets You Safely Create Bootable USB Drive
|
||||
======
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
[translating by Dotcra]
|
||||
|
||||
How To Browse Stack Overflow From Terminal
|
||||
======
|
||||
|
||||
|
@ -1,105 +0,0 @@
|
||||
|
||||
如何设置 GNOME 显示自定义幻灯片
|
||||
======
|
||||
在 GNOME 中, 一个非常酷, 但却鲜为人知的特性是它能够将幻灯片显示为墙纸。你可以从 [GNOME 控制中心][1]的 "背景设置" 面板中选择墙纸幻灯片。在预览的右下角显示一个小时钟标志, 可以将幻灯片的墙纸与静态墙纸区别开来。
|
||||
|
||||
一些发行版带有预装的幻灯片壁纸。 例如, Ubuntu 包含了库存的 GNOME 定时壁纸幻灯片, 以及 Ubuntu 壁纸大赛优胜者之一。
|
||||
|
||||
如果你想创建自己的自定义幻灯片用作壁纸怎么办? 虽然 GNOME 没有为此提供一个用户界面, 但是在你的主目录中使用一些简单的 XML 文件来创建一个是非常容易的。 幸运的是, GNOME 控制中心的背景选择支持一些常见的目录路径,这样就可以轻松创建幻灯片, 而不必编辑分发所提供的任何内容。
|
||||
|
||||
### 开始
|
||||
|
||||
使用你最喜欢的文本编辑器在 `$HOME/.local/share/gnome-background-properties/` 创建一个 XML 文件。 虽然文件名不重要, 但目录名称很重要(你可能需要创建目录)。 举个例子, 我创建了带有以下内容的 `/home/ken/.local/share/gnome-background-properties/osdc-wallpapers.xml `:
|
||||
|
||||
```
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
|
||||
<wallpapers>
|
||||
<wallpaper deleted="false">
|
||||
<name>Opensource.com Wallpapers</name>
|
||||
<filename>/home/ken/Pictures/Wallpapers/osdc/osdc.xml</filename>
|
||||
<options>zoom</options>
|
||||
</wallpaper>
|
||||
</wallpapers>
|
||||
```
|
||||
上面的 XML 文件需要为每个幻灯片或静态壁纸设计一 `<wallpaper>` 节点, 你需要将它们包含在 GNOME 控制中心的 `背景面板`中。
|
||||
|
||||
在这个例子中, 我的 `osdc.xml` 文件看起来是这样的:
|
||||
|
||||
|
||||
```
|
||||
<?xml version="1.0" ?>
|
||||
<background>
|
||||
<static>
|
||||
<!-- Duration in seconds to display the background -->
|
||||
<duration>30.0</duration>
|
||||
<file>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</file>
|
||||
</static>
|
||||
<transition>
|
||||
<!-- Duration of the transition in seconds, default is 2 seconds -->
|
||||
<duration>0.5</duration>
|
||||
<from>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</from>
|
||||
<to>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</to>
|
||||
</transition>
|
||||
<static>
|
||||
<duration>30.0</duration>
|
||||
<file>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</file>
|
||||
</static>
|
||||
<transition>
|
||||
<duration>0.5</duration>
|
||||
<from>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</from>
|
||||
<to>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</to>
|
||||
</transition>
|
||||
</background>
|
||||
```
|
||||
上面的XML中有几个重要的部分。 XML中的 `<background>` 节点是你的外部节点。 每个背景都支持多个 `<static>` 和 `<transition>` 节点。
|
||||
|
||||
`<static>` 节点定义要显示的图像以及分别用 `<duration>` 和 `<file>` 节点显示它的持续时间。
|
||||
|
||||
`<transition>` 节点为每个转换定义`<duration>` ,`<from>` 图像和 `<to>` 图像。
|
||||
|
||||
### 全天更换壁纸
|
||||
|
||||
另一个很酷的GNOME功能是基于时间的幻灯片。 你可以定义幻灯片的开始时间,GNOME将根据它计算时间。 这对于根据一天中的时间设置不同的壁纸很有用。 例如,你可以将开始时间设置为06:00,并在12:00之前显示一张墙纸,然后在下午和18:00再次更改。
|
||||
|
||||
这是通过在XML中定义 `<starttime>` 来完成的,如下所示:
|
||||
|
||||
```
|
||||
<starttime>
|
||||
<!-- A start time in the past is fine -->
|
||||
<year>2017</year>
|
||||
<month>11</month>
|
||||
<day>21</day>
|
||||
<hour>6</hour>
|
||||
<minute>00</minute>
|
||||
<second>00</second>
|
||||
</starttime>
|
||||
```
|
||||
|
||||
上述XML文件于2017年11月21日06:00开始动画,时长为21,600.00,相当于六个小时。 这段时间将显示你的早晨壁纸直到12:00,12:00时它会更改为你的下一张壁纸。 你可以继续以这种方式每隔一段时间更换一次壁纸,但确保所有持续时间的总计为86,400秒(等于24小时)。
|
||||
|
||||
GNOME将计算开始时间和当前时间之间的增量,并显示当前时间的正确墙纸。 例如,如果你在16:00选择新壁纸,则GNOME将在06:00开始时间之后显示36,000秒的适当壁纸。
|
||||
|
||||
有关完整示例,请参阅大多数发行版中由gnome-backgrounds包提供的adwaita-timed幻灯片。 它通常位于 `/usr/share/backgrounds/gnome/adwaita-timed.xml` 中。
|
||||
|
||||
|
||||
### 了解更多信息
|
||||
|
||||
希望这可以鼓励你深入了解创建自己的幻灯片壁纸。 如果你想下载本文中引用的文件的完整版本,那么你可以在 [GitHub][2] 上找到它们。
|
||||
|
||||
如果你对用于生成XML文件的实用程序脚本感兴趣,你可以在互联网上搜索gnome- backearth -generator。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/17/12/create-your-own-wallpaper-slideshow-gnome
|
||||
|
||||
作者:[Ken Vandine][a]
|
||||
译者:[Auk7F7](https://github.com/Auk7F7)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://opensource.com/users/kenvandine
|
||||
[1]:http://manpages.ubuntu.com/manpages/xenial/man1/gnome-control-center.1.html
|
||||
[2]:https://github.com/kenvandine/misc/tree/master/articles/osdc/gnome/slide-show-backgrounds/osdc
|
||||
|
@ -1,88 +0,0 @@
|
||||
使用 Let's Encrypt 保护你的网站
|
||||
======
|
||||
|
||||
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/lock-1920.jpg?itok=7sjbOYkU)
|
||||
曾几何时,通过证书授权机构搭建基本的HTTPS网站需要每年花费数百美元,而且搭建的过程复杂且容易出错。现在我们免费使用 [Let's Encrypt][1],而且搭建过程也只需要几分钟。
|
||||
|
||||
|
||||
### 为何进行加密?
|
||||
|
||||
为什么要加密网站呢?这是因为未经加密的 HTTP 会话可以被多种方式滥用:
|
||||
|
||||
+ 窃听用户数据包
|
||||
+ 捕捉用户登录
|
||||
+ 注入广告和“重要”消息
|
||||
+ 注入木马
|
||||
+ 注入 SEO 垃圾邮件和链接
|
||||
+ 注入挖矿脚本
|
||||
|
||||
网络服务提供商就是最大的代码注入者。那么如何挫败它们的非法行径呢?你最好的防御手段就是HTTPS。让我们回顾一下HTTPS的工作原理。
|
||||
|
||||
### 信任链
|
||||
|
||||
你可以在你的网站和每个授权访问用户之间建立非对称加密。这是一种非常强的保护:GPG(GNU Privacy Guard, 参考[如何在 Linux 中加密邮件][2])和 OpenSSH 是非对称加密的通用工具。它们依赖于公钥-私钥对,其中公钥可以任意共享,但私钥必须受到保护且不能共享。公钥用于加密,私钥用于解密。
|
||||
|
||||
但上述方法无法适用于随机的网页浏览,因为建立会话之前需要交换公钥,你需要生成并管理密钥对。HTTPS 会话可以自动完成公钥分发,而且购物或银行之类的敏感网站还会使用第三方证书颁发机构 (CA) 验证证书,例如 Comodo, Verisign 和 Thawte。
|
||||
|
||||
当你访问一个HTTPS网站时,网站给你的网页浏览器返回了一个数字证书。这个证书说明你的会话被强加密,而且提供了网站信息,包括组织名称,颁发证书的组织和证书颁发机构名称等。你可以点击网页浏览器地址栏的小锁头来查看这些信息(图1),也包括了证书本身。
|
||||
|
||||
|
||||
![页面信息][4]
|
||||
|
||||
图1: 点击网页浏览器地址栏上的锁头标记查看信息
|
||||
|
||||
[已获授权使用][5]
|
||||
|
||||
包括 Opera, Chromium 和 Chrome 在内的主流浏览器,验证网站数字证书的合法性都依赖于证书颁发机构。小锁头标记可以让你一眼看出证书状态;绿色意味着使用强 SSL 加密且运营实体经过验证。网页浏览器还会对恶意网站、SSL 证书配置有误的网站和不被信任的自签名证书网站给出警告。
|
||||
|
||||
那么网页浏览器如何判断网站是否可信呢?浏览器自带根证书库,包含了一系列根证书,存储在`/usr/share/ca-certificates/mozilla/`。网站证书是否可信可以通过根证书库进行检查。就像你 Linux 系统上其它软件那样,根证书库也由包管理器维护。对于 Ubuntu,对应的包是 `ca-certificates`。Linux 根证书库本身[由 Mozilla 维护][6]。
|
||||
|
||||
可见,整个工作流程需要复杂的基础设施才能完成。在你进行购物或金融等敏感在线操作时,你信任了无数陌生人对你的保护。
|
||||
|
||||
### 无处不加密
|
||||
|
||||
Let's Encrypt 是一家全球证书颁发机构,类似于其它商业根证书颁发机构。Let's Encrpt 由非营利性组织因特网安全研究小组 (Internet Security Research Group, ISRG) 创立,目标是简化网站的安全加密。在我看来,出于后面我会提到的原因,该证书不足以胜任购物及银行网站的安全加密,但很适合加密博客、新闻和信息门户这类不涉及金融操作的网站。
|
||||
|
||||
使用 Let's Encrypt 有三种方式。推荐使用电子前沿基金会 (Electronic Frontier Foundation, EFF) 开发的 [Cerbot 客户端][7]。使用该客户端需要在网站服务器上执行 shell 操作。
|
||||
|
||||
如果你使用的是共享托管主机,你很可能无法执行 shell 操作。这种情况下,最简单的方法是使用[支持 Let's Encrpt 的托管主机][8]。
|
||||
|
||||
如果你的托管主机不支持 Let's Encrypt,但支持自定义证书,那么你可以使用 Certbot [手动创建并上传你的证书][8]。这是一个复杂的过程,你需要彻底地研究文档。
|
||||
|
||||
安装证书后,测试使用[ SSL 服务器测试][9]。
|
||||
|
||||
Let's Encrypt 的电子证书有效期为90天。Certbot 安装过程中添加了一个证书自动续期的计划任务,也提供了测试证书自动续期是否成功的命令。允许使用已有的私钥或证书签名请求 (certificate signing request, CSR),允许创建通配符证书。
|
||||
|
||||
### 限制
|
||||
|
||||
Let's Encrypt 有如下限制:它只执行域名验证,即只要有域名控制权就可以获得证书。这是比较基础的 SSL。它不支持组织验证(Organization Validation, OV) 或扩展验证(Extended Validation, EV),因为运营实体验证无法自动完成。我不会信任使用 Let's Encrypt 证书的购物或银行网站,它们应该购买支持运营实体验证的完整版本。
|
||||
|
||||
作为非营利性组织提供的免费服务,不提供商业支持,只提供不错的文档和社区支持。
|
||||
|
||||
因特网中恶意无处不在,一切数据都应该加密。从使用 [Let's Encrypt][10] 保护你的网站用户开始吧。
|
||||
|
||||
想要学习更多 Linux 知识,请参考 Linux 基金会和 edX 提供的免费课程 ["Linux 入门"][11]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linux.com/learn/intro-to-linux/2018/3/protect-your-websites-lets-encrypt
|
||||
|
||||
作者:[CARLA SCHRODER][a]
|
||||
译者:[pinewall](https://github.com/pinewall)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.linux.com/users/cschroder
|
||||
[1]:https://letsencrypt.org
|
||||
[2]:https://www.linux.com/learn/how-encrypt-email-linux
|
||||
[3]:https://www.linux.com/files/images/fig-11png-0
|
||||
[4]:https://www.linux.com/sites/lcom/files/styles/rendered_file/public/fig-1_1_1.png?itok=_PPiSNx6 (页面信息)
|
||||
[5]:https://www.linux.com/licenses/category/used-permission
|
||||
[6]:https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/
|
||||
[7]:https://certbot.eff.org/
|
||||
[8]:https://community.letsencrypt.org/t/web-hosting-who-support-lets-encrypt/6920
|
||||
[9]:https://www.ssllabs.com/ssltest/
|
||||
[10]:https://letsencrypt.org/
|
||||
[11]:https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux
|
77
translated/tech/20180403 Why I love ARM and PowerPC.md
Normal file
77
translated/tech/20180403 Why I love ARM and PowerPC.md
Normal file
@ -0,0 +1,77 @@
|
||||
为啥我喜欢 ARM 和 PowerPC
|
||||
======
|
||||
|
||||
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/desk_clock_job_work.jpg?itok=Nj4fuhl6)
|
||||
最近我被问起为啥在博客和推特里经常提到 [ARM][1] 和 [PowerPC][2]。我有两个答案:一个是个人原因,另一个是技术上的。
|
||||
|
||||
### 个人原因
|
||||
|
||||
从前,我是学环境保护的。在我读博的时候,我准备买个新电脑。作为一个环保人士,我需要一台强劲且环保的电脑。这就是我开始对 PowerPC 感兴趣的原因,我找到了 [Pegasos][3], 一台 [Genesi][4] 公司制造的 PowerPC 工作站。
|
||||
|
||||
我还用过 [RS/6000][5] (PowerPC), [SGI][6] (MIPS), [HP-UX][7] (PA-RISC),和[VMS][8] (Alpha)的服务器和工作站,由于我的 PC 使用 Linux 而非 Windows,所以使用不同的 CPU 架构对我来说并没有什么区别。 [Pegasos][9] 是我第一台工作站,它很小而且对家用来说性能足够。
|
||||
|
||||
很快我就开始为 Genesi 工作,为 Pegasos 移植 [openSUSE][10], Ubuntu 和其他 Linux 发行版,并提供质量保证和社区支持。继 Pegasos 之后是 [EFIKA][11],另一款基于 PowerPC 的开发板。在用过工作站之后,刚开始使用嵌入式系统会感觉有点奇怪。但是作为第一代普及价位的开发板,这是一场革命的开端。
|
||||
|
||||
在我收到 Genesi 的另一块有趣的开发板的时候,我开始了一个大规模的服务器项目:基于 ARM 的 [Smarttop][12] 和 [Smartbook][13]。我最喜欢的 Linux 发行版————openSUSE,也收到了一打这种机器。这在当时 ARM 电脑非常稀缺的情况下,极大地促进了 ARM 版 openSUSE 项目的开发。
|
||||
|
||||
尽管最近我很忙,我尽量保持对 ARM 和 PowerPC 新闻的关注。这有助于我支持非 x86 平台上的 SysLog-NG 用户。只要有半个小时的空,我就会去捣鼓一下 ARM 机器。我在[树莓派2][14]上做了很多 [syslog-ng][15] 的测试,结果令人振奋。我最近在树莓派上做了个音乐播放器,用了一块 USB 声卡和[音乐播放守护进程][17],我经常使用它。
|
||||
|
||||
### 技术方面
|
||||
|
||||
美好的多样性:它创造了竞争,而竞争创造了更好的产品。虽然 x86 是一款强劲的通用处理器,但 ARM 和 PowerPC (以及许多其他)这样的芯片在多种特定场景下显得更适合。
|
||||
|
||||
如果你有一部运行[安卓][18]的移动设备或者[苹果][19]的 iPhone 或 iPad,极有可能它使用的就是 基于ARM 的 SoC (片上系统)。网络存储服务器也一样。原因很简单:省电。你不会希望手机一直在充电,也不想为你的路由器付更多的电费。
|
||||
|
||||
ARM 亦在使用 64-bit ARMv8 芯片征战服务器市场。很多任务只需要极少的计算能力,另一方面省电和快速IO才是关键,比如思维存储(译者注:原文为 think storage),静态网页服务器,电子邮件和其他网络/存储相关的功能。一个最好的例子就是 [Ceph][20],一个分布式的面向对象文件系统。[SoftIron][21] 就是一个基于 ARMv8 开发版,使用 CentOS 作为基准软件,运行在 Ceph 上的完整存储应用。
|
||||
|
||||
众所周知 PowerPC 是旧版苹果 [Mac][22] 电脑上的 CPU。虽然它不再作为通用桌面电脑的 CPU ,它依然在路由器和电信设备里发挥作用。而且 [IBM][23] 仍在为高端服务器制造芯片。几年前,随着 Power8 的引入, IBM 在 [OpenPower 基金会][24] 的支持下开放了架构。 Power8 对于关心内存带宽的设备,比如 HPC , 大数据,数据挖掘来说,是非常理想的平台。目前,Power9 也正呼之欲出。
|
||||
|
||||
这些都是服务器应用,但也有计划用于终端用户。猛禽工程团队正在开发一款基于 [Power9 的工作站][25],也有一个基于飞思卡尔/恩智浦 QORIQ E6500 芯片[制造笔记本] [26]的倡议。当然,这些电脑并不适合所有人,你不能在它们上面安装 Windows 游戏或者商业应用。但它们对于 PowerPC 开发人员和爱好者,或者任何想要完全开放系统的人来说是理想的选择,因为从硬件到固件到应用程序都是开放的。
|
||||
|
||||
### 梦想
|
||||
|
||||
我的梦想是完全没有 x86 的环境,不是因为我讨厌 x86 ,而是因为我喜欢多样化而且总是希望使用最适合工作的工具。如果你看看猛禽工程网页上的[图][27],根据不同的使用情景, ARM 和 POWER 完全可以代替 x86 。现在,我在笔记本的 x86 虚拟机上编译、打包和测试 syslog-ng。如果能用上足够强劲的 ARMv8 或者 PowerPC 电脑,无论工作站还是服务器,我就能避免在 x86 上做这些事。
|
||||
|
||||
现在我正在等待下一代[菠萝本][28]的到来,就像我在二月份 [FOSDEM][29] 上说的,下一代有望提供更高的性能。和 Chrome 本不同的是,这个 ARM 笔记本设计用于运行 Linux 而非仅是个客户端(译者注:Chrome 笔记本只提供基于网页的应用)。作为桌面系统,我在寻找 ARMv8 工作站级别的硬件。有些已经接近完成——就像 Avantek 公司的 [雷神X 台式机][30]——不过他们还没有装备最新最快最重要也最节能的 ARMv8 CPU。当这些都实现了,我将用我的 Pixel C 笔记本运行安卓。它不像 Linux 那样简单灵活,但它以强大的 ARM SoC 和 Linux 内核为基础。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/18/4/why-i-love-arm-and-powerpc
|
||||
|
||||
作者:[Peter Czanik][a]
|
||||
译者:[kennethXia](https://github.com/kennethXia)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://opensource.com/users/czanik
|
||||
[1]:https://en.wikipedia.org/wiki/ARM_architecture
|
||||
[2]:https://en.wikipedia.org/wiki/PowerPC
|
||||
[3]:https://genesi.company/products/opendesktop
|
||||
[4]:https://genesi.company/
|
||||
[5]:https://en.wikipedia.org/wiki/RS/6000
|
||||
[6]:https://en.wikipedia.org/wiki/Silicon_Graphics#Workstations
|
||||
[7]:https://en.wikipedia.org/wiki/HP-UX
|
||||
[8]:https://en.wikipedia.org/wiki/OpenVMS#Port_to_DEC_Alpha
|
||||
[9]:https://en.wikipedia.org/wiki/Pegasos
|
||||
[10]:https://www.opensuse.org/
|
||||
[11]:https://genesi.company/products/efika/5200b
|
||||
[12]:https://genesi.company/products/efika
|
||||
[13]:https://genesi.company/products/smartbook
|
||||
[14]:https://www.raspberrypi.org/products/raspberry-pi-2-model-b/
|
||||
[15]:https://syslog-ng.com/open-source-log-management
|
||||
[16]:https://syslog-ng.com/blog/syslog-ng-raspberry-pi-2/
|
||||
[17]:https://www.musicpd.org/
|
||||
[18]:https://www.android.com/
|
||||
[19]:http://www.apple.com/
|
||||
[20]:http://ceph.com/
|
||||
[21]:http://softiron.co.uk/
|
||||
[22]:https://en.wikipedia.org/wiki/Power_Macintosh
|
||||
[23]:https://www.ibm.com/us-en/
|
||||
[24]:http://openpowerfoundation.org/
|
||||
[25]:https://www.raptorcs.com/TALOSII/
|
||||
[26]:http://www.powerpc-notebook.org/en/
|
||||
[27]:https://secure.raptorengineering.com/TALOS/power_advantages.php
|
||||
[28]:https://www.pine64.org/?page_id=3707
|
||||
[29]:https://fosdem.org/2018/
|
||||
[30]:https://www.avantek.co.uk/store/avantek-32-core-cavium-thunderx-arm-desktop.html
|
Loading…
Reference in New Issue
Block a user