Quantcast
Channel: Linux 中国◆开源社区
Viewing all 9060 articles
Browse latest View live

每日安全资讯:研究人员开发新方法来检测隐藏在硬件组件中的恶意软件

$
0
0

恶意软件开发人员通过将恶意代码嵌入到硬件固件中让其更加狡猾,但北卡罗来纳州立大学和德克萨斯大学奥斯汀分校的研究人员已经开发出一种可靠的识别此类入侵的方法。通过测量系统及其中每个组件的功耗,可以确定存在恶意软件的类型。研究由洛克希德马丁公司和国家科学基金会赞助。

微架构攻击的本质使它们很难被发现,但研究人员找到了一种方法来检测它们。台式电脑不是这种创新的主要应用。物联网设备和工业嵌入式系统是重要的用例,这多这种设备没有操作系统,并且仅执行存储在非易失性存储器的一小部分机器代码。在部署到现实世界的大多数嵌入式系统中,防病毒软件甚至都不实用。

监控电源使用本身并不是一个新概念,但是能够与各种系统一起工作的即插即用解决方案的想法很有趣。唯一需要注意的是,写得非常仔细的恶意软件可以尝试表现出正常的功耗。在这些情况下,有时研究人员的工具无法检测到恶意软件的存在。然而,恶意软件窃取数据的速度会减慢 86% 至 97%,这对善于掩盖其踪迹的黑客来说是一个重大损失。

来源:cnBeta.COM

更多资讯

人民日报海外版:对 App 乱象“零容忍”

不同意授权某 App(移动互联网应用程序),许多功能就无法使用;在某 App 留下个人信息后很快收到骚扰电话;打开一款社交软件却看到大量涉黄信息……部分 App 乱象令许多用户苦不堪言。日前,国家网信办等相关部门果断出手,对 App 乱象“零容忍”,为网民营造风清气正的网络空间。

来源: 人民日报海外版

详情: http://t.cn/EaFhRjx 

泄露 5 千万用户数据?京东回应:请勿造谣传谣

昨今日京东官方微博@京东发言人针对外界谣传“京东泄露的 5 千万用户数据”一事,回应称:这些数据不是京东账号数据,请勿造谣传谣。京东称,经过示例数据查验,确认这些数据不是京东账号数据,另外还提醒:买卖公民个人隐私数据涉嫌触犯刑法。

来源: 凤凰网科技

详情: http://t.cn/EaFhE3e 

美军警告日本:F35 或遭黑客攻击,飞行员驾机会昏迷

日本首架坠毁的 F-35A 隐身战斗机和机上飞行员至今仍未找到,但由美国方面主导的事故调查却取得重大进展。日本经济新闻社 4 月 25 日披露,美国军方向日本防卫省发出紧急警告,称 F-35 战机可能受到了黑客攻击。目前美方已将战机坠毁的原因归结为“突发性系统故障”,其中机载氧气生成系统出问题的可能性最大。也就是说,至今仍失联的 41 岁空自少校飞行员在驾机时可能因缺氧而昏迷,F-35A 战机在失去人工控制后坠毁。

来源:新浪军事

详情: http://t.cn/EaFhmyX

马国 VEP 网站漏洞 新加坡驾车人士资料或遭泄露

马来西亚陆路交通局的外国车辆入境准证(VEP)网站存在安全漏洞,包括新加坡驾车人士在内的数以千计的外籍驾车人士的个人资料,可能遭泄露。

来源: 联合早报

详情: http://t.cn/EaFhucK 

(信息来源于网络,安华金和搜集整理)


使用 mdadm 管理 RAID 阵列

$
0
0

mdadm 是多磁盘和设备管理Multiple Disk and Device Administration 的缩写。它是一个命令行工具,可用于管理 Linux 上的软件 RAID 阵列。本文概述了使用它的基础知识。

以下 5 个命令是你使用 mdadm 的基础功能:

  1. 创建 RAID 阵列mdadm --create /dev/md/test --homehost=any --metadata=1.0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
  2. 组合(并启动)RAID 阵列mdadm --assemble /dev/md/test /dev/sda1 /dev/sdb1
  3. 停止 RAID 阵列mdadm --stop /dev/md/test
  4. 删除 RAID 阵列mdadm --zero-superblock /dev/sda1 /dev/sdb1
  5. 检查所有已组合的 RAID 阵列的状态cat /proc/mdstat

功能说明

mdadm –create

上面的创建命令除了 -create 参数自身和设备名之外,还包括了四个参数:

1、–homehost

默认情况下,mdadm 将你的计算机名保存为 RAID 阵列的属性。如果你的计算机名与存储的名称不匹配,则阵列将不会自动组合。此功能在共享硬盘的服务器群集中很有用,因为如果多个服务器同时尝试访问同一驱动器,通常会发生文件系统损坏。名称 any 是保留字段,并禁用 -homehost 限制。

2、 –metadata

-mdadm 保留每个 RAID 设备的一小部分空间,以存储有关 RAID 阵列本身的信息。 -metadata 参数指定信息的格式和位置。1.0 表示使用版本 1 格式,并将元数据存储在设备的末尾。

3、–level

-level 参数指定数据应如何在底层设备之间分布。级别 1 表示每个设备应包含所有数据的完整副本。此级别也称为磁盘镜像

4、–raid-devices

-raid-devices 参数指定将用于创建 RAID 阵列的设备数。

通过将 -level=1(镜像)与 -metadata=1.0 (将元数据存储在设备末尾)结合使用,可以创建一个 RAID1 阵列,如果不通过 mdadm 驱动访问,那么它的底层设备会正常显示。这在灾难恢复的情况下很有用,因为即使新系统不支持 mdadm 阵列,你也可以访问该设备。如果程序需要在 mdadm 可用之前以只读访问底层设备时也很有用。例如,计算机中的 UEFI 固件可能需要在启动 mdadm 之前从 ESP 读取引导加载程序。

mdadm –assemble

如果成员设备丢失或损坏,上面的组合命令将会失败。要强制 RAID 阵列在其中一个成员丢失时进行组合并启动,请使用以下命令:

# mdadm --assemble --run /dev/md/test /dev/sda1

其他重要说明

避免直接写入底层是 RAID1 的设备。这导致设备不同步,并且 mdadm 不会知道它们不同步。如果你访问了在其他地方被修改了设备的某个 RAID1 阵列,则可能导致文件系统损坏。如果你在其他地方修改 RAID1 设备并需要强制阵列重新同步,请从要覆盖的设备中删除 mdadm 元数据,然后将其重新添加到阵列,如下所示:

# mdadm --zero-superblock /dev/sdb1
# mdadm --assemble --run /dev/md/test /dev/sda1
# mdadm /dev/md/test --add /dev/sdb1

以上用 sda1 的内容完全覆盖 sdb1 的内容。

要指定在计算机启动时自动激活的 RAID 阵列,请创建 /etc/mdadm.conf 配置。

有关最新和详细信息,请查看手册页:

$ man mdadm
$ man mdadm.conf

本系列的下一篇文章将展示如何将现有的单磁盘 Linux 系统变为镜像磁盘安装,这意味着即使其中一个硬盘突然停止工作,系统仍将继续运行!


via: https://fedoramagazine.org/managing-raid-arrays-with-mdadm/

作者:Gregory Bartholomew 选题:lujun9972 译者:geekpi 校对:wxy

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

Python、Java、C#、Perl 创始人聚首畅谈编程语言的未来

$
0
0

4 月初,在 Puget Sound Programming Python(简称 PuPPy)举办的第一届年度慈善活动中,四位传奇的编程语言创始人聚集在一起就编程语言设计的过去和未来展开了热烈的讨论。此次活动旨在为面向所有人的计算机科学教育(Computer Science For All,美国前总统奥巴马当年年初提出的新计划,旨在美国教育体系中普及计算机科学)筹集资金。

与会的小组成员包括以下流行编程语言的创始人:

  • Guido van Rossum:Python 的创始人;
  • James Gosling:Java 编程语言的创始人兼首席设计师;
  • Anders Hejlsberg:Turbo Pascal 的原作者,他也致力于 C# 和 TypeScript 的开发;
  • Larry Wall:Perl 的创始人。

此次讨论会由 Carol Willing 主持,目前她是 Jupyter 项目的指导委员会成员和开发人员。她还是首届 Python 指导委员会成员,Python 软件基金会研究员和前任主任。

编程语言设计的关键原则

小组成员提出的第一个问题是:“编程语言设计的原理是什么?”

Guido van Rossum 认为:

编程语言的设计与 J·K·罗琳撰写她的哈利波特系列丛书的方式非常相似。

他解释说,J·K·罗琳是一个天才,她在第一本哈利波特书中提到的一些细节与第六和第七本书中重要的情节相呼应。

在解释这与编程语言设计之间的关系时,他表示:“在编程语言设计中亦是如此,我们需要做到首尾呼应。”在设计编程语言时,首先我们会承诺某些细节,例如我们想要使用的关键字,我们想要遵循的编码风格等等。但是,无论我们做了何种决定,都必须坚持到底,将来我们需要像 J·K·罗琳一样,找到使用这些细节的新方式。

他补充说道:“一方面,在设计编程语言的工作中,最开始你要做出一系列的选择,为你的故事发展埋下伏笔。另一方面,设计编程语言的艺术在于,你需要不断回顾你的故事,并展开奇思妙想,以你始料未及的方式推进故事发展。”

当谈论到 James Gosling 创建 Java 的过程,以及他所遵循的设计原则时,他只是淡淡地说:“Java 的出现并不像个人热爱的项目那样。其实我们只是想试着建立一个原型。”当时,James Gosling 和他的团队开展了一个涉及嵌入式系统领域的项目。为此,他们与许多为嵌入式系统构建软件的开发人员进行了交谈,并了解了他们的工作流程。

该项目大约有十几个人,Gosling 负责从编程语言的角度来尽量简化项目。他补充说:“最初我们只想做比 C 更好的东西,但是后来就失去了控制,最终项目的其余部分只是提供了素材。”唯一从该项目中幸存了下来的就是“Java”。基本上该编程语言就是为了解决身居数据中心之外的人的问题,这些人常常为网络、安全性和可靠性等问题困扰。

Larry Wall 觉得自己更像“语言学家”,而不是计算机科学家。他想创造一种更接近自然语言的编程语言。他举了一个例子:“就好像我们不必让每个人都走进大学校园才能决定他们各自的去向,我们可以观察人们想去哪里,然后设置通向这些地方的捷径。&rdquoerl 创建背后的一项基本原则是通过 API 提供一切功能。这种编程语言的目标不仅是建立一种优秀的文本处理语言,而且也想成为一种胶水语言。

Wall 进一步说,虽然在 90 年代 Perl 非常稳定,但也确实存在一些问题。因此,2000 年的时候,Perl 团队决定打破一切,并提出了一套全新的设计原则。而且,他们还根据这些原则,重新设计出了 Perl 6。其中一些原则做出了正确的选择——保守地使用括号,否则算上 Unicode 的括号也不够用;无需蹩脚地重新发明面向对象等等。

他补充说,

“大量的重新设计就像是说,我们该用哪根柱子支撑一切?新的设计是面向对象的吗?是在词法作用域内重新设计,还是在更大的范围内?每片信息的正确的支柱是什么?如果我们根本没有支柱的话,该如何创建?”

Anders Hejlsberg 表示,他遵循了他所接触过的所有编程语言的共同原则,即“做某件事情的方法只有一种。”他认为,如果开发人员有四种不同的方法,那么最终很有可能会选择错误的道路,而且要过很久才能在开发中意识到这个错误。根据 Hejlsberg 的说法,这就是为什么开发人员总是会创建一种名为“简单的复杂”的东西,也就是说拿到一些复杂的东西后,通过简单的打包来掩盖复杂性。

与 Guido van Rossum 的观点相似,他进一步补充说,在设计一种编程语言的时候,无论你做出怎样的决定,都必须坚持到底。在设计编程语言的时候,你需要谨慎地决定“不”将哪些东西引入到这种编程语言中。通常,人们会向你提出他们的建议,但你无法真正改变编程语言的本质。虽然你无法真正改变语言的基本性质,但是你可以进行扩展。基本上你有两个选择:要么坚持语言的本质,要么开发一个新的编程语言。

编程语言的类型系统

在谈论到 Python 决定类型的方法时,Guido van Rossum 分享了 Python 首次推出时的一个故事。起初,int 不是一个类,实际上它是一个转换函数。后来,Guido 意识到这是一个错误。“我们有很多这样的功能,我们意识到我们犯了一个错误,我们向用户提供了与内置对象类型不同的类。”

于是,Python 团队决定重新构建 Python 的整个类型,并进行了大量的清理。因此,他们将函数 int 更改为类 int 的指定符。现在,调用这个类意味着构造该类的实例。

James Gosling 表示一直以来他都很注重性能,而提高性能的一个因素是类型系统。在构建优化编译器和提前检查正确性等方面,类型系统非常实用。拥有类型系统也有助于为小型设备构建系统的情况。他说:“为了能在有限的空间内工作,你必须了解设备提供的每一种可能性,而且你知道得越早,就越有可能出色地完成工作。”

Anders Hejlsberg 将类型系统视为一种工具。开发人员喜欢他们的 IDE,他们习惯于使用语句的自动补齐、重构和代码导航等。这些功能是通过代码的语义知识而实现的,而这种语义知识正是由类型系统的编译器提供的。Hejlsberg 认为,添加类型可以大大提高开发人员的生产力,虽然这与我们的直觉相反。

他补充说:“我们以为动态语言更容易掌握,因为你摆脱了类型的束缚。然而,事实证明,如果你以非侵入的方式添加类型,同时努力做好类型推断等,那么就可以提高效率。”

谈到 Perl 中的类型系统时,Wall 表示 Perl 5 和 Perl 6 有不同类型的系统。在 Perl 5 中,所有类型都会被视为字符串,即便是数字或浮点类型。该团队希望在重新设计 Perl 6 的时候依然保留这个功能,然而他们意识到:“如果新用户对可互换性感到困惑,那还好;但如果连计算机都感到困惑,那就不妙了。”

于是,在 Perl 6 中,Wall 和他的团队希望将其打造成更好的面向对象以及更好的函数式编程语言。为了实现这一目标,他们需要一个非常合理的类型系统,并在底层建立一个非常合理的元对象模型。此外,你还需要非常重视“一切都是对象,一切都是闭环”的口号。

影响编程语言维护性的因素有哪些?

