2020年7月

Linux 硬件公司抨击苹果的网络摄像头安全建议

苹果公司近日告诉用户不要在 MacBook 上使用摄像头盖,因为这种做法最终会损坏设备,并使某些功能无法工作。该公司表示,MacBook 用户可以简单地依靠摄像头指示灯判断摄像头是否处于活动状态。一家 Linux 电脑公司 Purism 说。“苹果的做法是要求客户将所有的信任和控制权交给苹果,并依靠苹果来保证所有的安全。Purism 的做法是让客户控制自己的电脑,并提供安全保障,而不依赖 Purism。”

来源:softpedia

拍一拍:这本质上是自由开源思想和专有商业方式的区别。

美国联邦法院:将比特币定义为“货币”

美国联邦地区法院表示,根据华盛顿特区(D.C.)法律,比特币被定义为“货币”,虚拟货币比特币是华盛顿特区《货币传输者法》所涵盖的一种“货币”。联邦法院拒绝驳回针对一家地下比特币交易平台运营商的刑事指控,理由是该地下比特币交易平台经营无牌汇款业务,并从事洗钱。

来源:新浪财经

拍一拍:从加密通证领域的角度来看,这其实不是一件好事,而且将通证的意义限定在一个很小的范围。

设置你的控制台,以便你能知道身处哪个目录和该做什么

我使用 GNOME 终端,主要是因为它是我的发行版的默认设置。但是我终端内远非“默认值”。在我开始解释如何自定义它之前,它现在是这个样子:

 title=

从底部开始

我使用终端多路复用技术 tmux 管理我的终端体验。

在上图的底部,你可以看到我的绿色 tmux 栏。底部的 [3] 表示它是第三个终端:每个终端都运行自己的 tmux 会话。(我创建了一个新会话来放大字体,这样可在截图中更容易看到;这是它与其他终端之间的唯一区别。)

提示符看起来也很有趣,对吧?在提示符中塞入了太多信息后,我喜欢插上一个换行符,这样一来,如果我想即兴进行 shell 编程或编写一个传递了五次的管道,也不会超出屏幕界限。这样做的代价是简单的命令序列(新建、复制、移动)会更快地滚动出我的屏幕。

行末是 阿列夫零 Aleph null 字符,它是最小的无穷基数。我希望内容行的结束很明显,并且当我意识到“阿列夫”和下标 0 都是 Unicode 字符时,我无法抗拒使用“阿列夫零”作为提示符的一部分的诱惑。(数学极客们,团结起来!)

在此之前是我的用户名。由于我在不同用户名的多台计算机上使用相同的点文件(保存在 Git 中),因此这个还算有用。

在我的用户名之前,是我所在目录的最后一部分。完整路径通常太长且无用,而当前目录对于像我这样的经常忘记在做什么人来说是很有用的。在此之前是机器的名称。我所有的机器都以我喜欢的电视节目命名。我的旧笔记本是 mcgyver

提示符中的第一位是我最喜欢的:一个让我知道目录的 Git 状态的字母。如果目录为“不在 Git 中”,那么是 G。如果目录为“没有问题”(OK),且无需任何操作,那么是 K。如果有 Git 未知的文件需要添加或忽略,那么是 !。如果需要提交,那么是 C。如果没有上游,那么是 U。如果存在上游,但我没有推送,那么是 P。该方案不是基于当前状态,而是描述了我要做的下一个动作。(要回顾 Git 术语,请阅读本文。)

终端功能是通过一个有趣的 Python 程序完成的。它运行 python -m howsit(在我把 howsit 安装在虚拟环境中之后)。

你可以在上图中看到渲染效果,但是为了完整起见,这是我的 PS1

[$(~/.virtualenvs/howsit/bin/python -m howsit)]\h:\W \u ℵ₀  
$

via: https://opensource.com/article/20/7/tmux-git

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

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

你更专注于安全性还是软件交付,还是可以两者兼得?

