2020年8月

使用 .gitignore 文件是提高代码和 Git 仓库质量的最佳实践之一。

我注意到很多开发者没有使用 .gitignore 文件,尽管使用 .gitignore 文件来指定你不希望 Git 在版本控制中跟踪的文件是最佳实践之一。.gitignore 可以提高代码质量,所以你不应该忽略版本库中的 .gitignore

什么是 .gitignore?

Git 仓库中的文件可以是:

  1. 未跟踪的:未被暂存或提交的变更。
  2. 跟踪的:已暂存或提交的变更。
  3. 忽略的:你让 Git 忽略的文件。

有些文件你希望 Git 忽略,不要在你的版本库中跟踪它,这些文件包括许多自动生成的或特定于平台的文件,以及其他本地配置文件,如:

  1. 含有敏感信息的文件
  2. 编译出的代码,如 .dll.class
  3. 系统文件,如 .DS_StoreThumbs.db
  4. 含有临时信息的文件,如日志、缓存等。
  5. 生成的文件,如 dist 文件夹。

如果你不想让 Git 跟踪版本库中的某些文件,不过这不能通过 Git 命令做到。(虽然你可以用 git rm 命令停止跟踪一个文件,比如 git rm --cached。)相反,你需要使用 .gitignore 文件,这是一个告诉 Git 不要跟踪哪些文件的文本文件。

创建 .gitignore 文件很简单,只需创建一个文本文件并命名为 .gitignore。记得在文件名的开头有一个点(.)。就这样就完成了。

编写 .gitignore 文件的规则

根据文档,“.gitignore 文件中的每一行都指定了一个模式。”

在此上下文中,“模式”可以指一个特定的文件名,或者指文件名的某些部分结合上通配符。换句话说,example.txt 是匹配名为 example.txt 的文件的有效模式,而 ex*txt 是匹配名为 example.txt 以及 export.txt 的文件的有效模式。