Guido van Rossum 认为,如果想加强编程语言的维护性,那么就需要在灵活性和规范性之间取得恰当的平衡,这一点非常重要。虽然对于小型程序来说,动态类型更好用,但大型程序则需要采用严格的方法。而且,最好能够通过编程语言本身实现规则,不要给用户留下太多自由发挥的空间。出于这个原因,Guido 打算在 Python 中添加类似 TypeScript 的技术。他补充说:

“实际上,TypeScript 非常实用,因此我们也想在 Python 中添加类似的概念。当然我们的添加方式会略有不同,因为我们的语言环境不同。”

除了类型系统以外,事实证明重构引擎也非常有用。有了重构引擎后,就可以一次执行数百万行代码的大规模重构了。通常,人们不会重命名方法,因为你很难认真看完一段代码,然后正确地给每一个变量重命名。如果你有一个重构引擎,那么只需点下几个按钮,输入新名称,然后 30 秒内就可以完成重构。

Anders Hejlsberg 表示,TypeScript 项目源自一些庞大的 JavaScript 代码库。随着这些代码库变得越来越大,维护工作变得异常艰难。后来基本上这些代码库变成了“只写的代码”。他补充说,因此我们需要理解代码的语义,而这个过程也降低了重构工作的难度。他表示:“这种语义的理解需要一个类型系统,而且在你开始添加类型系统时,你还可以添加代码的文档。”Wall 也支持“良好的词法作用域有助于重构”的观点。

编程语言设计的未来

在谈论到编程语言设计的未来时,James Gosling 分享了编程中一个未充分探索的领域——编写使用 GPU 的代码。他强调说,目前我们的编程语言都无法直接利用 GPU,我们应该加大这个领域的发展。

Anders Hejlsberg 表示,编程语言不会像硬件或所有其他技术那样快速地变化。就发展速度而论,编程语言更像是数学和人脑。他说:“我们仍然在使用 50 年前发明的语言进行编程,所有的函数式编程原理都是 50 多年前的研究成果。”

但是,他也相信,如今的编程语言趋于多范式,不会严格区分面向对象编程或函数式编程等类别。

“语言正在走向多范式。我觉得我们不应该再说我只喜欢面向对象的编程、命令式编程或函数式编程语言。”

如今,更重要的是我们需要了解最新的研究、新思维和新范式,并优雅地将这些新思想融入到我们的编程风格中。

会谈视频

完整的近三个小时的会谈视频如下:

COPR 仓库中 4 个很酷的新软件(2019.4)

$
0
0

COPR 是个人软件仓库集合,它不在 Fedora 中。这是因为某些软件不符合轻松打包的标准。或者它可能不符合其他 Fedora 标准,尽管它是自由而开源的。COPR 可以在 Fedora 套件之外提供这些项目。COPR 中的软件不受 Fedora 基础设施的支持,或者是由项目自己背书的。但是,这是一种尝试新的或实验性的软件的一种巧妙的方式。

这是 COPR 中一组新的有趣项目。

Joplin

Joplin 是一个笔记和待办事项应用。笔记以 Markdown 格式编写,并通过使用标签和将它们分类到各种笔记本中进行组织。Joplin 可以从任何 Markdown 源导入笔记或从 Evernote 导出笔记。除了桌面应用之外,还有一个 Android 版本,通过使用 Nextcloud、Dropbox 或其他云服务同步笔记。最后,它还有 Chrome 和 Firefox 的浏览器扩展程序,用于保存网页和屏幕截图。

安装说明

COPR 仓库目前为 Fedora 29 和 30 以及 EPEL 7 提供 Joplin。要安装 Joplin,请带上 sudo 使用这些命令:

sudo dnf copr enable taw/joplin
sudo dnf install joplin

Fzy

Fzy 是用于模糊字符串搜索的命令行程序。它从标准输入读取并根据最有可能的搜索结果进行排序,然后打印所选行。除了命令行,fzy 也可以在 vim 中使用。你可以在这个在线 demo 中尝试 fzy

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 以及其他发行版提供了 fzy。要安装 fzy,请使用以下命令:

sudo dnf copr enable lehrenfried/fzy
sudo dnf install fzy

Fondo

Fondo 是一个浏览 unsplash.com 网站照片的程序。它有一个简单的界面,允许你一次查找某个主题或所有主题的图片。然后,你可以通过单击将找到的图片设置为壁纸,或者共享它。

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 提供 Fondo。要安装 Fondo,请使用以下命令:

sudo dnf copr enable atim/fondo
sudo dnf install fondo

YACReader

YACReader 是一款数字漫画阅读器,它支持许多漫画和图像格式,例如 cbz、cbr、pdf 等。YACReader 会跟踪阅读进度,并可以从 Comic Vine 下载漫画信息。它还有一个 YACReader 库,用于组织和浏览你的漫画集。

安装说明

COPR 仓库目前为 Fedora 29、30 和 Rawhide 提供 YACReader。要安装 YACReader,请使用以下命令:

sudo dnf copr enable atim/yacreader
sudo dnf install yacreader

via: https://fedoramagazine.org/4-cool-new-projects-to-try-in-copr-for-april-2019/

作者:Dominik Turecek 选题:lujun9972 译者:geekpi 校对:wxy

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

每日安全资讯:Tobii 推出基于 Windows Hello 功能的防窥屏软件

$
0
0

Tobii 是一家专注于眼动追踪技术的科技企业,周五的时候,该公司宣布了可以让你的视线离开计算机时,保护屏幕信息隐私的新软件“Aware”。据悉,其适用于任何配备了 Windows Hello 功能的设备,当用户视线暂时离开屏幕时,它将模糊并锁定屏幕。该公司称,当您回头与他人交谈、望向窗外、或者临时出去喝一杯咖啡的时候,Aware 可以及时地帮你保护显示器上的信息隐私。

这项技术还可以让屏幕变暗,以节省电量。通过多显示器设置,Aware 能够瞬间将光标(甚至窗口)发送到另一台屏幕。最后,软件会记录屏幕使用时间,并在必要时给出休息提醒。

软件适配方面,其支持几乎任何运行 Windows RS5+ 操作系统、且配备了 Windows Hello 摄像头的系统。

来源:cnBeta.COM

更多资讯

俄媒:阿桑奇可能受到美《间谍法》指控

在美国已提出引渡要求的情况下,5 月 2 日,现年 47 岁的维基解密网站创始人阿桑奇将在英国出庭接受引渡听证。俄罗斯 RT 电视台 27 日消息说,美国司法部一份文件显示,阿桑奇可能会因泄露机密材料而受到《1917 年间谍法》Espionage Act指控。而根据该法案被定罪的人,可能会被处以死刑。

来源: 环球科技

详情: http://t.cn/ES7of9G 

在美 100 辆共享奔驰车遭黑客入侵被盗,中国暂停运营

近日,据美国科技网站 TheVerge 报道,德国汽车租赁公司 Car2Go 在遭遇“黑客袭击”后,丢失了多达 100 辆奔驰豪华轿车。到目前为止,已有 21 人因涉嫌参与劫持汽车,并将其用于各种犯罪的计划而受到指控。

来源: 北京时间财经

详情: http://t.cn/ES7oX5S 

联通移动发声:对涉嫌营销扰民电话号码依法处置

4 月 27 日,部分用户接收到中国联通发送的短信:根据国家有关规定,未经用户同意,任何组织和个人不得擅自向用户拨打商业营销电话。为维护用户合法权益,我们将对涉嫌营销扰民的电话号码进行依法处置。中国联通呼吁广大用户与我们携手抵制骚扰电话,共同营造清朗的通信环境。

来源: 中新网
详情: http://t.cn/ES7oKqk 

凌晨 4 小时,三个“黑客”疯狂盗转 30 多万

今年 1 月 24 日,杭州某电商公司发现公司账户的钱被转走,根据系统显示,1 月 24 日凌晨 4 点多,先后有三位用户注册了他们公司的 APP,并通过技术手段篡改积分数据,先后盗转资金 30 多万元,简单说,公司的 APP 平台被“黑客”攻击了。

来源: 钱江晚报

详情: http://t.cn/ES7oNU1 

(信息来源于网络,安华金和搜集整理)

怎样在 Ubuntu Linux 上安装 MySQL

$
0
0

本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL。对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL。

MySQL 是一个典型的数据库管理系统。它被用于许多技术栈中,包括流行的 LAMP (Linux、Apache、MySQL、PHP)技术栈。它已经被证实了其稳定性。另一个让 MySQL 受欢迎的原因是它是开源的。

MySQL 是关系型数据库(基本上是表格数据)。以这种方式它很容易去存储、组织和访问数据。它使用SQL(结构化查询语言)来管理数据。

这这篇文章中,我将向你展示如何在 Ubuntu 18.04 安装和使用 MySQL 8.0。让我们一起来看看吧!

在 Ubuntu 上安装 MySQL

我将会介绍两种在 Ubuntu 18.04 上安装 MySQL 的方法:

  1. 从 Ubuntu 仓库上安装 MySQL。非常简单,但不是最新版(5.7)
  2. 从官方仓库安装 MySQL。你将额外增加一些步处理过程,但不用担心。你将会拥有最新版的MySQL(8.0)

有必要的时候,我将会提供屏幕截图去引导你。但这篇文章中的大部分步骤,我将直接在终端(默认热键: CTRL+ALT+T)输入命令。别害怕!

方法 1、从 Ubuntu 仓库安装 MySQL

首先,输入下列命令确保你的仓库已经被更新:

sudo apt update

现在,安装 MySQL 5.7,简单输入下列命令:

sudo apt install mysql-server -y

就是这样!简单且高效。

方法 2、使用官方仓库安装 MySQL

虽然这个方法多了一些步骤,但我将逐一介绍,并尝试写下清晰的笔记。

首先浏览 MySQL 官方网站的下载页面

在这里,选择 DEB 软件包,点击“Download”链接。

滑到有关于 Oracle 网站信息的底部,右键 “No thanks, just start my download.”,然后选择 “Copy link location”。

现在回到终端,我们将使用 Curl 命令去下载这个软件包:

curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 是我刚刚从网页上复制的链接。根据当前的 MySQL 版本,它有可能不同。让我们使用 dpkg 去开始安装 MySQL:

sudo dpkg -i mysql-apt-config*

更新你的仓库:

sudo apt update

要实际安装 MySQL,我们将使用像第一个方法中同样的命令来安装:

sudo apt install mysql-server -y

这样做会在你的终端中打开包配置的提示。使用向下箭头选择“Ok”选项。

点击回车。这应该会提示你输入密码:这是在为 MySQL 设置 root 密码。不要与 Ubuntu 的 root 密码混淆

输入密码然后点击 Tab 键去选择“Ok“。点击回车键,你将重新输入密码。操作完之后,再次键入 Tab 去选择 “Ok”。按下回车键。

将会展示一些关于 MySQL Server 的配置信息。再次按下 Tab 去选择 “Ok” 和按下回车键:

这里你需要去选择默认验证插件。确保选择了“Use Strong Password Encryption”。按下 Tab 键和回车键。

就是这样!你已经成功地安装了 MySQL。

验证你的 MySQL 安装

要验证 MySQL 已经正确安装,使用下列命令:

sudo systemctl status mysql.service

这将展示一些关于 MySQL 服务的信息:

你应该在那里看到 “Active: active (running)”。如果你没有看到,使用下列命令去开始这个服务:

sudo systemctl start mysql.service

配置/保护 MySQL

对于刚安装的 MySQL,你应该运行它提供的安全相关的更新命令。就是:

sudo mysql_secure_installation

这样做首先会询问你是否想使用 “密码有效强度validate password component”。如果你想使用它,你将必须选择一个最小密码强度(0 – 低,1 – 中,2 – 高)。你将无法输入任何不遵守所选规则的密码。如果你没有使用强密码的习惯(本应该使用),这可能会配上用场。如果你认为它可能有帮助,那你就键入 y 或者 Y,按下回车键,然后为你的密码选择一个强度等级和输入一个你想使用的密码。如果成功,你将继续强化过程;否则你将重新输入一个密码。

但是,如果你不想要此功能(我不会),只需按回车或任何其他键即可跳过使用它。

对于其他选项,我建议开启它们(对于每一步输入 y 或者 Y 和按下回车)。它们(依序)是:“移除匿名用户remove anonymous user”,“禁止 root 远程登录disallow root login remotely”,“移除测试数据库及其访问remove test database and access to it”。“重新载入权限表reload privilege tables now”。

链接与断开 MySQL Server

为了运行 SQL 查询,你首先必须使用 MySQL 连到服务器并在 MySQL 提示符使用。

执行此操作的命令是:

mysql -h host_name -u user -p
  • -h 用来指定一个主机名(如果这个服务被安装到其他机器上,那么会有用;如果没有,忽略它)
  • -u 指定登录的用户
  • -p 指定你想输入的密码.

虽然出于安全原因不建议,但是你可以在命令行最右边的 -p 后直接输入密码。例如,如果用户test_user 的密码是 1234,那么你可以在你使用的机器上尝试去连接,你可以这样使用:

mysql -u test_user -p1234

如果你成功输入了必要的参数,你将会收到由 MySQL shell 提示符提供的欢迎(mysql >):

要从服务端断开连接和离开 MySQL 提示符,输入:

QUIT

输入 quit (MySQL 不区分大小写)或者 \q 也能工作。按下回车退出。

你使用简单的命令也能输出关于版本的信息:

sudo mysqladmin -u root version -p

如果你想看命令行选项列表,使用:

mysql --help

卸载 MySQL

如果您决定要使用较新版本或只是想停止使用 MySQL。

首先,关闭服务:

sudo systemctl stop mysql.service && sudo systemctl disable mysql.service

确保你备份了你的数据库,以防你之后想使用它们。你可以通过运行下列命令卸载 MySQL:

sudo apt purge mysql*

清理依赖:

sudo apt autoremove

小结

在这篇文章中,我已经介绍如何在 Ubuntu Linux 上安装 Mysql。我很高兴如果这篇文章能帮助到那些正为此挣扎的用户或者刚刚开始的用户。

如果你发现这篇文章是一个很有用的资源,在评论里告诉我们。你为了什么使用 MySQL? 我们渴望收到你的任何反馈、印象和建议。感谢阅读,并毫不犹豫地尝试这个很棒的工具!


via: https://itsfoss.com/install-mysql-ubuntu/

作者:Sergiu 选题:lujun9972 译者:arrowfeng 校对:wxy

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