技术社区中存在一种趋势,经常互换地使用 DevSecOps 和敏捷软件开发这两个术语。尽管它们有一些相似性,例如都旨在更早地检测风险,但在改变团队的工作方式层面有很大不同

DevSecOps 建立在敏捷开发建立的一些原则上。但是,DevSecOps 特别专注于集成安全功能,而敏捷开发则专注于交付软件。

知道如何保护你们的网站或应用程序免受勒索程序和其他威胁的侵害,实际上取决于你使用的软件和系统开发。这可能会影响你选择使用 DevSecOps、敏捷软件开发还是两者兼而有之。

DevSecOps 和敏捷软件开发的不同之处

两者的主要区别可以归结为一个简单的概念:安全性。这取决于你的软件开发实践,你们公司的安全措施 —— 以及何时、何地以及由谁实施,都可能会有很大不同。

每个企业都需要 IT 安全来保护其重要数据。如果企业真正重视 IT 安全,一般都会采取虚拟专用网(VPN)、数字证书、防火墙保护、多因子身份验证、安全的云存储,包括向员工介绍基本的网络安全措施。

当你信任 DevSecOps 时,你就会把公司的安全问题,本质上使其等同于持续集成和交付。 DevSecOps 方法论在开发之初就强调安全性,并使其成为整体软件质量不可或缺的组成部分。

基于 DevSecOps 安全性的三大原则:

  • 平衡用户访问难易程度及数据安全性
  • 使用 VPN 和 SSL 加密数据可防止数据在传输过程中受到入侵者的攻击
  • 使用可以扫描新代码的安全漏洞并能通知开发人员该漏洞的工具来预测防范未来的风险

尽管 DevOps 一直打算包含安全性,但并非每个实践 DevOps 的组织都牢记这一点。DevSecOps 在 DevOps 的演进形式中,可以提供更加清晰的信息。尽管它们的名称相似,但这两个[不应混淆] 6。在 DevSecOps 模型中,安全性是团队的主要驱动力。

同时,敏捷开发更专注于迭代开发周期,这意味着反馈意见会不断融入到持续的软件开发中。敏捷的关键原则是拥抱不断变化的环境,为客户和使用者提供竞争优势,让开发人员和利益相关者紧密合作,并在整个过程中始终保持关注技术卓越,以提升效率。换句话说,除非敏捷团队在其定义中包括安全性,否则安全性在敏捷软件开发中算是事后思考。

国防机构面临的挑战

如果要说专门致力于最大程度地提高安全性的组织,美国国防部(DoD)就是其中之一。在 2018 年,美国国防部发布了针对软件开发中的“假敏捷”或“以敏捷为名”的指南。该指南旨在警告美国国防部高管注意不良编程的问题,并说明如何发现它以避免风险。

使用这些方法不仅可以使美国国防部受益。医疗保健和金融部门也保存着必须保证安全的大量敏感数据。

美国国防部通过其现代化战略(包括采用 DevSecOps)来改变防范形式至关重要。尤其在这个连美国国防部容易受到黑客攻击和数据泄露的时代,这一点在 2020 年 2 月的大规模数据泄露中已经得到了证明。

将网络安全最佳实践转化为现实生活中的开发仍然还存在固有的风险。事情不可能 100% 完美地进行。最好的状况是稍微有点不舒服,最坏的情况下,它们可能会带来全新的风险。

开发人员,尤其是那些为军用软件编写代码的开发人员,可能对所有应该采用 DevSecOps 的情境没有透彻的了解。学习曲线会很陡峭,但是为了获得更大的安全性,必须承受这些必不可少的痛苦。

自动化时代的新模式

为了解决对先前安全措施日益增长的担忧,美国国防部承包商已开始评估 DevSecOps 模型。关键是将该方法论部署到持续的服务交付环境中。