以下是一些帮助你正确设置 .gitignore 文件的基本规则:

  1. 任何以哈希(#)开头的行都是注释。
  2. \ 字符可以转义特殊字符。
  3. / 字符表示该规则只适用于位于同一文件夹中的文件和文件夹。
  4. 星号(*)表示任意数量的字符(零个或更多)。
  5. 两个星号(**)表示任意数量的子目录。
  6. 一个问号(?)代替零个或一个字符。
  7. 一个感叹号(!)会反转特定的规则(即包括了任何被前一个模式排除的文件)。
  8. 空行会被忽略,所以你可以用它们来增加空间,使你的文件更容易阅读。
  9. 在末尾添加 / 会忽略整个目录路径。

本地与全局 .gitignore 文件的比较

有两种类型的 .gitignore 文件:

  • 本地:放在 Git 仓库的根目录下,只在该仓库中工作,并且必须提交到该仓库中。
  • 全局:放在你的主目录根目录下,影响你在你的机器上使用的每个仓库,不需要提交。

很多开发者在项目仓库中使用本地的 .gitignore 文件,但很少有人使用全局的 .gitignore 文件。使用全局文件最显著的优势是,你不需要提交就可以使用它,而且做一个改动会影响你所有的版本库。

Git 忽略的优势

除了确保特定的文件不被 Git 追踪之外,使用 .gitignore 文件还有其他好处。

  1. 通过忽略不需要的文件,它可以帮助你保持代码库的干净。
  2. 它可以控制代码库的大小,这在你正在做一个大项目的时候特别有用。
  3. 你的每一次提交、推送和拉取请求都将是干净的。

结束语

Git 很强大,但归根结底,它只是一个计算机程序而已。使用最佳实践并保持你的代码仓库稳定是一个团队的努力,其中要做到一件事就是使用 .gitignore 文件。


via: https://opensource.com/article/20/8/dont-ignore-gitignore

作者:Rajeev Bera 选题:lujun9972 译者:wxy 校对:wxy

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

PDF Mix Tool 是一个简单、轻巧的开源 PDF 编辑应用,可让你从 PDF 中提取页面、合并两个 PDF、从 PDF 中删除页面等。

PDF Mix Tool:一个简单的开源 PDF 编辑工具

几个可以在 Linux 中使用的 PDF 编辑器,我通常将它们分为两类:

  • 可让你编辑内容(注释、高亮、更改文本、添加/删除图像等)的 PDF 编辑器,
  • 可让你通过合并、分割、提取页面等来修改文件的 PDF 编辑器。

PDF Mix Tool 属于第二类。它是用 C++ 和 Qt5 编写的开源软件。它可让你合并两个或更多 PDF 文件,并为每个文件指定页面,还有旋转页面、添加空白页、删除页面以及从 PDF 文件提取页面。

在本周的开源软件亮点中,让我们看一下使用 PDF Mix Tool。

使用 PDF Mix Tool 在 Linux 中编辑 PDF

PDF Mix Tool 并没有很多功能,但是有一些非常重要的功能。

合并 PDF 文件

你可以轻松合并多个 PDF 文件,同时指定确切的页面。它让你能够调整页面数、旋转,还能使用 “ 交替混合 Alternate mix ” 反转页面顺序合并。

你只需要单击 “ 添加 PDF 文件 Add PDF File ” 添加文件,然后使用可用的选项对其进行编辑(如上图所示),最后生成编辑的 PDF。

旋转页面

你可以在合并多个文件或仅对单个 PDF 文件进行操作时旋转 PDF 文件的页面。

对于合并文件,你可以参考上面的截图。但是当你选择一个文件时,它看上去像这样:

你有多种选择,但是要旋转页面,需要选择 “ 编辑页面布局 Edit page layout ” 选项,如上截图所示。

添加或删除页面

要从其他 PDF 文件添加新页面,最好利用此选项。

但是,如果要添加空白页,你可以选择一个文件进行添加。不只是添加空白页面,还可以删除特定页面。下面的截图圈出了高亮选项:

从 PDF 文件提取页面

除了所有其他选项之外,你还可以从给定的 PDF 文件中提取特定页面(或全部)。你还可以为所有提取的页面生成一个新的 PDF 文件,或者为提取的每个页面制作单独的 PDF 文件。在许多场景中,它应该派上用场。

其他功能

利用上面所有功能,你可以生成自己选择的全新 PDF,颠倒顺序、提取页面、制作单独的 PDF 文件等等。

它不会减小 PDF 文件的大小。你必须使用其他工具在 Linux 中压缩 PDF 文件

因此,当你组合使用可用选项时,它是功能丰富的工具。

在 Linux 上安装 PDF Mix Tool

PDF Mix Tool 存在于 Snap 和 Flatpak 软件包中。这意味着如果发行版支持这任意一种,你都可以在软件管理器中找到它。

或者,如果你启用了 Snap 软件包支持,那么可以使用以下命令进行安装:

sudo snap install pdfmixtool

如果你想使用 Flatpak,那么使用:

flatpak install flathub eu.scarpetta.PDFMixTool

如果你使用的是 Arch Linux,那么可以从社区仓库中获取。

sudo pacman -S pdfmixtool

你也可以选择查看它的 GitLab 页面获取源码。

总结

它可能不是功能最丰富的 PDF 编辑工具,但考虑到它是轻量级的开源工具,因此它是已安装的应用中非常有用的。过去我们也介绍过类似的工具 PDF Arranger。你可能会想了解一下。

你如何看待它?你有尝试过么?在下面的评论中让我知道你的想法。


via: https://itsfoss.com/pdf-mix-tool/

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

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

数据显示目前全球游戏玩家数量已超过 30 亿

DFC Intelligence 发布报告,截至今年年中,全球游戏玩家人口目前已经超过了 30 亿。有近一半的玩家只使用智能手机玩游戏,亚洲地区只使用移动游戏市场的规模是最大的。即便如此,在 PC 游戏方面,中国也是参与度最高的国家,拥有 3 亿用户,其次是印度的近 1.5 亿。2023 年游戏行业将突破 30 亿用户,收入将达 2000 亿美元。亚洲是付费游戏消费者的主要地区,达到 14.2 亿人。

来源:cnBeta.COM

拍一拍:这里也有很多中国游戏厂商的“功劳”啊。

Ubuntu 18.04.5 和 16.04.7 LTS 发布

Ubuntu 18.04.5 从 Ubuntu 20.04 引入了更新的硬件支持堆栈,因此可在较新的硬件平台上正常运行。Ubuntu 18.04.5 服务器版本则默认使用较旧的内核,但也可以轻松切换到更新的 HWE 内核。Ubuntu 16.04.7,此次更新不会带来任何新的硬件支持堆栈,而是重点专注于交付最新的安全软件包更新和其他修复程序。

来源:开源中国

拍一拍:不知道还有多少人继续使用老版本,甚至连点版本都不升级?

Google 继续尝试在 Chrome 86 中隐藏完整网址

Google 多次尝试在浏览器地址栏隐藏完整的网址,搜索巨人也许是认为长地址是邪恶的。它的每一次尝试都遭到了批评,但这并没有阻止了它继续推进这一计划。支持者认为隐藏完整域名将有助于增加钓鱼的难度,但批评者认为此举旨在让用户一直停留在 Google 内容上,而它将能展示更多的广告。

来源:solidot

拍一拍:个人感觉利弊参半吧,但是 Chrome 的重点难道不该是如何解决占内存问题么?

诀窍就是同一个错误不要犯两次。

到目前为止,我已做了十多年 Fedora 贡献者。 Fedora 有一个由开发者和用户组成的大型社区,其中每一个人,不管是极富洞察力的用户还是出色的程序员,都有一些独有的技能。我喜欢这样的社区,因为它能激励我培养自己的新技能。

对我来说,培养技能最好的方法就是犯错,比如把事情搞得一团糟。犯什么样的错误不重要,因为相比错误本身,我在脱离困境的过程里学习到了什么更重要。

为什么犯错误是好事

我依然记得我犯的第一个计算机错误。我家的第一台电脑是我叔叔升职后送个我们的爱普生笔记本电脑,它有一个特别快的 10 MHz 处理器,因为太重了,所以还有一个手提把手。我很喜欢它。

它运行 DOS,但有一个基于文本的菜单应用,所以对新手用户比较友好。硬盘菜单有十个“页面”,每个“页面”可以配置十个命令。我们有一个游戏页面,还有一个页面放些“无聊的东西”,比如文字处理程序和电子表格等等。

硬盘菜单还有一些其他功能,当我玩腻了游戏,就会去探索它们。有一天,我决定使用菜单的账户功能。账户不会改变出现的应用程序,但在某种程度上,可以防止对应用程序未经授权的访问。你可以直接跳到 DOS 中取代它,但使用账户仍然是一个不错的尝试。

我为自己、父母和妹妹创建了账户。虽然我父母有点不开心,但他们最终迁就了我。万事顺遂了一段时间后,妹妹忘记了她的账户密码。于是,我父母让我删掉她的密码,但是没有妹妹的密码去登录账户,我就无法删除她的密码(那是在 90 年代初,一个比现在简单得多的时代)。要怎么办?要怎么办?

那以后一段时间,我们一直试着猜测密码,直到有一天,我决定尝试做一些我还没有做过的事情。当我第一次创建帐户时,我设置了一个主密码。如果我输入主密码来代替我妹妹的密码,会发生什么呢?

如果你在想,“这当然不会有用的”,那么显然你不熟悉 90 年代安全策略的天真幼稚。有了主密码(顺便说一下,主密码是 “worf” ,指的是企业号星舰的克林贡人安全主管,如果你不是《星际迷航:下一代》粉丝的话),我可以删除所有密码。于是,家里的每个人又都可以毫无障碍地使用电脑了。

试运行的重要性

在那之后,我又犯了更大更有益的错误。比如,在我第一次做系统管理员时,当时我正整理一些数据以重新配置存储阵列。有一次,我意外地颠倒了源路径和目标路径,而且那是一个带有 ——delete 标志的 rsync 命令。真的是太糟糕了!

幸运的是,我自己的账户也崩溃了,这让我的道歉更容易被其他受影响的用户接受。对我们所有人来说更幸运的是,我们有备份。所以那天结束的时候,每个人的文件都找回来了,我还学到了一个宝贵的教训,那就是在进行破坏性同步之前,先使用 --dry-run 标志试运行。

以正确的方式处理错误

我不介意犯错误。这些年来,我积累了很多实践经验,学到的诀窍就是不要犯同样的错误。从错误中学习能让我在技能和事业上取得进步,并发现新的会犯的错误。作为 Linux 系统管理员,我总是试图在一个安全的环境(测试平台就很好)中犯错误,确保我可以从错误中恢复(备份真的非常非常重要!),并给以后的我留个笔记,这样他就不会重复犯错(文档是你的朋友)。当然,还要勇于承认自己的错误,并在出现问题时清楚地与用户沟通。如果我一直这样做,也许有一天我就会觉得我很清楚我在做什么!


via: https://opensource.com/article/20/8/sysadmin-mistakes

作者:Ben Cotton 选题:lujun9972 译者:Starryi 校对:wxy

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

在树莓派上运行 Fedora。

树莓派基金会这几年来生产了很多型号。本文的安装过程已经在第三代树莓派上进行了测试:3B v1.2B+(较旧的 树莓派 2 和新的 树莓派 4 都还没有测试)。这些是已经发布了几年的信用卡大小的树莓派。

获取硬件

你需要一些硬件组件,包括树莓派。你不需要任何 HaT(安装在顶部的硬件) 板或 USB 天线。如果你使用过树莓派,那么可能会有这些。

  • 当前网络。也许是你的家庭实验室。
  • 网线。连接当前网络到树莓派
  • 树莓派 3,型号 B 或 B+。
  • 电源
  • 8 GB 或更大容量的 micro-SD 卡
  • 键盘显示器

键盘和显示器共同组成本地控制台。即使没有控制台,也能进行操作(尽管很复杂),例如设置自动安装然后通过网络连接。在 Fedora 首次启动时,本地控制台可轻松回应配置问题。同样,在 AP 配置期间出错可能会破坏网络配置,从而阻止远程用户连入。

下载 Fedora Minimal

Fedora Minimal 镜像是 Fedora 的其他可选下载之一,它有所有必需的核心软件包和网络软件包(嗯,是几乎,注意下面的 dnsmasq)。该镜像包含一个现成的文件系统,它已经安装了 400 多个软件包。此最小镜像不包括流行的软件包,像开发环境、互联网服务或桌面。这些类型的软件不是这里所必需的,如果安装它们,可能会占用过多的内存。

Fedora Minimal 原始镜像可安装在小型 SD 卡上,并在少于 1GB 的内存中运行(这些旧的树莓派有 1GB 的内存)。

下载文件的名称类似于 Fedora-Minimal-32-1.6.aarch64.raw.xz。该文件已压缩,大小约为 700MB。文件解压缩后为 5GB。这是一个 ext4 文件系统,它大部分是空的:已使用约 1GB,空余 4GB。这些空的空间是压缩文件比未压缩的原始文件小得多的原因。

复制到 micro-SD 卡

  • 将镜像复制到 micro-SD 卡。

这可能比听起来更复杂,而且会带来痛苦的体验。找到一个良好的 micro-SD 卡需要花费精力。然后是将卡插到计算机的挑战。也许你的笔记本电脑有全尺寸的 SD 卡插槽,你还需要卡适配器,或者你需要一个 USB 适配器。然后,在进行复制时,操作系统可能会帮助你,也可能会妨碍你。你可能很幸运有 Fedora Media Writer,或使用这些 Linux 命令:

unxz ./Fedora-Minimal-32-1.6.aarch64.raw.xz
dd if=./Fedora-Minimal-32-1.6.aarch64.raw of=/dev/mmcblk0 bs=8M status=progress oflag=direct

安装 Fedora

  • 连接树莓派、电源线、网线和 micro-SD 卡。
  • 打开电源。
  • 当图形芯片通电时,看见彩色框。
  • 等待 anaconda 安装程序启动。
  • 回答 anaconda 的设置问题。

操作系统的初始配置需要几分钟的时间。等待启动需要花费几分钟,还需要花费一些时间填写 anaconda 的文本安装程序的问题。在下面的例子中,用户名为 nick,并且还是管理员(wheel 组的成员)。

恭喜你!你的树莓派已启动并可运行。

更新软件

  • dnf update 更新软件包。
  • 通过 systemctl reboot 重启。

多年来,很多人为使树莓派正常工作付出了很多工作。使用最新的软件,以确保你从他们的辛勤工作中受益。如果你跳过此步骤,你可能会发现有些东西无法正常工作。

此次更新下载并安装了约一百个软件包。由于存储设备是 micro-SD 卡,因此写入新软件的过程很慢。这就是 90 年代使用存储器的感觉。

可以摆弄的东西

如果你想摆弄的话,此时可以设置其他一些内容。这都是可选的。试试这些。

  • sudo hostnamectl set-hostname raspi 替换 localhost 主机名。
  • ip addr 查找 IP 地址。
  • 尝试 SSH 登录,甚至使用 ssh-copy-id 设置基于密钥的登录。
  • 使用 systemctl poweroff 关机。

via: https://fedoramagazine.org/install-fedora-on-a-raspberry-pi/

作者:Nick Hardiman 选题:lujun9972 译者:geekpi 校对:wxy

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

Facebook 加入 Linux 基金会,成为白金会员

社交巨人 Facebook 加入了 Linux 基金会,成为白金会员。作为白金会员,Facebook 开源负责人 Kathy Kam 将加入基金会的董事会。Facebook 向很多开源项目贡献了代码,如 React JS项目,它也是 Linux 基金会托管的项目 Presto、GraphQL、Osquery 和 ONNX 的主要贡献者。

来源:solidot

拍一拍:原来才加入啊。

日本货轮触礁燃油泄漏原因查明:或因船员想靠岸连 Wi-Fi

近日,一艘装载了约 200 吨柴油和 3800 吨船用燃料油日本货轮在在途经毛里求斯东南海域时触礁,随后造成货轮船体出现破裂,导致大量燃料油泄漏,毛里求斯宣布进入环境紧急状态。8 月 14 日,据媒体报道,责营运该货轮的公司针对这起事故进行了调查,初步调查结果显示货轮触礁的原因可能是因为船员想将船靠近陆地,方便连上 Wi-Fi。

来源:快科技

拍一拍:这事是 Wi-Fi 的锅吗?

在京津冀、长三角等具备条件试点地区开展数字人民币试点

商务部发布关于印发全面深化服务贸易创新发展试点总体方案的通知。在“全面深化服务贸易创新发展试点任务、具体举措及责任分工”部分提出:在京津冀、长三角、粤港澳大湾区及中西部具备条件的试点地区开展数字人民币试点。

来源:商务部

拍一拍:谨慎乐观地看待这件事。