即将到来的 Debian 10 Buster 发布版的新特点

$
0
0

Debian 10 Buster 即将发布。第一个发布候选版已经发布,我们预期可以在几周内见到待最终版。

如果你期待对这个新的主要发布版本,让我告诉你里面有什么。

Debian 10 Buster 发布计划

Debian 10 Buster 的发布日期并没有确定。为什么这样呢?不像其他分发版,Debian 并不基于时间发布。相反地它主要关注于修复发布版重要 Bugrelease-critical bug。发布版重要 Bug 要么是严重的安全问题(CVE),要么是一些其他阻止 Debian 发布的严重问题。

Debian 在它的软件归档中分为三个部分,叫做 Main、contrib 和 non-free。在这三者之中,Debian 开发者和发布管理者最关心的包组成了该分发版的基石。Main 是像石头一样稳定的。因此他们要确保那里没有主要的功能或者安全问题。他们同样给予了不同的优先级,例如 Essential、Required、Important、Standard、Optional 和 Extra。更多关于此方面的知识参考后续的 Debian 文章。

这是必要的,因为 Debian 在很多环境中被用作服务器,人们已经变得依赖 Debian。他们同样看重升级周期是否有破环,因此他们寻找人们来测试,来查看当升级的时候是否有破坏并通知 Debian 有这样的问题。

这种提交方式带来的稳定性是我喜欢 Debian 的众多原因之一

Debian 10 Buster 版本的新内容

这里是即将到来的 Debian 主要发布版的一些视觉上和内部的改变。

新的主题和壁纸

Buster 的 Debian 主题被称为 FuturePrototype 并且看起来如下图:

Debian Buster FuturePrototype Theme

1、GNOME 桌面 3.30

Debian Stretch 版中的 GNOME 桌面在 Buster 中从 1.3.22 升级到了 1.3.30。在 GNOME 桌面发布版中新包含的一些包是 gnome-todo、tracker 替代了 tracker-gui、gstreamer1.0-packagekit 的依赖,因此可以通过自动地安装编码解码器来做播放电影之类的事。对于所有包来说一个大的改变是从 libgtk2+ 到 libgtk3+。

2、Linux 内核 4.19.0-4

Debian 使用 LTS 内核版本,因此你可以期待更好的硬件支持和长达 5 年的维护和支持周期。我们已经从内核 4.9.0.3 到 4.19.0-4。

$ uname -r
4.19.0-4-amd64

3、OpenJDK 11.0

Debian 在很长时间里都是 OpenJDK 8.0。现在在 Debian Buster 里我们已经升级为 OpenJDK 11.0,并且会有一个团队维护新的版本。

4、默认启用 AppArmor

在 Debian Buster 中是默认启用 AppArmor 的。这是一个好事,谨慎是系统管理员必须采取的正确策略。这仅仅是第一步,并且可能需要修复很多对用户觉得有用的脚本。

5、Nodejs 10.15.2

在很长一段时间里 Debian 在仓库中都只有 Nodejs 4.8。在这个周期里 Debian 已经移到 Nodejs 10.15.2。事实上,Debian Buster 有很多 javascript 库例如 yarnpkg (一个 nmp 的替代品)等等。

当然,你可以从该项目仓库在 Debian 中安装最新的 Nodejs,但是从 Debian 仓库中看到更新的版本是很棒的。

6、NFtables 替代了 iptables

Debian Buster 提供了 nftables 来完整地替代了 iptables,因为它有更好、更简单的语法,更好的支持双栈 ipv4/v6 防火墙等等。

7、支持更多的 ARM 64 和 ARMHF 的单板机。

Debian 已经支持一些常见的新的单板机,其中最新的包括 pine64_plus、ARM64 的 pinebook、Firefly-RK3288、ARMHF 64 的 u-boot-rockchip 以及 Odroid HC1/HC2 板、SolidRun Cubox-i 双核/四核(1.5som)和 SolidRun Cubox-i 双核/四核(1.5som+emmc)板、Cubietruckplus 等。同样支持 Rock 64、Banana Pi M2 Berry、Pine A64 LTS Board、Olimex A64 Teres-1 与 Rapberry Pi 1、Zero 和 Pi 3。对于 RISC-V 系统同样支持开箱即用。

8、Python 2 已死,Python 3 长存

在 2020 年 1 月 1 日,Python 2 将被 python.org 废弃。在 Debian 将所有的软件包从 Python 2.7 移到 Python 3 以后,Python 2.7 将从软件仓库中移除。这可能发生在 Buster 发布版或者将来的某个发布版,这是肯定要来临的。因此 Python 开发者被鼓励移植他们的代码库来兼容 Python 3。在写本文的时候,在 Debian Buster 中同时支持 python2 和 pythone3。

9、Mailman 3

在 Debian 中终于可以使用 Mailman3 了。同时 Mailman 已经被细分成为组件。要安装整个软件栈,可以安装 mailman3-full 来获取所有组件。

10、任意已有的 Postgresql 数据库将需要重新索引

由于 glibc 本地数据的更新,放入文本索引中的信息排序的方式将会改变,因为重新索引是有益的,这样在将来就不会有数据破坏发生。

11、默认 Bash 5.0

你可能已经了解了 Bash 5.0 的新特点,在 Debian 中已经是该版本了。

12、Debian 实现 /usr/merge

我们已经分享过一个优秀的 freedesktop 读物,介绍了 /usr/merge 带来了什么。有一些事项需要注意。当 Debian 想要整个过渡时,可能由于未预见的情况,一些二进制文件可能并没有做这些改变。需要指出的一点是,/var/etc 不会被触及,因此使用容器或者云技术的不需要考虑太多

13、支持安全启动

在 Buster RC1 中,Debian 现在支持安全启动secure-boot。这意味着打开了安全启动设置的机器应该能够轻松安装 Debian。不再需要禁止或者处理安全启动的事

14、Debian-Live 镜像的 Calameres Live-installer

对于 Debian Buster 的 Live 版,Debian 引入了 Calameres 安装器来替代老的 Debian-installer。Debian-installer 比 Calameres 功能更多,但对于初学者,Calameres 相对于 Debian-installer 提供了另外一种全新的安装方式。安装过程的截图:

Calamares Partitioning Stage

如图所见,在 Calamares 下安装 Debian 相当简单,只要经历 5 个步骤你就能在你的机器上安装 Debian。

下载 Debian 10 Live 镜像 (只用于测试)

现在还不要将它用于生产机器。可以在测试机上尝试或者一个虚拟机。

你可以从 Debian Live 目录获取 Debian 64 位和 32 位的镜像。如果你想要 64 位的就进入 64-bit 目录,如果你想要 32 位的,就进入 32-bit 目录。

如果你从已存在的稳定版升级并且出现了一些问题,查看它是否在预安装的升级报告中提及了,使用 reportbug 报告你看到的问题。如果 bug 没有被报告,那么请尽可能地报告和分享更多地信息。

总结

当上千个包被升级时,看起来不可能一一列出。我已经列出了一些你在 Debian Buster 可以找到的一些主要的改变。你怎么看呢?


via: https://itsfoss.com/new-features-coming-to-debian-10-buster-release/

作者:Shirish 选题:lujun9972 译者:warmfrog 校对:wxy

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

企业开源指南:评估开源项目的成功

$
0
0

最大限度优化组织中运行开源计划或启动开源项目的实践。这些资源由 Linux 基金会与 TODO Group 合作开发,代表了我们的员工、项目和成员的经验。

开源项目的负责人必须展示项目付出的投资回报率。本指南提供了组织评估开源项目、开源计划和开源贡献的一些方法标准。

了解评估对象、界定成功以及如何充分利用这些信息, 以开启您的开源项目目标,展示开源项目的有效性,并获得支持。

本指南的撰稿人

  • Chris Aniszczyk - Aniszczyk 云原生计算基金会首席营运官
  • Christine Abernathy - Facebook 开源开发者 & 倡导者
  • Joe Beda - 联合创始人 & 首席技术官
  • Gil Yehuda -( 雅虎+美国在线)开源高级经理
  • Sarah Novotny - 谷歌 Kubernetes 社区经理

如何定义成功

聪明的机构会明确开源资源开发的投资价值,并设定关于应用和参与的目标。但是每个开源项目对于成功的定义都有些不同。您设定的目标与追踪的指标会因您投资开源的理由而有所不同——无论是为了招募开发人员,还是打算通过开放创新带来新想法和新技术,或是更快地实现上市,亦或是降低开发成本,还是更多其他原因。

根据您独一无二的战略来制定目标十分重要——同时还要寻求高管团队的认同,以确保开源战略与整体业务战略保持一致。也就是说,无论其行业、产品或业务战略有何不同,开源项目负责人都有一些标准化的方法来评估项目的成功。这些方法包括:

  • 开发者在外部开源项目中的参与度与影响力
  • 组织在开源社区中的声誉
  • 招募和留住优秀开发人员的能力
  • 组织自身开源项目的总体质量与开发人员提供贡献的关键业务项目
  • 管理开源许可证合规性的成效如何

为何设定目标

在我们深入了解开源项目追踪的内容以及如何实施追踪之前,让我们先谈一谈您可以通过设定目标与衡量目标收获什么。

首要的是,追踪目标进展有助于确保您投资的开源项目(无论是外部项目还是内部项目)顺利发展——他们正在回应社区,充分地代表了公司,并有助于满足更广泛的项目目标。定期追踪有助于为开源项目设定基准,作为早期预警系统,以便在项目偏离既定方向、违反法律合规要求的时候,或在仅需撤回项目时进行更正。

仔细的(和战略的)衡量还为面向上层管理者的报告提供了极好的素材。定期报告有助于确保项目与自身目标和整体业务战略保持一致,并能够帮助项目经理获得行政领导对项目的内部支持(特别是在您达到甚至超过目标的时候!)

例如,Facebook 的开源项目办公室会定期在内部公布其开源项目的月环比结果,并向管理层发送执行报告。

“报告只是一个提高认知的好方法。尽管 Facebook 对开源(作为一个组织)高度重视,但总是在内部推销自己并展现自己的价值始终是件好事。” 

Christine Abernathy – Facebook开源开发者&倡导者

定期公开项目结果还有助于提高潜在的合作伙伴、用户和开发人员对于您组织开源活动的认识。

在开源社区中获取关于项目结果的评价——好的、坏的和难听的——可增强项目的透明度、问责制和可信性。

查看来自 Facebook 和 Google 的示例开源报告卡。

如何设定目标

您可以为您的开源项目设定远大的目标,但如何达成目标以及按照何种时间线来完成目标,要设定合理的期望。首先,在衡量初期建立绩效基准是有益的。创建收集数据的正确工具,并确保数据源真实,格式(和您的经理)易懂。许多组织为他们的开源项目创建了指标仪表板,以便在同一处追踪所有数据并提供项目快照,从而帮助快速评估进程。(具体参阅关于开源项目管理工具指南。)

CNCF project analytics dashboard

云原生计算基金会项目仪表板

紧接着,让所有的开源项目负责人和利益相关者一起——在 Facebook上,包括项目负责人和维护人员——作为一个整体决定您想在接下来的 3-6 个月内完成的任务(轻松、可实现的增量)。在这一时期末,回顾您如何完成任务,并根据前阶段的完成情况来调整下一阶段的目标和策略。

“我倾向于根据社区的痛点来寻找衡量指标,并尝试改良这些指标以提升社区的质量。” 

Sarah Novotny – 谷歌 Kubernetes 社区经理

除了绩效基准指标之外,您在为项目设定目标时,还需要考虑以下几点:

  • 战略调整
    您的目标是否与核心业务战略、产品目标以及其他内部业务目标保持一致?
  • 控制水平
    您的项目经理是否可以直接控制结果?或是项目经理、工程人员、法律人员或其他职能人员共同控制?设定在您的控制范围内可实现的目标。
  • 项目差异
    不同项目目标应根据它的目的、社区组成、技术堆栈和其他变量而有所差异。例如,Facebook 已经注意到 Javascript 项目趋向更加频繁地建立分支。他们已经认识到(在经过多次循环追踪之后!)这些并非项目质量的最佳衡量指标。
  • 数量与质量
    并非所有目标都应与数字相关联。提高项目质量的过程改进同样重要,甚至更为重要。仅因为您达到了所有的目标数字,并不意味着您的项目质量没有问题。相反,一个没有增长的、不大的项目质量也可能有发展前景。“您可能只拥有六位核心贡献者和十几个活跃的非维护人员,但是讨论全面,而且合并请求会在短时间内被处理,以及在重要功能方面的讨论有清晰明确的始终。这也许是个令人难以置信的健康社区,但它可能不会在 GitHub 上拥有极多的关注数与分支数,因为它可能是一个有商机的项目。”Novotny 表示,“所以我倾向于考虑社区如何与其自身互动,如何发展和指导新的领导者,以及所有的痛点的发展状态。”

共同的目标

当涉及评估开源项目的成功时,将注意力集中在您项目的这些量化指标上是趋势,即贡献者总数、代码行数、项目数量等。我们将在下一部分讨论评估您项目的质量所需要的内容。但还有很多其他的重要方法可以用来评估您项目的是否成功,并非严格地依靠这些数字。

“我认为使用指标作为一种报告趋势的方法是好的。但把指标作为衡量成功的唯一方式将会给您带来麻烦。” 

Joe Beda – 谷歌 Kubernetes 社区创始工程师 & Heptio 联合创始人兼首席技术官

Kubernetes 是 GitHub 上发展速度最快的开源项目之一,在过去三年里吸引了来自 1,181 家公司的 2,760 位开发人员的超过 80,000 次提交。但项目伊始就以技术和技术的使用作为衡量成功的标准,并非依靠“一些开源指标”,Beda 表示。

以下是开源项目办公室身后的一些共同目标,以及项目经理为了追踪项目的整体进程所采取的最佳办法。其中有一些目标本身无法评估,但这些目标与流程改进、效率提升以及质量改善息息相关。其他目标可以通过调查或其他评估方法来衡量,如定期、积极地征求口头或书面的反馈意见。(与您的团队交流!)

目标 1 确保高效且合法合规的开源代码应用

组织参与开源时通常会从这一步开始。他们意识到工程在其基础架构或在其产品和服务中消耗了大量的开源软

件,亦或是在其基础架构与产品服务中消耗了大量的开源软件。项目办公室有助于集中化处理关于开源消费的政策和决策的制定,追踪开源的应用,并确保组织不会违反各项开源许可证中规定应履行的法律义务。项目还可以持续监测他们帮助开发人员解决可能遇到的各种法律问题效果如何。