应对这个问题,出现了三个方向。第一种涉及到自动化,自动化已在大多数隐私和安全工具中广泛使用,包括 VPN 和增强隐私的移动操作系统。大型云基础架构中的自动化无需依赖于人为的检查和平衡,可以自动处理持续的维护和进行安全评估。

第二种专注于对于过渡到 DevSecOps 很重要的安全检查点。而传统上,系统设计初期对于数据在各个组件之间移动时依旧可以访问是不做期望的。

第三种也是最后一种涉及将企业方式用于军用软件开发。国防部的许多承包商和雇员来自商业领域,而不是军事领域。他们的背景为他们提供了为大型企业提供网络安全的知识和经验,他们可以将其带入政府部门职位中。

值得克服的挑战

转向基于 DevSecOps 的方法论也提出了一些挑战。在过去的十年中,许多组织已经完全重新设计了其开发生命周期,以适应敏捷开发实践,在不久之后进行再次转换看起来令人生畏。

企业应该安下心来,因为即使美国国防部也遇到了这种过渡带来的麻烦,他们在应对推出新流程使得商业技术和工具广泛可用的挑战上并不孤独。

展望一下未来,其实切换到 DevSecOps 不会比切换到敏捷软件开发更痛苦。而且通过将创建安全性的价值添加到开发工作流程中,以及利用现有敏捷开发的优势,企业可以获得很多收益。


via: https://opensource.com/article/20/7/devsecops-vs-agile

作者:Sam Bocetta 选题:lujun9972 译者:windgeek 校对:wxy

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

DIY 一个数码相框,图片流来自云端。

数码相框真的很好,因为它可以让你查看你自己的相片而不必打印出来。更棒的是,当你想要展示一张新的相片的时候,增加和删除数字图片要比打开传统的相框然后替换里面的相框更简单。不过,这还是需要一点手动的操作,比如从数字相框取出 SD 卡、U 盘或者其他的存储介质,然后把存储介质接入电脑,接着再复制图片进入存储介质。

一个更简单的选项是数字相框通过 WiFi 获得图片,例如从云端服务器获得。下面就是如何制作这样的一个数字相框。

需要使用的材料

  • 老式 TFT 的 LCD 显示屏
  • HDMI 到 DVI 的转接线(因为 TFT 屏幕支持 DVI)
  • 树莓派 3
  • Micro SD 卡
  • 树莓派的电源
  • 键盘
  • 鼠标(可选)

使用线缆连接树莓派到显示器,并连接电源。

安装 Raspbian

按照以下指示下载并将 Raspbian 烧录到 Micro SD 卡中。将 Micro SD 卡插入树莓派,启动它,并配置你的 WiFi。在安装完 Raspbian 后,我的第一个操作通常是运行 sudo raspi-config。在那里,我在网络选项中更改主机名(例如,改为 picframe),并在接口选项中启用 SSH 以远程连接到树莓派。使用(例如)ssh pi@picframe 连接到树莓派。

建立并安装云客户端

我使用 Nextcloud 来同步我的图片,但是你可以使用 NFS、Dropbox,或者其他的适合你的需求的方式上传图片到相框。

如果你使用 Nextcloud,请按照以下说明在 Raspbian 上安装客户端。这可以很方便的放图片到你的相框,并且你可能很熟悉安装在台式机的这个客户端应用。当连接客户端到 Nextcloud 服务器上的时候,请确保只选择存储你要在相框上显示的图片的文件夹。

设置幻灯片放映

我发现设置幻灯片放映最简单的方式是使用一个专门为这个目的建立的轻量级的幻灯片项目。还有一些备用方案,像是配置屏保,这个应用似乎是最最简单设置幻灯片放映的方式了。

在你的树莓派上下载最新的二进制程序,解包并移动到一个可执行的文件夹里:

wget https://github.com/NautiluX/slide/releases/download/v0.9.0/slide_pi_stretch_0.9.0.tar.gz
tar xf slide_pi_stretch_0.9.0.tar.gz
mv slide_0.9.0/slide /usr/local/bin/

安装依赖关系:

