Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
3 个开源日志聚合工具

日志聚合系统可以帮助我们进行故障排除和其它任务。以下是三个主要工具介绍。Media

via https://linux.cn/article-10053-1.html
Steam 让我们在 Linux 上玩 Windows 的游戏更加容易

Valve 宣布要对 Steam Play 进行一次更新,此次更新会将一个名为 Proton 的 Wine 复刻版本添加到 Linux 客户端中。Media

via https://linux.cn/article-10054-1.html
每位 Ubuntu 18.04 用户都应该知道的快捷键

了解快捷键能够提升您的生产力。这里有一些实用的 Ubuntu 快捷键助您像专业人士一样使用 Ubuntu。Media

via https://linux.cn/article-10055-1.html
Linux DNS 查询剖析(第四部分)

在第四部分中,我将介绍容器如何完成 DNS 查询。你想的没错,也不是那么简单。Media

via https://linux.cn/article-10056-1.html
你没听说过的 Go 语言惊人优点

在这篇文章中,我将讨论为什么你需要尝试一下 Go 语言,以及应该从哪里学起。Media

via https://linux.cn/article-10057-1.html
如何在 Ubuntu 16.04 强制 APT 包管理器使用 IPv4

在搜索了一番谷歌后,我意识到 Ubuntu 镜像站点有时无法通过 IPv6 访问。Media

via https://linux.cn/article-10058-1.html
如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏

Steam 的新实验功能允许你在 Linux 上玩仅限 Windows 的游戏。以下是如何在 Steam 中使用此功能。Media

via https://linux.cn/article-10061-1.html
“用户组”在 Linux 上到底是怎么工作的?

我意识到之前我并没有真正理解用户和组是怎么工作的,我信心满满的尝试了下面的内容并且验证到底发生了什么,事实证明现在我的理解才是对的。Media

via https://linux.cn/article-10062-1.html
怎样解决 Ubuntu 中的 “sub process usr bin dpkg returned an error code 1” 错误

如果你在 Ubuntu Linux 上安装软件时遇到 “sub process usr bin dpkg returned an error code 1”,请按照以下步骤进行修复。Media

via https://linux.cn/article-10063-1.html
如何在 Ubuntu 上安装 Cinnamon 桌面环境

这篇教程将会为你展示如何在 Ubuntu 上安装 Cinnamon 桌面环境。Media

via https://linux.cn/article-10065-1.html
在 Linux 上操作目录

让我们继续学习一下 Linux 文件系统的树形结构,并展示一下如何在其中创建你的目录。Media

via https://linux.cn/article-10066-1.html
如何让 Ping 的输出更简单易读

如果你一直在寻找可视化显示 ping 命令输出的工具,那么 Prettyping 肯定会有所帮助。Media

via https://linux.cn/article-10067-1.html
书评:《算法之美( Algorithms to Live By )》