衡量这个首要目标的一些最常见方法是致力于确保政策和进程按计划的方式运行,同时确保组织活动保持合法合规:

  • 您使用了多少开源代码?
  • 追踪开源消耗的效果如何?
  • 开源代码使用政策清楚明确,且开发人员了解这些政策。
  • 引入代码的流程和工具清楚明确,且开发人员遵行这些流程与工具。
  • 哪些产品和服务使用了第三方代码?
  • 您有多少合规操作?这些问题的解决速度有多快?

(您是否有合规项目?请参阅我们来自《开源合规项目》的法律资源以获取有关此主题的更多信息。)

目标 2 提高开发人员生产力

只要您正在追踪和管理您的开源应用,就会希望开发人员更加便捷地为开源项目做贡献。如果您的工程师需要通过繁琐的程序来提交错误修复或添加新功能至您的业务所依赖的项目,您将浪费宝贵的时间和资源。开发人员将逆流而上节省大量的时间,而非维护一个独立的项目分支。因为这样做的话,随着时间的推移将会累积技术债务。

“我们试图让自己像那些在马拉松赛道上给参赛者递水的人。我们鼓励开发人员在我们的方向上采取一些额外措施,因为我们知道这样做,从长远意义上看,他们将会真正地实现目标。我们确实在试图建立一个项目作为支持服务,而非减速带。“

Gil Yehuda – Oath 开源高级经理(雅虎+美国在线)

与此目标相关的指标,致力于使开发人员对开源项目的贡献回馈得以顺利进行,同时增加您组织向上游作用监测的代码总量。一旦您消除了作用的障碍,使审批流程清晰快捷,您可以期待更多的贡献和效率。

需要追踪的事情包括:

  • 作为战略性团队识别外部项目的提交数量
  • 正在贡献的开发人员数量。以及,他们是谁?他们为哪些项目做贡献?
  • 组织雇用的项目维护人员的数量(聘用的和培养的)
  • 您贡献项目的质量
  • 情绪分析:贵组织在开源社区的声望
  • 开发人员是否了解贡献政策?(您有贡献政策对吗?)
  • 他们是否遵行贡献流程?(即他们必须签署 CLA 等等。)
  • 他们是否寻求帮助,以及您是否能够及时提供帮助?
  • 软件版本发布之间的时间差——是增加还是减少?
  • 向上游做贡献的工程成本和维护分支代码的工程成本间的对比差异?

目标 3 创建与发展开源项目

这是大型并以工程为重点的组织,如 Facebook、谷歌、微软、Twitter 和其他许多组织中的许多开源项目的主要目标。他们正在创建数百个(甚至数千个)开源项目,旨在解决工程技术问题。目标是吸引外部用户和贡献者们带来新的想法,并帮助推动技术更快发展——这是一个来自加利福尼亚大学伯克利分校的 Henry Chesbrough 教授所称为“开放创新”的概念。

“我们试图让自己像那些在马拉松赛道上给参赛者递水的人。我们鼓励开发人员在我们的方向上采取一些额外措施,因为我们知道这样做,从长远意义上看,他们将会真正地实现目标。我们确实在试图建立一个项目作为支持服务,而非减速带。” 

Chris Aniszczyk – Open Container Initiative 执行董事 & 云原生计算基金会首席运营官(前 Twitter 开源项目负责人)

可用于衡量项目质量的许多数据点是追踪此目标的关键(请参阅下一部分的前 5 条内容)。但还有其他一些因素需要考虑:

  • 是否有创建新项目的明确政策,以及开发人员是否了解该政策?
  • 是否有创建新项目清晰且简捷的流程,以及开发人员是否遵行该流程?
  • 外部人员对贵组织的项目做贡献有多便捷?
  • 项目维护人员是受欢迎的且有帮助的
  • 项目得到良好的维护与支持
  • 代码有据可查
  • 其他定量指标,如新贡献者的数量、创建问题的数量、解决问题所需时间等(请参阅下一部分)明确规定了如何做贡献
    • 项目所获得的外部贡献数量和多样性
    • 贵组织的项目受欢迎程度:GitHub关注数、社交媒体粉丝数等
    • 部署中和(或)生产中的用户数量
    • 贵组织发布的项目数量、广度和质量。例如,移动或数据、基础架构相关项目等
    • 您的项目和相关产品的性能得到提升
    • 不同版本发布的时间差

目标 4 招募并留住开发人员

以组织的身份参与并创建开源项目是吸引开发人员的好方法——并且能够在花费更少的资源来进行培训的条件下,使他们快速加入项目。当他们加入组织时,使用您的开源项目或为项目做贡献的开发人员已经熟悉您的流程、工具和技术。(请参阅我们关于开源开发人员招募的指南。)

但是您作为项目负责人,很可能不会在招募开发人员时发挥直接作用,而且您所在团队的开源参与性对于招聘有无即时影响可能并不明确。为了促使项目工作与招聘之间建立更为直接的联系,Facebook 开展了一年两次的调查,该调查询问了新员工三个基本问题:

  1. 他们是否了解公司的开源项目?
  2. 这种了解如何影响他们加入公司的决定?
  3. 他们在开源方面的经验是否适用于他们现在所从事的工作?

“我们用这项调查来衡量我们开源文化的质量,它同时说明了人们如何看待我们开源项目的整体效果。了解到数字具有上升的趋势是好的。” 

Christine Abernathy – Facebook 开源开发者 & 倡导者

用于开发人员招聘的其他常用指标包括:

  • 员工使用并贡献于哪些开源项目
  • 新员工从什么渠道听说该组织
  • 您通过开源项目引入的开发人员数量
  • 您招募了多少位项目维护(与培养)人员
  • 新员工入职需要多长时间
  • 开源开发人员如何在他们的职业生涯中大显身手
  • 开发人员的贡献被作为工作绩效的一部分来评估
  • 开发人员因贡献而被认可与奖励
  • 开发人员在贡献中获得帮助与支持

目标 5 促进开源文化

开源项目如何对工程人才的培养做出贡献,很大程度上取决于组织中的开源文化与开源实践的培育。这是由于开源组织是众所周知的开发人员工作与创新的好地方。开源项目经理通常是组织内部的开源精神大使,同时还负责监督开源合作的政策和实践。

追踪您组织中的开源文化如何发展对于衡量您项目的有效性是很重要的。衡量开源文化应用的一些常用方法包括:

  • 管理层和包括工程、营销和公共关系等部门的所有部门中的个人贡献者对于开源战略与开源项目的理解和支持
  • 开源社区中的品牌与知名度——如何看待贵组织
  • 参与——您以正面的方式积极参与开源社区
  • 培训与指导——您与开发人员合作改进开源贡献和开源项目,寻找贡献机会,并学习开源社区的工具和流程,确保贡献者能得到来自同行和管理人员的支持
  • 通用工具集的应用
  • 代码质量被开源/外部使用所接受
  • 代表组织进行倡导——出席会议并发言,撰写文章或教程等
  • 赞助基金会、团体或编程马拉松

目标 6 保持开源社区利益与产品利益的一致性

在开源项目中,社区宣传是一个新颖而日益流行的角色。您经常会扮演项目开发者和采用者社区之间联络人的角色——代表开发您的开源代码外部用户的声音,同时将信息反馈给产品管理团队。

这是确保您的产品和服务从社区受益的重要角色,因此您的开源项目将与组织更为广泛的业务战略和目标保持一致。用于监测您的宣传是否成功的一些指标包括:

  • 有多少贡献来自于组织外部?
  • 您的组织外部有多少全职贡献者?
  • 外部贡献的代码正在返回多少到产品中?
  • 来自开源贡献的雇员有多少人?

追踪的内容

有许多方法可用于开源项目的成功衡量标准与进度追踪。项目质量不是唯一的追踪内容,但它仍然非常重要。问题在于,围绕开源项目可获得的数据太多了。任何你能获取数据之处,都可以收集并追踪。同样每个组织追踪的指标——以及他们对数据的处理——很大程度上取决于组织自身的项目目标,以及组织在市场和开源社区中面临的独特挑战。

“我们收集自己可以获得的数据,虽然这些数据是可获得的,但我们并不生活在数字里。我们生活在确保我们拥有正确结果的环境里。” 

Gil Yehuda – Oath 开源高级经理(雅虎+美国在线)

对于一些(疯狂或完全自动化的)项目经理来说,他们的回答就是追踪一切事项。特别是对于大型组织而言,有太多的项目需要处理,追踪所有事项是不可能的,而且也无法从中得出任何有意义的结果。那么,衡量开源项目质量的真正指标到底是什么?

这里有一些评估您开源项目整体质量的最佳指标。这些指标只是之后更为严格和缜密分析的开端。请记住,这些是帮助项目负责人确保多个项目质量的技巧。项目本身也应该追踪它们自己的质量指标。GitHub的开源指标指南就项目维护人员应该关注的内容给出了很好的概述。

这些数字从GitHub上免费使用的开源工具和商业产品上很容易就能收集到。定期检测它们(每月、每季度和每年)有助于监测单个项目的进程,并将其以项目为一个整体计算总计数。它们可运用于管理层报告中,并帮助您的开发人员改进您的项目。

“我们试着定期查看项目质量的好坏,并建议他们应该将哪些内容做得更好。但是我们不直接参与管理。我们只是给他们提供数据,然后在我们有能力或有必要的时候稍微推动一下他们的工作。” 

Christine Abernathy – Facebook 开源开发者 & 倡导者

贡献者数量(以及外部贡献与内部贡献的比例)

项目的开始伴随着来自内部开发人员的多数贡献,并伴随源代码的使用或分支,发展吸收了更多的外部贡献。始终保持可持续发展的最高质量项目拥有极其多元化的社区,并拥有来自项目生态系统中其他公司的大部分贡献。这些公司已经对该代码产生了商业依赖。(还记得 1,000 多家贡献于谷歌 Kubernetes 项目的公司吗?)

持续吸引新的外部贡献者项目往往在维护项目、接纳贡献者和汇总社区的反馈等方面表现优秀。(注意:对于没有发展自身贡献者基础的项目,可能仍然是正确的!)

Kubernetes contributors (git-author) over time.

合并请求的提交量、开放量和接收量(以及它们保持开放的时间长度)

当贡献者发现错误或有功能需求,而他们可以(且有空闲)自行修补或编写代码时,并作为一个合并请求(PR)提交。追踪合并请求的数量以及发生了什么变化,可以显示出您雇员以外的贡献者正在提交多少代码,这同时也是您项目的外部收益水平的指标。

Line graph of Kubernetes pull requests over time

合并请求(PR)的开放时间也表明了您项目的维护人员对外部贡献者的响应和接纳程度。如果一个合并请求长时间没有得到回应,潜在的贡献者可能会把他们的“金点子”转到别的地方。

“当我们有一个好项目时,我会说,我们可能没有一个合并请求会保持开放状态超过或最多两到三个月。这时间实际上已经很长了。” 

Christine Abernathy – Facebook 开源开发者 & 倡导者

请记住,这些指标高度依赖于项目规模。Facebook 的小型项目尝试将开放状态的合并请求数量保持在 10 个或更少。但是,对于与维护人员的数量相比,拥有大量社区投入更为大型的项目而言,将合并请求(PR)的数量限制在这个范围是具有挑战性的。审查这些合并请求需要花费大量时间,因此更为大型的项目往往有开放时间更长的合并请求(PR)。

Facebook 的开源办公室经常在数据库中运行查询,找出合并请求(PR)开放时间最长的前五个项目。他们会查明一些问题,然后找寻机会与项目维护人员展开对话。他们询问维护人员一些问题,以找出问题的根源,并看看什么可能有助于解决问题。多数情况下,这只是一个重新聚焦他们的注意力,并提醒他们保持社区和谐重要性的问题。但偶尔深挖这些数字会指出更深层次的项目问题。大量开放的合并请求(PR)或旧的合并请求(PR)可能意味着只有一两个人在维护这个项目—— 这是一个潜在的预警。

问题提交数量(以及它们的开放时长)

没有时间、权限或能力提交合并请求(PR),但遇到有关您的代码问题的用户,可以将他们的错误和功能需求作为一个问题进行提交。问题的数量以及这些问题如何被解决,可以表明项目的用户使用水平,以及维护人员对于用户需求的响应程度。

这个数量当然取决于追踪问题的方式。仅使用 GitHub 来追踪错误的项目,其问题的开放时间可能会远短于使用 GitHub 来收集包括功能需求等问题的项目。这些考虑因素会拖延或缩短问题的开放时长。

Bar graph of Kubernetes issues over time

每一位贡献者的提交数量(外部贡献者与内部贡献者)

一个项目的外部贡献者提交数量与总数有关,是显示项目在公开创新方面成效如何的另一个标志——从外部引进新的想法。随着时间的推移,高质量项目的外部贡献者比例会逐步提高。衡量每一位贡献者的提交数量也有助于评估您的项目是否吸引新的贡献者,以及那些新的贡献者有没有流失。

外部使用者数量

每个开源项目应该有一种方法对生产环境中采用软件的组织进行追踪选择。无论它是通过一个 ADOPTERS.md 文件还是通过自述文件中的一个简单列表,关键在于追踪此列表并确保其随时间发展。如果外部使用者的数量停止增长或减少,它可能预示从项目成熟到项目过时。

创建或贡献的项目数量(整体项目范围内)