sudo apt install libexif12 qt5-default

通过执行下面的命令播放幻灯片(不要忘记修改图片的路径)。如果你通过 SSH 访问你树莓派,设置 DISPLAY 变量来在连接到树莓派显示屏上开始播放幻灯片。

DISPLAY=:0.0 slide -p /home/pi/nextcloud/picframe

自动播放幻灯片

为了在 Raspbian Stretch 上自动播放幻灯片,建立如下的文件夹并且添加一个 autostart 文件到里面:

mkdir -p /home/pi/.config/lxsession/LXDE/
vi /home/pi/.config/lxsession/LXDE/autostart

在文件中输入如下的命令来自动开启幻灯片。slide 命令可以调整到你需要的地方:

@xset s noblank
@xset s off
@xset -dpms
@slide -p -t 60 -o 200 -p /home/pi/nextcloud/picframe

禁止屏幕空白,树莓派通常会在 10 分钟后这样做,通过编辑下面的文件修改:

vi /etc/lightdm/lightdm.conf

添加这两行到文件末尾:

[SeatDefaults]
xserver-command=X -s 0 -dpms

配置上电时间

你可以安排你的相框什么时候打开和关闭通过使用两个简单的定时任务。例如,你想在上午 7 点自动打开,在晚上 11 点自动关闭。运行 crontab -e 并且输入下面的两行:

0 23 * * * /opt/vc/bin/tvservice -o
0 7 * * * /opt/vc/bin/tvservice -p && sudo systemctl restart display-manager

注意这不会打开或关闭树莓派的电源;这只会关闭 HDMI,它会关闭屏幕。第一行命令将在晚上 11 点关闭 HDMI。第二行将在早上 7 点打开显示屏并重启显示器管理器。

附言

通过这些简单的步骤,你创建了你自己 WiFi 相框。如果你想要让它更好看,为显示屏做一个木质相框吧。


via: https://opensource.com/article/19/2/wifi-picture-frame-raspberry-pi

作者:Manuel Dewald 选题:lujun9972 译者:this-is-name-right 校对:wxy

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

唯品会 Saturn 插件因未声明上游项目版权而被拒

22 日晚,Apache SkyWalking 创始人吴晟在朋友圈中指出,因违反开源协议要求,SkyWalking 只能暂时拒绝针对唯品会 Saturn 项目的插件需求。吴晟称,“Saturn 是 fork 自 ElasticJob,并更改了版权信息,这是一个非常严重的许可证问题……我们都不能正式接受它作为 Apache SkyWalking 的一部分”。

来源:开源中国

拍一拍:在参与和贡献开源项目时,忽视或对开源许可证的无知,都是投入开源生态的重大阻碍,是需要认真学习的一课。

谷歌再推 Kotlin:代码量比 Java 减少 80%

Google Home 团队现身说法,通过自身经历,展示了 Kotlin 开发的好处。截至今年六月,该应用中约有 30% 的代码采用 Kotlin 编写,今后的新功能也被鼓励用 Kotlin 进行开发。Kotlin 编程语言 2011 年由 JetBrains 推出,2012 年开源,2017 年成为 Android 官方开发语言,并于 2019 年成为 Andoid 开发官方首选语言。

来源:开源中国

拍一拍:Java 被爆锤,但是这依然不能影响 Java 的统治地位。

蚂蚁区块链正式升级为“蚂蚁链”:全球区块链专利排名第一

7月23日,蚂蚁集团董事长井贤栋在杭州宣布,蚂蚁区块链正式升级为“蚂蚁链”。井贤栋在发布会上分享了蚂蚁链已取得的三个关键成绩:在技术上,蚂蚁链连续四年每年全球专利申请数始终保持在第 1 名;在应用上,蚂蚁链已经助力解决了 50 多个实际场景的信任问题;在商业上,蚂蚁链目前每天“上链量”超过 1 亿次。

来源:搜狐IT