Media又一次为了工作图书俱乐部而读书。除了其它我亲自推荐的书,这是我至今最喜爱的书。作为计算机科学基础之一的研究领域是算法:我们如何高效地用计算机程序解决问题?这基本上属于数学领域,但是这很少关于理想的或理论上的解决方案,而是更在于最高效地利用有限的资源获得一个充分(如果不能完美)的答案。其中许多问题要么是日常的生活问题,要么与人们密切相关。毕竟,计算机科学的目的是为了用计算机解决实际问题。《算法之美Algorithms to Live By》提出的问题是:“我们可以反过来吗”——我们可以通过学习计算机科学解决问题的方式来帮助我们做出日常决定吗?本书的十一个章节有很多有趣的内容,但也有一个有趣的主题:人类早已擅长这一点。很多章节以一个算法研究和对问题的数学分析作为开始,接着深入到探讨如何利用这些结果做出更好的决策,然后讨论关于人类真正会做出的决定的研究,之后,考虑到典型生活情境的限制,会发现人类早就在应用我们提出的最佳算法的特殊版本了。这往往会破坏本书的既定目标,值得庆幸的是,它决不会破坏对一般问题的有趣讨论,即计算机科学如何解决它们,以及我们对这些问题的数学和技术形态的了解。我认为这本书的自助效用比作者打算的少一些,但有很多可供思考的东西。(也就是说,值得考虑这种一致性是否太少了,因为人类已经擅长这方面了,更因为我们的算法是根据人类直觉设计的。可能我们的最佳算法只是反映了人类的思想。在某些情况下,我们发现我们的方案和数学上的典范不一样,但是在另一些情况下,它们仍然是我们当下最好的猜想。)这是那种章节列表是书评里重要部分的书。这里讨论的算法领域有最优停止、探索和利用决策(什么时候带着你发现的最好东西走,以及什么时候寻觅更好的东西),以及排序、缓存、调度、贝叶斯定理(一般还有预测)、创建模型时的过拟合、放松(解决容易的问题而不是你的实际问题)、随机算法、一系列网络算法,最后还有游戏理论。其中每一项都有有用的见解和发人深省的讨论——这些有时显得十分理论化的概念令人吃惊地很好地映射到了日常生活。这本书以一段关于“可计算的善意”的讨论结束:鼓励减少你自己和你交往的人所需的计算和复杂性惩罚。如果你有计算机科学背景(就像我一样),其中许多都是熟悉的概念,而且你因为被普及了很多新东西或许会有疑惑。然而,请给这本书一个机会,类比法没你担忧的那么令人紧张。作者既小心又聪明地应用了这些原则。这本书令人惊喜地通过了一个重要的合理性检查:涉及到我知道或反复思考过的主题的章节很少有或没有明显的错误,而且能讲出有用和重要的事情。比如,调度的那一章节毫不令人吃惊地和时间管理有关,通过直接跳到时间管理问题的核心而胜过了半数的时间管理类书籍:如果你要做一个清单上的所有事情,你做这些事情的顺序很少要紧,所以最难的调度问题是决定不做哪些事情而不是做这些事情的顺序。作者在贝叶斯定理这一章节中的观点完全赢得了我的心。本章的许多内容都是关于贝叶斯先验的,以及一个人对过去事件的了解为什么对分析未来的概率很重要。作者接着讨论了著名的棉花糖实验。即给了儿童一个棉花糖以后,儿童被研究者告知如果他们能够克制自己不吃这个棉花糖,等到研究者回来时,会给他们两个棉花糖。克制自己不吃棉花糖(在心理学文献中叫作“延迟满足”)被发现与未来几年更好的生活有关。这个实验多年来一直被引用和滥用于各种各样的宣传,关于选择未来的收益放弃即时的快乐从而拥有成功的生活,以及生活中的失败是因为无法延迟满足。更多的邪恶分析(当然)将这种能力与种族联系在一起,带有可想而知的种族主义结论。我对棉花糖实验有点兴趣。这是一个百分百让我愤怒咆哮的话题。《算法之美》是我读过的唯一提到了棉花糖实验并应用了我认为更有说服力的分析的书。这不是一个关于儿童天赋的实验,这是一个关于他们的贝叶斯先验的实验。什么时候立即吃棉花糖而不是等待奖励是完全合理的?当他们过去的经历告诉他们成年人不可靠,不可信任,会在不可预测的时间内消失并且撒谎的时候。而且,更好的是,作者用我之前没有听说过的后续研究和观察支持了这一分析,观察到的内容是,一些孩子会等待一段时间然后“放弃”。如果他们下意识地使用具有较差先验的贝叶斯模型,这就完全合情合理。这是一本很好的书。它可能在某些地方的尝试有点太勉强(数学上最优停止对于日常生活的适用性比我认为作者想要表现的更加偶然和牵强附会),如果你学过算法,其中一些内容会感到熟悉,但是它的行文思路清晰,简洁,而且编辑得非常好。这本书没有哪一部分对不起它所受到的欢迎,书中的讨论贯穿始终。如果你发现自己“已经知道了这一切”,你可能还会在接下来几页中遇到一个新的概念或一个简洁的解释。有时作者会做一些我从没想到但是回想起来正确的联系,比如将网络协议中的指数退避和司法系统中的选择惩罚联系起来。还有意识到我们的现代通信世界并不是一直联系的,它是不断缓冲的,我们中的许多人正深受缓冲膨胀这一独特现象的苦恼。我认为你并不必须是计算机科学专业或者精通数学才能读这本书。如果你想深入,每章的结尾都有许多数学上的细节,但是正文总是易读而清晰,至少就我所知是这样(作为一个以计算机科学为专业并学到了很多数学知识的人,你至少可以有保留地相信我)。即使你已经钻研了多年的算法,这本书仍然可以提供很多东西。这本书我读得越多越喜欢。如果你喜欢阅读这种对生活的分析,我当然是赞成的。Rating: 9 out of 10Reviewed: 2017-10-22via: https://www.eyrie.org/~eagle/reviews/books/1-62779-037-3.html作者:Brian Christian;Tom Griffiths 译者:GraveAccent 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-10068-1.html?utm_source=rss&utm_medium=rss
一些提高开源代码安全性的工具