追踪您组织发布每一个项目的指标,同时也要追踪您的开发人员积极参与贡献的项目。在制定开源战略的过程中,您应该已经识别了贵组织正在使用的关键业务项目,并预留了专用资金投资于为这些项目做贡献。贵组织开源项目的成功与否不仅要以开源项目的质量进行衡量,还要以其开源活动整体来看,这是非常重要的。这包括了您的产品开发和业务运营所依赖的项目质量,也包括了确保贵组织与您使用或发布任何项目的开源许可证在法律上保持一致。(请参阅我们的开源合规项目出版物

其他追踪指标

基本的项目指标是一个很好的开端,由它来帮助您把控开源贡献。但成功的项目负责人需要更深入地了解其他重要指标。

这里有许多可以也应该追踪的其他事物,这取决于您的目标。请记住,数量本身不是目标——是持续追踪它们的过程和寻找数据模型的过程可以显示项目和进程的改进。

单独衡量每个项目,并对项目进行横向衡量对比,以获得对于项目的产出与结果的全面的看法。

  • 受欢迎程度/认识度
    • 项目网站的访问者
    • GitHub/GitLab 上的粉丝总数
    • 社交媒体帐户(如 Twitter、Facebook 或 LinkedIn)上的粉丝数量
    • 新闻剪辑和媒体报道
    • 组织和举办的 meetup 数量(例如,通过 meetup.com 网站)
  • 影响
    • 在战略项目中担任维护人员/领导者角色的员工数量
  • 项目贡献者的多样性
  • 补丁被拒绝的原因
  • 采用
    • 下载量
    • 建立的分支数
    • 贡献的外部公司数量
    • 采用的阶段(#PoC 和生产中的部署数量)
    • 商业依赖性(产品)的数量和质量——这可以通过查看为您的项目做贡献的公司或关注新闻与贸易新闻来追踪。
  • 项目成本
    • 员工:工程师、公共关系与市场营销、法律工作人员
    • 基础架构与支持
    • 工具
    • 出席会议与商务旅行
    • 培训
    • 会员资格与捐助

结语

团队以任何对它们的需求最有意义的方式来评估它们的开源项目、开源计划和开源贡献。最重要的事是要记得制定一个战略和增量目标来实现。而您该追踪什么以及如何追踪,将会自然而然地遵照战略和目标。


TODO Group

这些资源是与 TODO(Talk Openly,Develop Openly)组织合作创建的, 该组织是 Linux 基金会中专业的开源网络组织。特别感谢奉献自己的时间和知识来制作这些综合指南的开源项目负责人。参与制作的公司包括 Autodesk、Comcast、Dropbox、Facebook、Google、Intel、Microsoft、Netflix、Oath(Yahoo + AOL)、Red Hat、Salesforce、Samsung 和 VMware。如想了解更多信息,请访问:todogroup.org

 


用来记笔记的三个 Emacs 模式

$
0
0

借助这些 Emacs 模式轻松记录信息。

不管你从事哪种工作,你都无可避免地需要记笔记。而且可能还不是一点点。现在这年头,大家都开始以数字的形式来记笔记了。

开源软件爱好者有多种途径来以电子的方式记下他们的创意、想法和研究过程。你可以使用 网页工具,可以使用 桌面应用,或者你也可以 使用命令行工具

如果你使用 Emacs(伪装成文本编辑器的强力操作系统),有多个模式mode可以帮你有效地记录笔记。我们这里列举三个例子。

Deft

在少数情况下,我只能使用 Mac时,有一个工具是我不能缺少的:nvALT 笔记应用。Deft 模式 为 Emacs 带来了 nvALT 式的体验。

Deft 将你的笔记以文本文件的形式存储在电脑中的某个文件夹中。当你进入 Deft 模式,你会看到一系列的笔记及其摘要。这些摘要其实就是文本文件的第一行。若第一行是 Markdown、LaTeX,甚至 Emacs Org 模式的格式的话,Deft 会忽略掉这些格式而只显示文本内容。

要打开笔记,只需要向下滚动到该笔记的位置然后按下回车即可。然而 Deft 不仅仅只是这样。根据 Deft 开发者 Jason Blevins 的说法,它的主要操作是搜索和过滤。Deft 的实现方式简单而有效。输入关键字然后 Deft 会只显示标题中包含关键字的笔记。这在你要从大量笔记中找到某条笔记时非常有用。

Org 模式

如果本文没有包含 Org 模式 的话,那么我可能会被人所诟病。为什么?它可以说是 Emacs 中最灵活、使用最广泛的记录笔记的方式了。以正确的方式使用它,Org 模式可以极大地增强记笔记的能力。

Org 模式的主要优势在于它组织笔记的方式。在 Org 模式中,一个笔记文件会被组织成一个巨大的大纲。每个章节就是大纲里的一个节点,你可以对它进行展开和折叠。这些章节又可以有子章节,这些子章节也可以展开和折叠。这不仅使你一次只关注于某个章节,而且可以让你浏览整个大纲。

你可以在多个章节之间 进行互联,无需通过剪切和复制就能快速移动章节,以及 附加文件 到笔记中。Org 模式支持带格式的字符和表格。如果你需要转换笔记到其他格式,Org 模式也有大量的导出选项

Howm

当我使用 Emacs 已经成为一种习惯时,howm 马上就成为我严重依赖的模式之一了。虽然我特别喜欢使用 Org 模式,但 howm 依然占有一席之地。

Howm 就好像是一个小型维基。你可以创建笔记和任务列表,还能在它们之间创建链接。通过输入或点击某个链接,你可以在笔记之间跳转。如果你需要,还可以使用关键字为笔记添加标签。不仅如此,你可以对笔记进行搜索、排序和合并。

Howm 不是最漂亮的 Emacs 模式,它的用户体验也不是最佳。它需要你花一点时间来适应它,而一旦你适应了它,记录和查找笔记就是轻而易举的事情了。


via: https://opensource.com/article/18/7/emacs-modes-note-taking

作者:Scott Nesbitt 选题:lujun9972 译者:lujun9972 校对:wxy

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

小白观察:Google 开始清除百度旗下公司开发的 46 款应用程序

$
0
0

Big News

根据 BuzzFeed 报道, Google 开始清除 Play Store 中由 DO Global 公司开发的应用程序。此前一项调查显示,DO Global 曾对用户进行广告欺诈,并向用户隐瞒了应用程序的所有权细节。

Do Global 是一家由百度持股(约 34%)的公司,它是目前在谷歌 Play 商店上线应用程序的最大开发者之一。目前 Do Global 公司官网已经关闭所有功能,仅显示一个 Statement 声明。【BuzzFeed】

总是想着在框架内做一些超出规范的事情,来赚取利润,这似乎成为了百度、百度系的标志了。

Quick News

MIT 许可证的神秘历史

红帽工程师 Gordon Haff 在 OpenSource 上发布了一篇文章,说明了为什么 MIT 协议没有办法很容易的说明何时创建的。【OpenSource】

Google 的新项目 Project Euphonia,可能会让手机替人说话。

今年的 Google I/O 大会上,Google 将会推出一个新的帮助残障人士的服务 Project Euphonia,这个项目将用于为语言障碍者提供声音的支持。【9to5Google】

开源面临的 Working For Free 的问题

自由软件工程师,前红帽工程师,现 Tidelift 联合创始人 Havoc Pennington 说,我们需要放弃开源只是慈善事业的观念,并给出了一些如何让开源项目更好的建议。 
【Tidelift】

对话鲁直:蚂蚁金服中间件的开源头羊

$
0
0

二月初春,在西子湖畔的细雨中,我拜访了蚂蚁金服中间件团队,和 SOFA 技术负责人鲁直做了一次深入交谈,更妙的是,鲁直也是负责 SOFA 开源事务推进的人,而这样一个切实践行开放核心模式的开源项目,也正是我非常感兴趣的。

两个技术人的谈话,自然是朴实而直白的,话题主要围绕着 SOFA 和开源主题展开,希望也能一样引起同是技术人的你的共鸣。

人物介绍

受访者:鲁直,蚂蚁金服 SOFA 开源负责人。

采访者:老王,开源布道人,有 20 年互联网从业经历的技术老兵。

虽然我和鲁直在微信上已经联系很久了,但这还是第一次见面。交谈中,我了解到鲁直是 2009 年加入阿里巴巴工作,已经有十年了。刚开始是在 1688.COM 做业务系统,对中间件技术非常感兴趣,也会经常研究各种中间件的实现和功能。后来在 2013年时,为了更深入地学习研究中间件框架,转到了蚂蚁金服中间件团队,从那个时候开始就一直在做 SOFA。

目前鲁直在 SOFA 的团队主要负责的工作包括几个部分。其中一个主要部分就是  SOFA 开源相关的工作。SOFA 的产品体系非常广,包括已经对外开源的部分、内部整个微服务体系,以及 SOFA 框架等等——而这些开源相关的工作主要是由鲁直负责推动的。

当然,作为技术负责人,鲁直既要带技术团队也要做技术工作。谈及这一点,鲁直说:

“我觉得做技术管理,跟普通的管理不太一样,因为技术管理最重要的一个点是除了管理之外,还要保持一定的技术判断力和敏锐度。对一些新技术,包括团队中遇到一些重大的技术问题,你都要有一些方向性的判断。虽然最后不一定是你具体解决的,但是在整个团队的技术攻坚和技术选型上,要一起确立方向。”

我以前也做过十余年的技术管理,我很能够感受这种情况,重大问题技术负责人更要迎难而上。

SOFA 5 落子 Service Mesh

就我了解的情况,现在 SOFA 已经发展到了 SOFA5 了。在 SOFA4 阶段,主要的任务是将开源体系捋清楚了,然后开始按步骤地开源;到现在发展到了 SOFA5。我想知道从 SOFA4 发展到 SOFA5,是什么让蚂蚁金服中间件团队判断 SOFA4 的阶段性目标已经达成,可以迈进到新的 SOFA5 阶段了呢?

 “从整个业界趋势上来讲,SOFA4 的架构相对来说还是偏传统一些,更多是对我们之前的技术框架的整理和梳理。在这个阶段,SOFA 的代码经过了非常多的优化和重构,才达到了对外开源的要求,从而 SOFA 走上了开源核心的模式,逐步分阶段的将各个部分进行了开源。”鲁直讲到,“但是,从我们对业界的整体判断上来说,未来无疑是云的时代,所以说要考虑怎么让所有的业务系统能够提供云的能力,比如说 Serverless。”

接着这个话题,鲁直讲了他对云计算的理解:“一方面云计算肯定要为整个业务的发展提供更加方便的基础资源,可以不用去关心底层的基础设施。Serverless 字面的意思就是说‘无服务器’——我不用关心服务器怎么来的,不用关心基础设施,只要关心业务代码就可以了。那反过来对于云服务商来说,经过了这一层抽象,其资源利用率会更高,可以有更多的利润空间,这是一个双赢的局面。对于用户来讲,这种好处是实实在在的,可以更少关注基础设施,只关心代码就可以了。

 “我们希望在 SOFA5 的方向上,在这个新的迭代中,去让业务——包括让未来我们开源出来各种功能、各样服务模式——都更多地去关心自己的业务代码,而不用再过多地关心基础设施。”鲁直说。

在 SOFA5 中,一个重要的方向就是 Service Mesh 这个方向,这将是 SOFA5 中非常重要的特性。鲁直强调了其对 Service Mesh 技术的看好:“我认为 Service Mesh 是迈向未来往前走的非常关键的一步,让业务不用再关心基础设施。通过 Service Mesh,我们可以将很多技术能力直接放到基础设施里面,而业务可以不用感知到这一层。原来可能需要花几个小时或者更多的时间解决的基础设施问题,现在可以通过 Service Mesh 解决掉。”

“目前我们我们已经在生产环境中应用了 Service Mesh。我们在这方面有非常大的决心,我们希望能够在今年,在更大的范围中去落地 Service Mesh。当前这个阶段更聚焦在这种技术的内部落地上,希望用好了,再给社区做更多的贡献。”

Service Mesh 这个词最早是由开发 Linkerd 的 Buoyant 公司于 2016 年提出的,随着 Linkerd 的传入,Service Mesh 也进入国内技术社区的视野。Service Mesh 也被翻译为“服务网格”。Linkerd 则是业界第一个 Service Mesh。

Service Mesh 是一个基础设施层,用于处理服务间通信,负责实现请求的可靠传递。在实践中,服务网格通常实现为轻量级网络代理,通常与应用程序部署在一起,但是对应用程序透明。

Service Mesh 的部署模型,有两种情况:

  • 对于一个简单请求,作为请求发起者的客户端应用实例,会首先用简单方式将请求发送到本地的 Service Mesh 实例。这是两个独立进程,它们之间是远程调用。Service Mesh 会完成完整的服务间调用流程,如服务发现负载均衡,最后将请求发送给目标服务。这就是 Sidecar,它在原有的客户端和服务端之间加多了一个代理。
  • 多个服务调用的情况,Service Mesh 出现在所有的服务的下面,这一层被称之为服务间通讯专用基础设施层。Service Mesh 会接管整个网络,把所有的请求在服务之间做转发。在这种情况下,上面的服务不再负责传递请求的具体逻辑,只负责完成业务处理。服务间通讯的环节就从应用里面剥离出来,呈现出一个抽象层。

如果有大量的服务,Sidecar 之间的连接就会形成一个网络,这个就是服务网格名字的由来。

“我们将以 Service Mesh 为跳板再往前走。”鲁直表示,“Serverless 更多的还是应该聚焦在其字面本身,其含义就是‘无服务器’,后面的技术都是为了让无服务器承载具体的业务。

Serverless 这个概念虽然提出来已经有几年了,目前 AWS 在 Serverless 和 FaaS 方面处于比较前沿的位置,但是在国内,Serverless、FaaS 这些技术的发展还是相对比较滞后。

鲁直指出,“我觉得 Serverless 想要成功,还是要从覆盖业务的整个广度上打开,否则可能还是停留在 FaaS 上,那场景就比较受限。”

Service Mesh 将是微服务的下一个时代,关于它还在持续进行理论研究和实践探索。

鲁直说:“坦白来讲,我觉得 istio 的理念非常好,但是在整个工程设计上,如果放到蚂蚁金服这样体量较大的环境里面,可能跑起来还需要做一些工作。我们希望今年 Service Mesh 在蚂蚁金服有了更大规模落地之后,可以把我们在 Service Mesh 方面的一些实践经验用到产品环境的工程中去实践,然后贡献出去。目前更多的一些工作,是将整个体系上进一步完善,铺到更多业务上,然后将这些经验反哺到整个 Service Mesh 的设计上,让它走的更远。”

也就是说,蚂蚁金服在 Service Mesh 上跟 istio 的技术路线是一致的,但是会从工程的角度更多地推动它的发展。

我们希望能够在我们进行了生产验证之后,再慎重地推送给开源社区。这也是蚂蚁做开源贡献的一贯理念。

鲁直:“我们希望能够在我们进行了生产验证之后,再慎重地推送给开源社区。这也是蚂蚁做开源贡献的一贯理念——我们希望一个东西经过了内部一段时间的成熟之后,再去开源。经过了大规模的内部验证之后,它的稳定性上有了一定的保障,就贡献给外部社区使用,再去拓展更多一些使用场景,包括完善和解决一些之前没有遇到一些问题。”

合力 Seata 分布式事务框架

2007 开始,蚂蚁金服自主研发了分布式事务中间件 XTS,在内部广泛应用并解决金融核心场景下的跨数据库、跨服务数据一致性问题,最终以 DTX 的云产品化展现并对外开放。而与此同时,阿里巴巴中间件团队发布 TXC,为集团内应用提供分布式事务服务,经过多年的技术沉淀,于 2016 年产品化改造为 GTS,通过阿里云解决方案在众多外部客户中落地实施。

2019 年 1 月,基于技术积累,阿里巴巴中间件团队发起了开源项目 Fescar,蚂蚁金服也开源了自己的分布式事务框架,并与 Fescar 合并一起共建分布式事务解决方案。这个发展既在情理之中,也在意料之外,我确实好奇这期间发生了什么,是如何和 SOFA 中间件团队的发展结合的,他们下一步会有什么计划?

鲁直说:“分布式事务是蚂蚁金服在 2007 年做的创新,是基于 TCC 原理,我们在内部实现了这个模式。TCC 理论相对还是比较简单的,但是它要落地,需要花费比较长的工程实现上的打磨才行。分布式事务这个技术在蚂蚁金服已经走过了 12 年的时间了。在蚂蚁金服最核心一些业务上,包括支付、交易、账务等等系统都在使用这套分布式事务框架解决和孵化的。”

在分布式事务这一块领域上,在业界来看目前相对来说比较空白,还没有非常好的分布式事务框架。说起来合并的初衷,鲁直表示,“既然阿里巴巴和蚂蚁金服都在这个方向做了一些开源的工作,所以我们把这两个部分的努力结合起来,取长补短,以适用于更多的分布式事务业务场景,蚂蚁金服加入 Seata 社区共建,在 Seata 0.4.0 版本中加入了 TCC 模式,为大家提供一个更加宽泛的分布式事务的解决方案。”

具体来说,“阿里巴巴的 Seata 提供是 AT 模式,对业务来说,不用有太多感知,但是它覆盖的场景有限,如果可以接受这样的情况,用 AT 模式更好。而蚂蚁金服因为有更强的金融方面的要求,就需要采用 TCC 模式,业务接入成本更高,但是它能做到非常好的分布式执行。未来还会提供像 XA 这样的模式,去适应更宽泛业务场景,这在这一块上,蚂蚁金服和阿里巴巴会结合在一起提供一个融合的框架。”

Seata 为解决微服务架构下的分布式事务问题交出了一份与众不同的答卷。而 Seata 的愿景是让分布式事务的使用像本地事务的使用一样简单和高效,希望可以让 Seata 适用于所有的分布式事务场景。

如何做开源

作为开源核心模式的项目,我希望了解蚂蚁金服中间件的开源一般会做哪些工作,是否有比较完善的流程和规则?

“首先,最基础的肯定是代码,并提供对应的示例,然后我们会提供贡献者指南这样的指引文档,因为本质上我们希望打造成一个开源社区,社区的参与度对我们来说是非常重要的东西,有人会上来提 issue,也有人来解答,有人提功能需求,有人提 PR 等等”,鲁直说。

Linux 中国曾经开发过一个用于测算开源项目活跃度的一个模型,我们认为从过去感性地看一个开源项目是不是活跃,已经开始逐渐进步到通过理性数据评估了,但是这需要排除一些数据作弊的情况,就像之前很多人会用项目的星标数来评估项目的活跃度,这当然很粗糙。我们今年还会继续配合 2019 年度的开源年报,而提供数据支持,到时候我们肯定会给 SOFA 相关的项目做一个考察。希望可以切实地反映出来 SOFA 在开源方面的工作。

从之前的脉络上看,到了 SOFA5,还会继续沿袭开放核心的模式,即:核心部分开源,与本地业务强关联,但是跟核心不是强关联的部分不开源。

从蚂蚁金服自身的实践来看,他们已经切实地践行了开源核心模式。

而对于开源核心模式,有人唱衰,也有人说好,各种观点都有。但从蚂蚁金服自身的实践来看,他们已经切实地践行了开源核心模式,这是我在国内第一个深入了解过的真实落地的开源核心模式项目。

说到开源模式,鲁直表示:“做开源,我觉得首先肯定要做一个心理准备,就是说你要有一个核心部分,再在这个基础上做扩展,在维护的成本上肯定有一定的上升,但是你要接受这样的成本——我觉得这种成本是可以接受的。……项目本身要设计好,具备一定分拆的可能性。如果不具备分拆可能性,那没法做了。像微内核这样的设计方式就会比较适合——就是开源一个核心模块,然后再去扩展,各种模块是可插拔的。”

而对于开源工作是如何做的,鲁直说:“我们没有专门做开源的人,也没有专门做内部代码的人,我们是把这两部分放在一起,既做开源又做内部代码,因为这样一个好处是,既熟悉外部的代码,又熟悉内部的代码,这个边界自己可以把握比较好。我们更多是制定一些规则。比如说跟业务层强相关的部分,你开源出去也没人用;如果说跟业务不相关的,你为什么不开源?因为你开源的这个产品想要做得更好,这些能力开源出去其实没有太大问题,所以一般我们的标准就是看是不是跟内部系统相关,是不是跟业务强相关,如果不相关就可以开源。”

谈话中,鲁直反问的“你为什么不开源?”这句话让我印象深刻。

谈话中,鲁直反问的“你为什么不开源?”这句话让我印象深刻,这其实代表了他们开源的初心,但是从商业者从公司的角度来说,开源有没有给公司带来真正的好处?这不仅仅是情怀的问题,我相信每一个热爱开源的人,其实存在开源情怀或者是更理想化的想法,但是从另一方面来说,无论是从公司的机制上,还是公司的业绩上,开源还是要有实实在在的收益,能够推动公司业务发展才行。作为一个开源项目的负责人,他是怎么感受到开源的好处呢?

对这个问题,显然他有过成熟的思考:

“最直接的好处就是更长效。从眼前看,你的名声出去了招聘是不是也容易找到更合适的人?这是最短期的收益。长期的好处,开源社区里面大家分享了非常多的观点,从实践来看,也是这样。比如说你在一家公司里面去做的话,公司的业务场景是有限的,虽然说蚂蚁金服覆盖了各种各样的业务,金融方面的基本上全覆盖了。但是其他的行业不一定都有,他们遇到这个问题,我们可能并不会遇到,但这些问题可能是未来能够遇到的,如果把一个项目以开源的方式运作,就意味着说,更大的用例场景更容易发现 bug,用的人越多,越有可能会触发这个bug,那对于就是有了进一步完善的可能。

另外,有了这样的一个社区化的发展,有更多人参与进来之后,这个项目可以更快往前发展,而不是只有你自己在。在一家公司里边,团队的人员数量肯定是有限的,而有这么多人来参与,那对于这个项目的往前演进来说有非常大的好处,反过来对公司也会带来更多好处——无论是潜在的还是直接的。

最后,如果你的产品有商业化的支持,比如说其他系统的支撑,也能够更好提供商业化的支持。”

SOFA 开源以来,就我目前了解到的情况,大概已经有 30 家左右的企业用户在使用这套开源框架——就是直接拿开源的部分去用了。当然这主要是国内的用户,那么在国外影响力没有像国内这么大的原因在哪儿呢?是因为我们的项目不够国际化呢,还是知道这个框架的人不够多呢?

鲁直说:“我觉得可能是两方面的原因。一方面,我们的确在国际化方面做的并不是很多,在今年我们会去尝试做更多的国际化工作。另外一方面,更多的是文化方面的差异,大家的思维方式可能不太一样。当然我们会尝试走一下国际化的路线,因为开源本来就是不分国界的。”

进一步,SOFA 在社区治理这方面,“我们希望能够采用和参考 Apache 基金会的方式,这是一个很完善的治理模式,我们会尝试采用这样的方式去社区治理。这对于国际化产品是有很多好处的,它更多强调的是一种治理模式,是不是以社区的方式在运作,是不是在尊重整个社区等等。”鲁直表示,“我们会考虑跟 Apache 基金会、CNCF 进行直接接触,如果合适的话,我们会捐献项目给基金会。如果只是一家商业公司而没有基金会的支持,大家也会有更多的顾虑。把项目捐献给基金会,给大家更多的信心,通过基金会的托管,让更多一些参与方参与,而不只是有蚂蚁金服,大家也会有更大的信心参与进来。” 

最后,鲁直希望致语开源社区,“其实蚂蚁金服开源的东西,也不只是 SOFA 中间件框架,未来会开源更多的东西,包括 AI 方面的一些技术,也希望整个社区能够多关注蚂蚁金服在开源上面未来的举措。”

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

下载安装 Ubuntu 19.04 “Disco Dingo”

$
0
0

Ubuntu 19.04 “Disco Dingo” 已经发布,可以下载了。虽然我们已经知道 Ubuntu 19.04 中的新功能 —— 我将在下面提到一些重要的地方,还会给出官方的下载链接。

Ubuntu 19.04:你需要知道什么

以下是你应该了解的有关 Ubuntu 19.04 Disco Dingo 发布的一些内容。

Ubuntu 19.04 不是 LTS 版本

与 Ubuntu 18.04 LTS 不同,它不会支持 10 年。相反,非 LTS 的 19.04 将支持 9 个月,直到 2020 年 1 月。

因此,如果你有生产环境,我们可能不会立即建议你进行升级。例如,如果你有一台运行在 Ubuntu 18.04 LTS 上的服务器 —— 只是因为它是一个新的版本就将它升级到 19.04 可能不是一个好主意。

但是,对于希望在计算机上安装最新版本的用户,可以尝试一下。

Ubuntu 19.04 对 NVIDIA GPU 用户是个不错的更新

Martin Wimpress(来自 Canonical)在 Ubuntu MATE 19.04(Ubuntu 版本之一)的 GitHub 的最终发布说明中提到 Ubuntu 19.04 对 NVIDIA GPU 用户来说特别重要。

换句话说,在安装专有图形驱动时 —— 它现在会选择与你特定 GPU 型号兼容最佳的驱动程序。

Ubuntu 19.04 功能

尽管我们已经讨论过 Ubuntu 19.04 Disco Dingo 的最佳功能,但值得一提的是,我对本次发布的主要变化:桌面更新 (GNOME 3.32) 和 Linux 内核 (5.0)感到兴奋。

从 Ubuntu 18.10 升级到 19.04

显而易见,如果你安装了 Ubuntu 18.10,你应该升级它。18.10 将于 2019 年 7 月停止支持 —— 所以我们建议你将其升级到 19.04。

要做到这一点,你可以直接进入“软件和更新”设置,然后选择“更新”选项卡。

现在将选项从“通知我新的 Ubuntu 版本” 变成 “任何新版本都通知我”。

现在再次运行更新管理器时,你应该会看到 Ubuntu 19.04。

从 Ubuntu 18.04 升级到 19.04

建议不要直接从 18.04 升级到 19.04,因为你需要先将操作系统更新到 18.10,然后再继续升级到 19.04。

相反,你只需下载 Ubuntu 19.04 的官方 ISO 映像,然后在你的系统上重新安装 Ubuntu。

Ubuntu 19.04:所有版本都可下载

根据发行说明,现在可以下载 Ubuntu 19.04。你可以在其官方发布下载页面上获取种子或 ISO 文件。

如果你需要不同的桌面环境或需要特定的东西,你应该查看 Ubuntu 的官方版本:

上面提到的一些 Ubuntu 版本还没有在页面提供 19.04。但你可以仍然在 Ubuntu 的发行说明网页上找到 ISO。就个人而言,我使用带 GNOME 桌面的 Ubuntu。你可以选择你喜欢的。

总结

你如何看待 Ubuntu 19.04 Disco Dingo?这些新功能是否足够令人兴奋?你试过了吗?请在下面的评论中告诉我们。


via: https://itsfoss.com/ubuntu-19-04-release/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

Linux 初学者:移动文件

$
0
0

在之前的该系列的部分中,你学习了有关目录访问目录的权限是如何工作的。你在这些文章中学习的大多数内容都可应用于文件,除了如何让一个文件变成可执行文件。

因此让我们在开始之前先解决这个问题。

不需要 .exe 扩展名

在其他操作系统中,一个文件的性质通常由它的后缀决定。如果一个文件有一个 .jpg 扩展,操作系统会认为它是一幅图像;如果它以 .wav 结尾,它是一个音频文件;如果它在文件名末尾以 .exe 结尾,它就是一个你可以执行的程序。

这导致了严重的问题,比如说木马可以伪装成文档文件。幸运的是,在 Linux 下事物不是这样运行的。可以确定的是,你可能会看到有些可执行文件是以 .sh 结尾暗示它们是可执行的脚本,但是这大部分是为了便于人眼找到文件,就像你使用 ls --color 将可执行文件的名字以亮绿色显示的方式相同。

事实上大多数应用根本没有扩展名。决定一个文件是否是一个真正程序的是 x (指可执行的)位。你可以通过运行以下命令使任何文件变得可执行,

chmod a+x some_program

而不管它的扩展名是什么或者是否存在。在上面命令中的 x 设置了 x 位,a 说明你为所有用户设置它。你同样可以为一组用户设置成拥有这个文件(g+x),或者只为一个用户——拥有者——设置 (u+x)。

尽管我们会在该系列之后的部分包含从命令行创建和运行脚本的内容,并学习通过输入它的路径并在结尾加上程序名的方式运行一个程序:

path/to/directory/some_program

或者,如果你当前在相同目录,你可以使用:

./some_program

还有其他方式可以使你的程序在目录树的任意位置运行 (提示:查询 $PATH 环境变量),但是当我们讨论 shell 脚本的时候你会读到这些。

复制、移动、链接

明显地,从命令行修改和处理文件有很多的方式,而不仅仅是处理它们的权限。当你试图打开一个不存在的文件是,大多数应用会创建一个新文件。如果 test.txt 当前并不存在,下列命令:

nano test.txt
vim test.txt

nanovim 是流行的命令行文本编辑器)都将为你创建一个空的 test.txt 文件来编辑。

你可以通过 “触摸” (touch)来创建一个空的文件,

touch test.txt

会创建一个文件,但是不会在任何应用中打开它。

你可以使用 cp 来拷贝一个文件到另一个位置,或者使用一个不同的名字:

cp test.txt copy_of_test.txt

你也可以拷贝一堆文件:

cp *.png /home/images

上面的命令拷贝当前目录下的所有 PNG 文件到相对你的主目录下的 images/ 目录。在你尝试之前 images/ 目录必须存在, 不然 cp 将显示一个错误。同样的,警惕,当你复制一个文件到一个已经包含相同名字的文件的目录时,cp 会静默地用新文件覆盖老的文件。

你可以使用:

cp -i *.png /home/images

如果你想要 cp 命令在有任何危险时警告你 (-i 选项代表交互式的)。

你同样可以复制整个目录,但是为了做到这样,你需要 -r 选项:

cp -rv directory_a/ directory_b

-r 选项代表递归,意味着 cp 会向下探索目录 directory_a,复制所有的文件和子目录下内部包含的。我个人喜欢包含 -v 选项,因为它使 cp 冗长而啰嗦,意味着它会显示你当前它正在做什么而不是仅仅静默的复制然后存在。

mv 命令移动东西。也就是说,它移动文件从一个位置到另一个位置。最简单的形式,mv 表现的更像 cp

mv test.txt new_test.txt

上面的命令使 new_test.txt 出现,test.txt 消失。

mv *.png /home/images

移动当前目录下所有的 PNG 文件到相对于你的主目录的 images/ 目录。同样的你必须小心你没有意外的覆盖已存在的文件。使用

mv -i *.png /home/images

如果你想站在安全的角度,你可以使用与 cp 相同的方式。

除了移动与拷贝的不同外,另一个 mvcp 之间的不同是当你移动目录时:

mv directory_a/ directory_b

不需要添加递归的标志。这是因为你实际做的是重命名一个目录,与第一个例子相同,你做的是重命名文件。实际上,即使你从一个目录到另一个目录 “移动” 一个文件,只要两个目录在相同的存储设备和分区,你就是在重命名文件。

你可以做一个实验来证明。 time 是一个工具来让你测量一个命令花费多久来执行。找一个非常大的文件,可以是几百 MB 甚至 几 GB (例如一个长视频),像下方这样尝试拷贝到另一个目录:

$ time cp hefty_file.mkv another_directory/
real 0m3,868s
user 0m0,016s
sys 0m0,887s

下面是 time 的输出。需要关注的是第一行, real 时间。它花费了几乎 4 秒来拷贝 355 MB 的 hefty_file.mkvanother_directory/ 目录。

现在让我们尝试移动它:

$ time mv hefty_file.mkv another_directory/
real 0m0,004s
user 0m0,000s
sys 0m0,003s

移动几乎是瞬时的!这是违反直觉的,因为看起来 mv 必须复制这个文件然后删除原来的。这是 mv 对比 cp 命令必须做的两件事。但是,实际上,mv 快了 1000 倍。

这是因为文件系统结构中,它的所有目录树,只为了让用户便利而存在。在每个分区的开始,有一个称作分区表的东西告诉操作系统在实际的物理磁盘上去哪找每个文件。在磁盘上,数据没有分为目录甚至是文件。作为替代的是轨道、扇区和簇。当你在相同分区 “移动” 一个文件时,操作系统实际做的仅仅是在分区表中改变了那个文件的入口,但它仍然指向磁盘上相同的簇信息。

是的!移动是一个谎言!至少在相同分区下是。如果你试图移动一个文件到一个不同的分区或者不同的设备, mv 仍然很快,但可以察觉到它比在相同分区下移动文件慢了。这是因为实际上发生了复制和清除数据。

重命名

有几个不同的命令行 rename 工具。没有一个像 cpmv 那样固定,并且它们工作的方式都有一点不同,相同的一点是它们都被用来改变文件名的部分。

在 Debian 和 Ubuntu 中, 默认的 rename 工具使用 正则表达式(字符组成的字符串模式)来大量的改变目录中的文件。命令:

rename 's/\.JPEG$/.jpg/' *

将改变所有扩展名为 JPEG 的文件为 jpg。文件 IMG001.JPEG 变成 IMG001.jpgmy_pic.JPEG 变成 my_pic.jpg,等等。

另一个 rename 版本默认在 Manjaro 上可获得,这是一个 Arch 的衍生版,更简单,但是可能没有那么强大:

rename .JPEG .jpg *

这和你之前看到的上面做相同的重命名操作。在这个版本,.JPEG 是你想改变的字符组成的字符串,.jpg 是你想要改变成为的,* 表示当前目录下的所有文件。

基本原则是如果你所做的仅仅是重命名一个文件或者目录,你最好用 mv,这是因为 mv 在所有分发版上都是可靠一致的。

了解更多

查看 mvcp 的 man 页面了解更多。运行

man cp

或者 man mv

来阅读这些命令自带的所有选项,这些使他们使用起来更强大和安全。


via: https://www.linux.com/blog/2018/8/linux-beginners-moving-things-around

作者:Paul Brown 选题:lujun9972 译者:warmfrog 校对:wxy

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

许多数据中心的工作者很满意他们的工作,将鼓励他们的孩子继续从事这份工作

$
0
0

一份 Informa Engage 和 Data Center Knowledge 的报告调查发现,在数据中心工作的人很满意他们的工作,因此他们将会鼓励他们的孩子从事这份工作。

Thinkstock

一份由 Informa Engage 和 Data Center Knowledge 主导的调查报告显示,数据中心的工作者总体上对他们的工作很满意。尽管对时间和大脑的要求很高,但是他们还是鼓励自己的孩子能从事这项工作。

总体满意度非常好,72% 的受访者普遍同意“我喜欢我目前的工作”这一说法,三分之一的受访者则表示非常同意。75% 的人同意声明,“如果我的孩子、侄女或侄子问,我将建议他们进入 IT 行业。”

在数据中心工作的员工之中,有一种很重要的感觉,88% 的人觉得他们自己对于雇主的成功非常重要。

尽管存在一些挑战,其中最主要的是技能和认证的缺乏。调查的受访者认为缺乏技能是最受关注的领域。只有 56% 的人认为他们需要完成工作所需的培训,74% 的人表示他们已经在 IT 行业工作了十多年。

这个行业提供认证计划,每个主要的 IT 硬件供应商都有,但是 61% 的人表示在过去的 12 个月里他们并没有完成或者重新续订证书。有几个原因:

三分之一(34%)说是由于他们工作的组织缺乏培训预算,而 24% 的人认为是缺乏时间,16% 的人表示管理者认为不需要培训,以及另外 16% 的人表示在他们的工作地点没有培训计划。

这并不让我感到惊讶,因为科技是世界上最开放的行业之一,在那里你可以找到培训和教育材料并自学。已经证实了许多程序员是自学成才,包括行业巨头比尔·盖茨、史蒂夫·沃兹尼亚克、约翰·卡马克和杰克·多尔西。

数据中心工作者们的薪水

数据中心工作者不会抱怨酬劳。当然,大部分不会。50% 的人每年可以赚到 $100,000 甚至更多,然而 11% 的人赚的少于 $40,000。三分之二的受访者来自于美国,因此那些低端收入人士可能在国外。

有一个值得注意的差异。史蒂夫·布朗是伦敦数据中心人力资源的总经理,他说软件工程师获得的薪水比硬件工程师多。

布朗在这篇报道中说,“数据中心软件工程方面的工作可以与高收入的职业媲美,而在物理基础设施——机械/电气方面的工作——情况并非如此。它更像是中层管理。”

数据中心的专业人士仍然主要是男性

最不令人惊讶的发现?10 个受访者中有 9 个是男性。该行业正在调整解决性别歧视问题,但是现在没什么改变。

这篇报告的结论有一点不太好,但是我认为是错的:

“随着数据中心基础设施完成云计算模式的过渡,软件进入到容器和微服务时代,数据中心剩下来的珍贵领导者——在 20 世纪获得技能的人——可能会发现没有任何他们了解的东西需要管理,也没有人需要他们领导。当危机最终来临时,我们可能会感到震惊,但是我们不能说我们没有受到警告。"

我说过了很多次,数据中心不会消失


via: https://www.networkworld.com/article/3389359/most-data-center-workers-happy-with-their-jobs-despite-the-heavy-demands.html

作者:Andy Patrizio 选题:lujun9972 译者:arrowfeng 校对:wxy

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

每日安全资讯:开发人员发现被称为“盗梦空间栏”的网络钓鱼方法

$
0
0

据外媒 Neowin 报道,网络钓鱼并不是一个关于网络安全的新话题,尽管经常会发现新的和创造性的方法来实施这种做法。其中一种方式是新发现并巧妙地被命名为“盗梦空间栏”的网络钓鱼方法。

由开发人员 James Fisher 提供,这个相当简单的技巧已在 Chrome 移动版中得到证明,并利用了浏览器在地址栏方面的行为。当用户向下滚动时,为了给网页留出更多空间,Chrome 会隐藏地址栏,而这正是这个所谓的“盗梦空间栏”的用武之地。

如上所述,概念证明使用汇丰网站作为用户所在的真实网站的替代品。这是通过 Fisher 称之为“滚动监狱”的东西来完成的,其中页面的整个内容被困在一个带有 overflow:scroll 的新元素中,从而在浏览器中创建一种浏览器 —— 对 2010 年的《盗梦空间》的“梦中梦”的概念的引用。虚假地址栏甚至可以进行交互。

为了创造一个更精细的错觉,开发人员表示,具有恶意意图的人可能会在“滚动监狱”的顶部添加“非常高的填充元素”。这样做是为了防止 Chrome 在用户向上滚动时重新显示地址栏的正常行为。实际上,这看起来像页面刷新。

虽然通过简单地导航到 Chrome 的一个菜单就可以打破错觉,但这仍然被认为是一种令人不安的实施网络钓鱼攻击的方式。

来源:cnBeta.COM

更多资讯

涉案金额 2.3 亿 春节档电影侵权盗版系列专案侦破

公安部今天在江苏扬州召开新闻发布会,通报公安部部署开展打击春节档电影侵权盗版违法犯罪活动、成功办“2·15”系列专案工作情况。今年春节期间《流浪地球》《飞驰人生》《疯狂的外星人》等几部热播电影上映后,出现了大规模盗版,不仅严重侵害了影视作品制作方、出品人的合法权益,而且严重影响了我国影视行业提质升级发展。

来源: 央视财经

详情: http://t.cn/ESI1T1M 

法国新区块链法规定银行不能随意拒绝为虚拟货币初创公司提供服务

据外媒报道,在发达国家中,法国对加密货币和区块链公司监管的新做法可以说是前卫的。或许最引人注目的例子就是,法国金融市场监管机构(AMF)起草的监管框架,其目的是消除此类初创企业长期以来面临的一个争议点:银行关系。

来源: cnBeta.COM
详情: http://t.cn/ESI1u95 

iPod 之父:苹果屏幕时间功能存在很多漏洞和不足

4 月 29 日消息,据国外媒体报道,苹果近日在屏幕时间应用方面陷入了麻烦之中,其被外媒报道对大量的第三方这一类应用进行了限制,部分还被其从 App Store 中移除,部分开发商认为苹果此举是为了打压竞争对手,以扶持自家的屏幕时间控制功能,两款应用的开发商还因此而将苹果投诉至欧盟的竞争办公室。

来源: TechWeb

详情: http://t.cn/ESI1Dkh 

GoDaddy 宣布移除 1.5 万个涉嫌销售假冒产品的欺诈子域名

网络托管服务提供商和域名注册商 GoDaddy 宣布已删除下架超过 15000 个子域名。这些子域名被黑客用于发送垃圾邮件,向消费者出售假冒伪劣产品。用户通常会收到各种宣传产品的垃圾邮件,如果受害者点击这些电子邮件中的链接,就会跳转访问托管在合法网站下的子域名,在该网站合法所有者不知情的情况下牟取利益。

来源: cnBeta.COM

详情: http://t.cn/ESIBZxB 

(信息来源于网络,安华金和搜集整理)


Apache 基金会将其所有项目迁移至 GitHub

$
0
0

Apache 基金会(ASF)正式宣布,该基金会已经将其旗下的 350 多个项目、多达 2 亿行的代码从内部的 Git 基础设施迁移至 GitHub。

作为全球最大的开源基金会,ASF 拥有 730 名个人 ASF 成员Member和超过 7000 名的 Apache 代码提交者Commiter,在其 20 年的历史当中,已经通过 300 万个代码提交累计贡献了多达 10 亿行的代码。

Apache 项目最初在 ASF 基础设施中提供了两种版本控制服务:Apache Subversion 和 Git。而多年来,越来越多的项目及其社区希望在 GitHub 上看到他们的源代码。但是由于这些代码在 GitHub 只是只读的镜像,因此在这些代码存储库上只能使用有限的 GitHub 工具。

“2016 年,基金会开始将 GitHub 的代码存储库和工具与我们自己的服务集成在一起。这使得部分选定的项目能够使用 GitHub 的优秀工具,”ASF 基础设施管理员 Greg Stein 说。 “随着时间的推移,我们改进、调试并巩固了这种集成。在 2018 年末,我们要求所有项目从我们内部的 git 服务转移到 GitHub 提供的服务。这种转变会将 GitHub 所有的工具带到我们的项目中,而我们在我们的基础设施上维护一个备用镜像。”

GitHub CEO Nat Friedman 表示:“我们很自豪能让开源社区这么长期的成员转移到 GitHub。……无论是与个人开源维护者和贡献者,还是与一些世界上最大的开源基金会(如 Apache)合作,GitHub 的使命是通过支持开源社区,满足他们的独特需求和帮助开源来成为所有开发人员的家,让项目茁壮成长。”

在 2019 年 2 月,迁移到 GitHub 的工作已经完成,ASF 自己的 git 服务退役。

“我们将继续试验和扩展 GitHub,以根据我们自己的需求和要求为我们的社区提供服务,”Stein 补充道。 “基金会已经开始与 GitHub 管理层密切合作,探索实现这一目标的方法,以及将来可能实现的目标。”

4 种在 Linux 中检查默认网关或者路由器 IP 地址的方法

$
0
0

你应该意识到你的默认网关是你的路由器的 IP 地址。一般这是在安装过程中由操作系统自动检测的,如果没有,你可能需要改变它。如果你的系统不能 ping 自身,那么很可能是一个网关问题,你必须修复它。在网络中,当你有多个网络适配器或路由器时,这种情况可能会发生。

网关是一个扮演着入口点角色的路由器,可以从一个网络传递网络数据到另一个网络。

下面是一些可能帮助你收集到与该话题相似的一些信息。

这可以通过下面的四个命令完成。

  • route 命令:被用来显示和操作 IP 路由表。
  • ip 命令:类似于 ifconfig,常用于设置静态 IP 地址、路由 & 默认网关,等等。
  • netstat 命令:是一个命令行工具,用来显示网络连接相关的信息(包括入站和出站的),例如路由表、伪装连接、多播成员和网络接口。
  • routel 命令:被用来以好看的输出格式列出路由。

1)在 Linux 中如何使用 route 命令检查默认的网关或者路由 IP 地址?