拍一拍:专利数量其实不重要,关键性专利才是重点。

IEEE Spectrum 2020 年编程语言排行:Cobol 榜上有名

IEEE Spectrum 编程语言排行榜一年发布一次,今年是其发布的第七年。Python 再度蝉联榜首,并且在各类不同的权重下都保持领先地位。Java 和 C 语言也依旧排名第二和第三。今年,受疫情影响,美国政府需要处理大量失业给付,但难以应付 Cobol 编写的老旧系统,因此,很多已退休的 Cobol 又返回来协助维护系统,Cobol 的创始团队还在网上公开了教程和学习资源。

来源:开源中国

拍一拍:Cobol 的重新还魂实在是无法言表。

Ubuntu 19.10 Eoan Ermine 产品寿命结束。这意味着它不会获得任何安全或维护更新。继续使用 Ubuntu 19.10 将很危险,因为你的系统将来可能会因为缺少安全更新而变得脆弱。你应该升级到 Ubuntu 20.04。

2019 年 10 月发布的 Ubuntu 19.10 带来了一些为 Ubuntu 20.04 做准备的新功能。

作为非 LTS 版本,它有 9 个月的寿命。截至 2020 年 7 月 17 日,它的生命周期结束,并不会再收到任何更新。

Ubuntu 19.10 生命周期结束

我之前已经详细解释了 Ubuntu 的发布周期和产品寿命结束。如果此后继续使用 Ubuntu 19.10,我会重申这对你和你的系统意味着什么。

软件通常有预定义的生命周期,一旦软件版本到达生命周期结束,它将停止获取更新和支持。生命周期结束后,Ubuntu 19.10 不再会从 Ubuntu 获得系统更新、安全更新或应用更新。

如果你继续使用它,你的系统可能会成为潜在的网络攻击的受害者,因为黑客往往会利用脆弱的系统。

之后,你可能无法使用 apt 命令安装新软件,因为 Ubuntu 将归档 19.10 的仓库。

如果你使用的是 Ubuntu 19.10,该怎么办?

首先,检查你使用的 Ubuntu 版本。这可以在终端中输入此命令完成:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.10
Release: 19.10
Codename: Eoan

如果你看到 Ubuntu 19.10,你应该做以下两项工作之一:

  • 如果你有良好、稳定的互联网连接,从 Ubuntu 19.10 升级到 20.04。你的个人文件和大多数软件保持不变。
  • 如果你有着缓慢或不稳定的互联网连接,你应该全新安装的 Ubuntu 20.04。你的文件和磁盘上的所有内容将被擦除,因此你应该在外部磁盘上备份重要数据。

如何从 19.10 升级到 20.04 (如果你有良好的互联网连接)

我之前已经详细讨论了 Ubuntu 版本升级。我会在这里快速说下步骤。

首先,请确保在“软件和更新”中已设置接收新版本通知。

进入“软件和更新”:

进入“更新”选项卡,将“通知我新的 Ubuntu 版本”设置为“对于任何新版本”:

现在,安装所有挂起的更新。

现在,再次运行更新管理器工具。你应该可以选择升级到 Ubuntu 20.04。点击升级按钮并按照说明操作。

它会安装大约 1.2GB 的软件包。这就是为什么你需要一个良好和稳定的互联网连接。

这样的升级会保持你的家目录。不过,仍建议在外部磁盘进行备份。

你仍在使用 Ubuntu 19.10 吗?

如果你仍在使用 Ubuntu 19.10,那么必须为升级或全新安装做好准备。你不能忽视它。

如果你不喜欢这样的频繁版本升级,你应该使用支持五年的 LTS 版本。当前的 LTS 版本是 Ubuntu 20.04,你无论如何都应该升级到它。

你是否正在使用 Ubuntu 19.10?你是否已升级到 Ubuntu 20.04?如果你面临任何问题,或者如果你有任何问题,请让我知道。


via: https://itsfoss.com/ubuntu-19-10-end-of-life/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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