开源软件的迅速普及带来了对健全安全实践的需求。Media

via https://linux.cn/article-10069-1.html
一些提高开源代码安全性的工具

开源软件的迅速普及带来了对健全安全实践的需求。Media虽然目前开源依然发展势头较好,并被广大的厂商所采用,然而最近由 Black Duck 和 Synopsys 发布的 2018 开源安全与风险评估报告指出了一些存在的风险,并重点阐述了对于健全安全措施的需求。这份报告的分析资料素材来自经过脱敏后的 1100 个商业代码库,这些代码所涉及:自动化、大数据、企业级软件、金融服务业、健康医疗、物联网、制造业等多个领域。这份报告强调开源软件正在被大量的使用,扫描结果中有 96% 的应用都使用了开源组件。然而,报告还指出许多其中存在很多漏洞。具体在 这里:令人担心的是扫描的所有结果中,有 78% 的代码库存在至少一个开源的漏洞,平均每个代码库有 64 个漏洞。在经过代码审计过后代码库中,发现超过 54% 的漏洞经验证是高危漏洞。17% 的代码库包括一种已经早已公开的漏洞,包括:Heartbleed、Logjam、Freak、Drown、Poddle。Synopsys 旗下 Black Duck 的技术负责人 Tim Mackey 称,“这份报告清楚的阐述了:随着开源软件正在被企业广泛的使用,企业与组织也应当使用一些工具来检测可能出现在这些开源软件中的漏洞,以及管理其所使用的开源软件的方式是否符合相应的许可证规则。”确实,随着越来越具有影响力的安全威胁出现,历史上从未有过我们目前对安全工具和实践的需求。大多数的组织已经意识到网络与系统管理员需要具有相应的较强的安全技能和安全证书。在一篇文章中,我们给出一些具有较大影响力的工具、认证和实践。Linux 基金会已经在安全方面提供了许多关于安全的信息与教育资源。比如,Linux 社区提供了许多针对特定平台的免费资源,其中 Linux 工作站安全检查清单 其中提到了很多有用的基础信息。线上的一些发表刊物也可以提升用户针对某些平台对于漏洞的保护,如:Fedora 安全指南Debian 安全手册。目前被广泛使用的私有云平台 OpenStack 也加强了关于基于云的智能安全需求。根据 Linux 基金会发布的 公有云指南:“据 Gartner 的调研结果,尽管公有云的服务商在安全审查和提升透明度方面做的都还不错,安全问题仍然是企业考虑向公有云转移的最重要的考量之一。”无论是对于组织还是个人,千里之堤毁于蚁穴,这些“蚁穴”无论是来自路由器、防火墙、VPN 或虚拟机都可能导致灾难性的后果。以下是一些免费的工具可能对于检测这些漏洞提供帮助:Wireshark,流量包分析工具KeePass Password Safe,自由开源的密码管理器Malwarebytes,免费的反病毒和勒索软件工具NMAP,安全扫描器NIKTO,开源的 web 服务器扫描器Ansible,自动化的配置运维工具,可以辅助做安全基线Metasploit,渗透测试工具,可辅助理解攻击向量这里有一些对上面工具讲解的视频。比如 Metasploit 教学Wireshark 教学。还有一些传授安全技能的免费电子书,比如:由 Ibrahim Haddad 博士和 Linux 基金会共同出版的并购过程中的开源审计,里面阐述了多条在技术平台合并过程中,因没有较好的进行开源审计,从而引发的安全问题。当然,书中也记录了如何在这一过程中进行代码合规检查、准备以及文档编写。同时,我们 之前提到的一个免费的电子书, 由来自 The New Stack 编写的“Docker 与容器中的网络、安全和存储”,里面也提到了关于加强容器网络安全的最新技术,以及 Docker 本身可提供的关于提升其网络的安全与效率的最佳实践。这本电子书还记录了关于如何构建安全容器集群的最佳实践。所有这些工具和资源,可以在很大的程度上预防安全问题,正如人们所说的未雨绸缪,考虑到一直存在的安全问题,现在就应该开始学习这些安全合规资料与工具。想要了解更多的安全、合规以及开源项目问题,点击这里。via: https://www.linux.com/blog/2018/5/free-resources-securing-your-open-source-code作者:Sam Dean 选题:lujun9972 译者:sd886393 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-10069-1.html?utm_source=rss&utm_medium=rss
在 Linux 下截屏并编辑的最佳工具