route 命令被用来显示和操作 IP 路由表。

它主要用于通过一个已经配置的接口给特定的主机或者网络设置静态的路由。

当使用 add 或者 del 选项时,route 修改路由表。没有这些选项,route 显示路由表的当前内容。

# route
或
# route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         www.routerlogin 0.0.0.0         UG    600    0        0 wlp8s0
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp8s0

2)如何在 Linux 中使用 ip 命令检查默认网关或者路由 IP 地址?

IP 命令 类似于 ifconfig,常用于配置静态 IP 地址、路由 & 默认网关,等等。

ifconfig 命令因为多年没有维护而被遗弃了,即使它仍然在大多数 Linux 发行版上可获得。

ifconfig 命令已经被 ip 命令替代了,ip 命令是非常强大的,只要一个命令就能执行几个网络管理任务。

ip 命令工具附带在 iproute2 包中。在主要的 Linux 发行版中都默认预装了 iproute2 。

如果没有,你可以在你的终端中在包管理器的帮助下通过指定 iproute2 来安装它。

# ip r
或
# ip route
或
# ip route show

default via 192.168.1.1 dev wlp8s0 proto dhcp metric 600
192.168.1.0/24 dev wlp8s0 proto kernel scope link src 192.168.1.6 metric 600

3)如何在 Linux 中使用 netstat 命令检查默认网关或者路由 IP 地址?

netstat 代表 Network Statistics,是一个用来显示网络连接相关的信息(包括入站和出站)的命令行工具,例如路由表、伪装连接,多播成员和网络接口。

它列出所有的 tcp、udp 套接字连接和 unix 套接字连接。

它在网络中被用来诊断网络问题并判断网络中的流量总量来作为性能测量指标。

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         www.routerlogin 0.0.0.0         UG        0 0          0 wlp8s0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp8s0

4)如何在 Linux 中使用 routel 命令检查默认网关或者路由 IP 地址?

它用来以好看的输出格式列出路由信息。这些程序是一系列你可以用来替代 iproute2 的帮助脚本(routelroutef)。

routel 脚本以一种被认为更容易解释并且等价于 route 输出列表的格式来输出路由信息。

如果 routef 脚本不加任何参数,将仅仅简单的将路由表清空。小心!这意味着删除所有的路由,让你的网络不再可用。

# routel
         target            gateway          source    proto    scope    dev tbl
        default        192.168.1.1                     dhcp          wlp8s0
   192.168.1.0/ 24                     192.168.1.6   kernel     link wlp8s0
      127.0.0.0          broadcast       127.0.0.1   kernel     link     lo local
     127.0.0.0/ 8            local       127.0.0.1   kernel     host     lo local
      127.0.0.1              local       127.0.0.1   kernel     host     lo local