有几种获取屏幕截图并对其进行添加文字、箭头等编辑的方法,这里提及的的屏幕截图工具在 Ubuntu 和其它主流 Linux 发行版中都能够使用。Media

via https://linux.cn/article-10070-1.html
如何在 Linux 中查看进程占用的端口号

对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的。Media

via https://linux.cn/article-10073-1.html
如何在 vi 中创建快捷键

那些常见编辑任务的快捷键可以使 Vi 编辑器更容易使用,更有效率。Media

via https://linux.cn/article-10074-1.html
如何在 vi 中创建快捷键

那些常见编辑任务的快捷键可以使 Vi 编辑器更容易使用,更有效率。Media学习使用 vi 文本编辑器 确实得花点功夫,不过 vi 的老手们都知道,经过一小会儿的锻炼,就可以将基本的 vi 操作融汇贯通。我们都知道“肌肉记忆”,那么学习 vi 的过程可以称之为“手指记忆”。当你抓住了基础的操作窍门之后,你就可以定制化地配置 vi 的快捷键,从而让其处理的功能更为强大、流畅。我希望下面描述的技术可以加速您的协作、编程和数据操作。在开始之前,我想先感谢下 Chris Hermansen(是他雇佣我写了这篇文章)仔细地检查了我的另一篇关于使用 vi 增强版本 Vim 的文章。当然还有他那些我未采纳的建议。首先,我们来说明下面几个惯例设定。我会使用符号 <RET> 来代表按下回车,<SP> 代表按下空格键,CTRL-x 表示一起按下 Control 键和 x 键(x 可以是需要的某个键)。使用 map 命令来进行按键的映射。第一个例子是 write 命令,通常你之前保存使用这样的命令:
:w<RET>
虽然这里只有三个键,不过考虑到我用这个命令实在是太频繁了,我更想“一键”搞定它。在这里我选择逗号键,它不是标准的 vi 命令集的一部分。这样设置:
:map , :wCTRL-v<RET>
这里的 CTRL-v 事实上是对 <RET> 做了转义的操作,如果不加这个的话,默认 <RET> 会作为这条映射指令的结束信号,而非映射中的一个操作。 CTRL-v 后面所跟的操作会翻译为用户的实际操作,而非该按键平常的操作。在上面的映射中,右边的部分会在屏幕中显示为 :w^M,其中 ^ 字符就是指代 control,完整的意思就是 CTRL-m,表示就是系统中一行的结尾。目前来说,就很不错了。如果我编辑、创建了十二次文件,这个键位映射就可以省掉了 2*12 次按键。不过这里没有计算你建立这个键位映射所花费的 11 次按键(计算 CTRL-v 和 : 均为一次按键)。虽然这样已经省了很多次,但是每次打开 vi 都要重新建立这个映射也会觉得非常麻烦。幸运的是,这里可以将这些键位映射放到 vi 的启动配置文件中,让其在每次启动的时候自动读取:文件为 .exrc,对于 vim 是 .vimrc。只需要将这些文件放在你的用户根目录中即可,并在文件中每行写入一个键位映射,之后就会在每次启动 vi 生效直到你删除对应的配置。在继续说明 map 其他用法以及其他的缩写机制之前,这里在列举几个我常用提高文本处理效率的 map 设置:映射显示为:map X :xCTRL-v<RET>:x^M:map X ,:qCTRL-v<RET>,:q^M上面的 map 指令的意思是写入并关闭当前的编辑文件。其中 :x 是 vi 原本的命令,而下面的版本说明之前的 map 配置可以继续用作第二个 map 键位映射。映射显示为:map v :e<SP>:e上面的指令意思是在 vi 编辑器内部切换文件,使用这个时候,只需要按 v 并跟着输入文件名,之后按 <RET> 键。映射显示为:map CTRL-vCTRL-e :e<SP>#CTRL-v<RET>:e #^M# 在这里是 vi 中标准的符号,意思是最后使用的文件名。所以切换当前与上一个文件的方法就使用上面的映射。映射显示为map CTRL-vCTRL-r :!spell %>err &CTRL-v<RET>:!spell %>err&^M(注意:在两个例子中出现的第一个 CRTL-v 在某些 vi 的版本中是不需要的)其中,:! 用来运行一个外部的(非 vi 内部的)命令。在这个拼写检查的例子中,% 是 vi 中的符号用来指代目前的文件, > 用来重定向拼写检查中的输出到 err 文件中,之后跟上 & 说明该命令是一个后台运行的任务,这样可以保证在拼写检查的同时还可以进行编辑文件的工作。这里我可以键入 verr<RET>(使用我之前定义的快捷键 v 跟上 err),进入 spell 输出结果的文件,之后再输入 CTRL-e 来回到刚才编辑的文件中。这样我就可以在拼写检查之后,使用 CTRL-r 来查看检查的错误,再通过 CTRL-e 返回刚才编辑的文件。还用很多字符串输入的缩写,也使用了各种 map 命令,比如:
:map! CTRL-o \fI:map! CTRL-k \fP
这个映射允许你使用 CTRL-o 作为 groff 命令的缩写,从而让让接下来书写的单词有斜体的效果,并使用 CTRL-k 进行恢复。还有两个类似的映射:
:map! rh rhinoceros:map! hi hippopotamus
上面的也可以使用 ab 命令来替换,就像下面这样(如果想这么用的话,需要首先按顺序运行: 1、 unmap! rh,2、umap! hi):
:ab rh rhinoceros:ab hi hippopotamus
在上面 map! 的命令中,缩写会马上的展开成原有的单词,而在 ab 命令中,单词展开的操作会在输入了空格和标点之后才展开(不过在 Vim 和我的 vi 中,展开的形式与 map! 类似)。想要取消刚才设定的按键映射,可以对应的输入 :unmap、 unmap! 或 :unab。在我使用的 vi 版本中,比较好用的候选映射按键包括 g、K、q、 v、 V、 Z,控制字符包括:CTRL-a、CTRL-c、 CTRL-k、CTRL-n、CTRL-p、CTRL-x;还有一些其他的字符如 #、 *,当然你也可以使用那些已经在 vi 中有过定义但不经常使用的字符,比如本文选择 X 和 I,其中 X 表示删除左边的字符,并立刻左移当前字符。最后,下面的命令
:map<RET>:map!<RET>:ab
将会显示,目前所有的缩写和键位映射。希望上面的技巧能够更好地更高效地帮助你使用 vi。via: https://opensource.com/article/18/5/shortcuts-vi-text-editor作者:Dan Sonnenschein 选题:lujun9972 译者:sd886393 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-10074-1.html?utm_source=rss&utm_medium=rss
Linux 防火墙:关于 iptables 和 firewalld 的那些事

以下是如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则。Media

via https://linux.cn/article-10075-1.html
在 Linux 中安全且轻松地管理 Cron 定时任务

如果你在处理 Cron 定时任务的时候为了以防万一,可以尝试使用 Crontab UI,它是一个可以在类 Unix 操作系统上安全轻松管理 Cron 定时任务的 Web 页面工具。Media

via https://linux.cn/article-10077-1.html