127.255.255.255          broadcast       127.0.0.1   kernel     link     lo local
    192.168.1.0          broadcast     192.168.1.6   kernel     link wlp8s0 local
    192.168.1.6              local     192.168.1.6   kernel     host wlp8s0 local
  192.168.1.255          broadcast     192.168.1.6   kernel     link wlp8s0 local
            ::1                                      kernel              lo
        fe80::/ 64                                   kernel          wlp8s0
            ::1              local                   kernel              lo local
fe80::ad00:2f7e:d882:5add              local                   kernel          wlp8s0 local
        ff00::/ 8                                                    wlp8s0 local

如果你只想打印默认的网关那么使用下面的格式。

# routel | grep default
        default        192.168.1.1                     dhcp          wlp8s0

via: https://www.2daygeek.com/check-find-default-gateway-or-router-ip-address-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:warmfrog 校对:wxy

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

忠诚与背叛:Emacs 遭遇背刺,你将何去何从?

$
0
0

昨天,一名推特用户“EmacsTW”发布了一条新的推文,告诫希望使用 Emacs 的人放弃 Emacs,转用一些现代化的编辑器比如 VSCode。

一时间,技术圈炸了锅,尤其是在 Emacs 用户群体,大家议论纷纷:

  • “中出了个叛徒”
  • “什么鬼?虽然我现在 VSCode 用的也比 Emacs 多,但说 Emacs 害人有点过了”
  • “哼哼哼… VSCode 又不能煮咖啡、不能玩遊戲”
  • “哈哈哈哈太突然了。作为一个 Emacs 使用者觉得他说的很有道理,我也从来不向他人推荐 Emacs,太浪费时间了。”
  • “我司如果只看 Vim vs. Emacs 的话,Vim 完胜,但是大部分还是 VSCode……” 

一个 Emacs 忠实粉丝眼中的 Emacs 背刺事件

由于笔者本人并不是 Emacs 的粉丝(Vim 更合我的口味,XD),所以我去采访了 LCTT 翻译组内的 Emacs 铁粉,我们的选题负责人 DarkSun(lujun9972),问一问他的看法。

当我问起这个背刺的事件时,DarkSun 给我的第一个反应是:

欢迎背叛,舒服就成

在我表现出了不解之后,DarkSun 又进一步详细的解释了一下他的意思:

我觉得如果只是把 Emacs 当成写代码的工具,那真的不如用 IDE 了。

我把 Emacs 当成是工具信息交流的平台,类似终端那样的东西。Emacs 插件可以看成是 UNIX 工具,它们之间可以通过文本或 lisp 对象进行交流,只不过 Emacs 可以比普通终端更方便的利用这些文本(谁让它本来就是编辑器呢)。 举个例子说,我可以用 Emacs 看 PDF 文档,然后看到不懂的单词可以用有道词典进行翻译,翻译的结果可以直接存到 Anki 里当做背单词的素材。在这个过程中,Emacs 本身起的是信息交流平台的作用,至于解释 PDF、请求有道翻译,请求 anki 添加卡片都是由第三方程序或第三方的包来实现的。

一百个人有一百零一种使用 Emacs 的方法,我想 Emacs 的这种多样性才是其魅力所在吧。

在看了他对 Emacs 的理解以后,再联想到“Emacs煮咖啡”的梗,我对他的话深以为然。

Emacs 是什么?

目前我们所熟悉和使用的 Emacs 是由自由软件领袖 Richard Matthew Stallman (RMS)于 1984 年开发的,并维护至 2008 年。

Emacs 追求大的哲学,它希望在一个编辑器中去完成所有的功能,希望用户只需要借助快捷键与无处不在的宏,就可以完成任何事情,也正因为如此,Emacs 常常被戏称为“被误以为编辑器的操作系统”,而不是一个编辑器。

新旧技术的更迭

不可否认,近年来 VSCode 的良心功能和 Sublime Text 3 的舒适好用,使得越来越多的人开始使用这些现代化的开发工具。而对于一些比较重型的语言(比如 C/C++、Java、Golang 等),会借助 IDE 来完成开发的工作。

对于 Emacs 这样一个似乎是文本编辑器但好像又不是文本编辑器的工具来说,现代化的开发工具显然更能获取年轻人的喜爱。

不过,如果可以,我更希望说 “Emacs 不是一个工具,而是代表了一种生活方式”,在 Emacs 里,你可以完成任何事情,它就好像融入你的生活一般,改变了你的生活。从这个层面来看,Emacs 无人能敌。

被钉在耻辱柱上的社群背叛者 —— azazabc123

抛开 Emacs 和 VScode 的孰优孰劣不谈,就该推特维护者本身的行为来说,这是一种非常不妥的行为,这让 Emacs TW 社群蒙羞于整个技术社群。这种公器私用毫无疑问是背叛了整个社群,作为社群对外窗口的维护者,发布一条与本社群背道而驰的内容难免会让人觉得不妥。而且,这种行为使得对于 Emacs 的背叛行为从个人行为上升到了群体行为,Emacs TW 中的其他人是否同意这样的行为,还不甚明了——但笔者对该社团的管理能力和未来的前途不报什么期望。

笔者非常不支持这种公器私用的行为,固然其可能存在一定的吐槽、任性的想法,但对于整个社群而言,这种无脑行为只会损伤社群整体的信用度,也降低了对其个人的品行评价。

英雄迟暮?

诞生于 1984 年的 Emacs,迄今已经走过了 35 个年头。Emacs 从曾经的风头正劲,到如今已经略显包罗庞杂。不过,虽然经过了这么多年发展,Emacs 已经足够好用,但依然在坚持不断地更新。在刚刚过去的四月份,Emacs 发布了它的 26.2 版本。

Emacs 依然好用,但时代已经变了,对于如今的 Hacker 们,工具不是最重要的,工具所产生的价值要更加重要。在这种观念下,学习成本极高的 Emacs 难免不受欢迎,简单易用易上手的 VSCode、Sublime 就成为了必然的选择。

但无论如何,虽然我们欢迎新技术,也拥抱新变化,但是该推特维护者的这种让社区蒙羞的行为,依然让我们非常遗憾,表以谴责。

每日安全资讯:微软 Outlook 邮件服务被入侵细节:目标可能是数字货币

$
0
0

本月早些时候,微软透露它的 Outlook.com、Hotmail 和 MSN 服务遭到未知攻击者入侵。现在,部分受害者声称黑客窃取了他们的加密数字货币。一位受害者提供了屏幕截图,称黑客访问了他的收件箱,重置了他的 Kraken [dot] com 账号,撤回了比特币。

Kraken 是一个受欢迎的数字货币交易所。这位受害者展示了微软的通知以及黑客在其邮箱设置的转发规则:所有提到 Kraken 的邮件都被转发到了黑客控制的 Gmail 邮箱。

但目前还无法确认此次入侵是否真的针对数字货币。

来源:solidot.org

更多资讯

破解版电视盒调查:隐藏在盗版资源背后的严重安全隐患

援引安全机构 Sophos 报道,互联网安全组织数字公民联盟(DCA)近日发布报告称很多深受盗版用户青睐的破解版流媒体设备充斥着各种恶意软件。这些破解设备通过 eBay、Craigslist 或暗网等渠道进行销售,价格在 75 美元到 100 美元之间。

来源: cnBeta.COM

详情: http://t.cn/ESoeu6x 

阿联酋领衔全球加密货币市场 今年前四月销售超 2.1 亿美元

彭博援引 CoinSchedule 的报告称,阿联酋刚刚成为了全球数字代币市场的一枝独秀。在截止今年 4 月初的募资总额中,该国就贡献了 1/4 以上。数字货币市场追踪者 CoinSchedule 上周公布的数据显示,阿联酋的销售额已超 2.1 亿美元,从市场的长期领导者(美国)手中夺过了第一的名号。作为对比,自 2018 年以来,美国市场在最近几个月,首次跌到了第 7 位。

来源: cnBeta.COM

详情: http://t.cn/ESoeDSZ 

2018 年近 40% 网络流量来自机器人

网络安全服务商 Distil Networks 近期发布了关注自动化网络流量现状的 2019 年 Bad Bot 报告,该报告指出在 2018 年,由机器人产生的网络流量占到了所有流量的 37.9%。报告中提及的机器人流量包含两种情况:合法机器人与恶意机器人产生的流量。

来源: 开源中国

详情: http://t.cn/ESoD7YJ  

网络交易监督管理办法征求意见:收集消费者个人信息不得用一次性授权方式 

4 月 30 日,网络交易监督管理办法公开征求意见,征集意见的时间至 5 月 29 日。《电子商务法》已于 2019 年 1 月 1 日起正式实施,市场监管总局在修改《网络交易管理办法》(原工商总局令第60号)基础上,起草了《网络交易监督管理办法(征求意见稿)》。《办法(征求意见稿)》共6章70条,包括总则、网络交易经营者、消费者权益保护、监督管理、法律责任、附则,重点对“用户信息收集使用保护问题”等进行了修改、补充、完善。

来源: 北青网

详情: http://t.cn/ESoDUzy 

(信息来源于网络,安华金和搜集整理)

清华大学开源软件镜像站推出一键使用服务,将来或支持 42 操作系统

$
0
0

清华大学开源软件镜像站 是国内著名的开源软件镜像站,在去年某个节日推出了“一键使用 TUNA”服务,并发布了一篇热情洋溢的公告,特此将此服务及公告分享给大家: XD

# 号外:现推出“一键使用TUNA”服务

2018-04-01  TUNA Staff

随着 TUNA 协会的现代化建设进入新时代,镜像站面临的主要矛盾已经转化为用户日益增长的高速下载需要和各类软件不简单不直观的配置之间的矛盾。只有正确认识这一主要矛盾,才能确定正确的战略、策略、政策和办法,促进矛盾解决,推动 TUNA 协会进步。

必须认识到,TUNA 主要矛盾的变化,是关系全局的历史性变化,对协会工作提出了许多新要求。在新任会长 Xavier Yao (a.k.a. Pero) 的带领下,TUNA 协会的同学们勇于担当,攻坚克难,开发出了适应时代潮流、贴合用户需要的新一代工具“一键使用 TUNA” 脚本,又名 oh-my-tuna 。它目前支持更改下列软件的配置,将其直接指向 TUNA 镜像站:

  • Anaconda
  • Arch Linux
  • TeX Live (by tlmgr)
  • Debian GNU/Linux
  • Homebrew
  • PyPI
  • Ubuntu Linux

您可以选择仅更改当前用户的配置,也可以更改全局配置。如果不满意,随时可以撤销这些更改。这一切,只需要一行命令:python oh-my-tuna.py !

项目托管在 TUNA 主页 上,您也可以访问 GitHub 阅读源码、获取更详细的说明,也欢迎各位对本项目作出贡献!

在将来,我们的目标是将其支持的系统/软件范围进一步扩展到(包括且不限于):

  • TUNA 镜像的尽可能多的系统/软件
  • MacrohardTM WindogeTM
  • 42

TUNA 成员要紧密团结在会长周围,高举开源精神伟大旗帜,锐意进取,埋头苦干,为实现推进镜像站建设、完成 Linux 发行版统一、维护开源界和平与促进共同发展三大历史任务,为决胜全面建成中国最好的镜像站、夺取新时代开源精神伟大胜利、实现社区伟大复兴的开源梦、实现用户对高速下载的向往继续奋斗!

Viewing all 9060 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>