2022年7月

Ubuntu 22.04 LTS 是迄今为止最好的 Ubuntu 版本之一。是什么让它如此安全?

ubuntu 22.04

早在今年 4 月就发布了的 Ubuntu 22.04 LTS,是迄今为止最安全的 Ubuntu 版本。

其安全更新的延长支持、新的硬件支持和其他林林总总的改进,使它在安全方面远远超过了之前的所有版本。

但它是如何做到这一点的呢?还有,是什么让这个版本与以前的版本不同的呢?

嗯,有几个原因,Canonical 在一篇新的博客文章中为我们重点指出了这些。在这里,让我总结一下,以帮助你了解更多。

是什么让 Ubuntu 22.04 LTS 变得安全?

在这个版本中,Ubuntu 团队似乎投入了大量的工作来确保其长期的安全性和可靠性。尽管多年来他们以难以想象的方式做到了这一点,但我将强调其中的几件事:

  • 改进的硬件安全措施支持
  • 更新了安全包
  • 私有家目录
  • OpenSSL 3
  • GCC 11
  • nftables 作为默认的防火墙后端
  • Linux 内核改进

1、改进的硬件安全措施支持

随着英特尔、AMD 和 ARM 的 CPU/SoC 开始推出更多的安全措施,拥有足够的软件来让这些功能发挥作用就变得越来越重要。

截至目前,Ubuntu 22.04 支持三种主要的硬件安全措施。

英特尔的 “ 软件保护扩展 Software Guard eXtensions ”(SGX)提供了一个安全独立的区域来进行敏感计算。例如,理想情况下,密码处理将在这里进行,因为它确保没有其他应用程序可以访问这些数据。

还有 AMD 的“ 安全加密虚拟化 Secure Encrypted Virtualization ”(SEV)。这项技术旨在防止主机操作系统干扰正在运行的虚拟机。

尽管这与桌面用户的相关性不如其他技术,但要知道,很多数据中心的基础设施都依赖虚拟机来实现应用的容器化。总的来说,此类针对硬件的安全措施应该会加强对桌面和服务器用户的保护。

2、Linux 内核安全的改进

随着 Ubuntu 的每一次发布,Linux 内核都会得到升级,提供了许多有用的功能和支持。

但是,这一次,Canonical 推出了针对不同的平台的优化内核版本。对于 OEM 认证的桌面设备,它提供了 Linux 内核 5.17

而对于所有的桌面和服务器用户,可以使用 Linux 内核 5.15 LTS

不仅仅限于这个概念,在 博文 中提到的一些基本内核安全增强措施包括:

  • 支持 核心调度,它允许进程控制哪些线程可以在 SMT 同级之间调度,以便让它们保护敏感信息,而不泄露给系统中其他不受信任的进程。
  • 内核堆栈随机化提供了一种加固措施,以挫败希望在内核内进行内存破坏攻击的攻击者。
  • BPF 子系统也有一些安全方面的增强,包括默认情况下限制为只有特权进程可以使用,以及对签名的 BPF 程序的初步支持。
  • 新的 Landlock Linux 安全模块的加入为应用程序沙箱提供了另一种机制,可以通过 AppArmor 或 SELinux 与更传统的方式结合使用。

总之,所有这些改进使 Ubuntu 22.04 LTS 成为开发者、用户和系统管理员的更安全的选择。

3、更新的安全软件包

让我们从技术性的安全概念退后一步,回到每个 Ubuntu 用户都应该已经熟悉的概念:软件包。每一个新的 Ubuntu 版本,软件库中的大多数软件包都会更新,以带来更好的安全性和新功能。

尽管对于 Ubuntu 22.04 来说,这并不完全是新的东西,但这确实包括了很多安全方面的更新。这方面的例子包括 openSSL 3 和 GCC 11。

4、OpenSSL 3

OpenSSL 是所有安全通信的支柱。

考虑到包括 MD2 和 DES 在内的许多传统算法已经被废弃并默认禁用,OpenSSL 3 作为一个重大的升级特别值得关注。

因此,除非用户特别想使用不太安全的算法,否则你将在默认情况下获得最好的安全性。

5、GCC 11

另一方面,GCC 是许多开发者用来将他们的代码变成可以在你的计算机上运行的程序的编译器。

它带来了许多改进,但有一项特别显著地提高了安全性。静态分析得到了极大的加强,使开发人员能够更快地发现软件的漏洞,在第一步就防止有漏洞的代码被发布。

这可能不会直接影响到用户,许多开发人员使用 Ubuntu 来开发他们的应用程序。因此,你下载的很多程序,即使在非 Ubuntu 系统上,也应该比以前更安全。

6、私有家目录

作为一个传统上以桌面为重点的发行版,Ubuntu 经常选择方便而不是安全。然而,随着他们越来越努力地推动云计算的采用,这种情况必须改变。

以前,任何有权限进入电脑的人都可以打开并查看任何用户的家目录。然而,你可以想象,这给非桌面用户带来了很多问题。因此,需要改变为私有家目录。

对于多用户系统来说,这可能稍显不方便,但这可以相对容易地改变。而且,对于那些不太熟悉技术的人来说,他们不需要做任何事情就可以得到更好的安全保障。

7、nftables 作为默认防火墙后端

25 年来,防火墙一直是将你的计算机与更广泛的互联网隔离开来的一个关键部分。这些年来,Linux 发行版通常使用两种不同的防火墙解决方案:iptables 和 xtables。

然而,近些年来,一种不同的解决方案进入了人们的视野:nftables。它提供了显著的性能和灵活性的改进,使网络管理员能够更好地保护你的设备。

总结

毋庸置疑,Ubuntu 22.04 LTS 做了很多不错的升级。不仅仅是用户体验,它在安全方面也是一个重大的飞跃。

当然,还有更多,但上面提到的改进是很好的成就!

关于更多的技术细节,你可以查看这篇 Ubuntu 的官方博客文章


via: https://news.itsfoss.com/reasons-ubuntu-22-04-secure/

作者:Jacob Crume 选题:lkxed 译者:wxy 校对:wxy

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

学习如何用静态链接库将多个 C 目标文件结合到一个单个的可执行文件之中。

使用 C 编写的应用程序时,通常有多个源码文件,但最终你需要编译成单个的可执行文件。

你可以通过两种方式来完成这项工作:通过创建一个 静态 static 库 或 一个 动态 dynamic 库(也被称为 共享 shared 库)。从创建和链接的方式来看,它们是两种不同类型的库。选择使用哪种方式取决于你的的具体场景。

上一篇文章 中,我演示了如何创建一个动态链接的可执行文件,这是一种更通用的方法。在这篇文章中,我将说明如何创建一个静态链接的可执行文件。

使用静态库链接器

链接器 linker 是一个命令,它将一个程序的多个部分结合在一起,并为它们重新组织内存分配。

链接器的功能包括:

  • 整合一个程序的所有的部分
  • 计算出一个新的内存组织结构,以便所有的部分组合在一起
  • 恢复内存地址,以便程序可以在新的内存组织结构下运行
  • 解析符号引用

链接器通过这些功能,创建了一个名称为可执行文件的一个可运行程序。

静态库是通过复制一个程序中的所有依赖库模块到最终的可执行镜像来创建的。链接器将链接静态库作为编译过程的最后一步。可执行文件是通过解析外部引用、将库例程与程序代码结合在一起来创建的。

创建目标文件

这里是一个静态库的示例以及其链接过程。首先,创建带有这些函数识别标志的头文件 mymath.h :

int add(int a, int b);
int sub(int a, int b);
int mult(int a, int b);
int divi(int a, int b);

使用这些函数定义来创建 add.csub.cmult.cdivi.c 文件。我将把所有的代码都放置到一个代码块中,请将其分为四个文件,如注释所示:

// add.c
int add(int a, int b){
return (a+b);
}

//sub.c
int sub(int a, int b){
return (a-b);
}

//mult.c
int mult(int a, int b){
return (a*b);
}

//divi.c
int divi(int a, int b){
return (a/b);
}

现在,使用 GCC 来生成目标文件 add.osub.omult.odivi.o

(LCTT 校注:关于“ 目标文件 object file ”,有时候也被称作“对象文件”,对此,存在一些译法混乱情形,称之为“目标文件”的译法比较流行,本文采用此译法。)

$ gcc -c add.c sub.c mult.c divi.c

-c 选项跳过链接步骤,而只创建目标文件。

创建一个名称为 libmymath.a 的静态库,接下来,移除目标文件,因为它们不再被需要。(注意,使用一个 trash 命令比使用一个 rm 命令更安全。)

$ ar rs libmymath.a add.o sub.o mult.o divi.o
$ trash *.o
$ ls
add.c  divi.c  libmymath.a  mult.c  mymath.h  sub.c

现在,你已经创建了一个名称为 libmymath 的简单数学示例库,你可以在 C 代码中使用它。当然,也有非常复杂的 C 库,这就是他们这些开发者来生成最终产品的工艺流程,你和我可以安装这些库并在 C 代码中使用。

接下来,在一些自定义代码中使用你的数学库,然后链接它。

创建一个静态链接的应用程序

假设你已经为数学运算编写了一个命令。创建一个名称为 mathDemo.c 的文件,并将这些代码复制粘贴至其中:

#include <mymath.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int x, y;
  printf("Enter two numbers\n");
  scanf("%d%d",&x,&y);
 
  printf("\n%d + %d = %d", x, y, add(x, y));
  printf("\n%d - %d = %d", x, y, sub(x, y));
  printf("\n%d * %d = %d", x, y, mult(x, y));

  if(y==0){
    printf("\nDenominator is zero so can't perform division\n");
      exit(0);
  }else{
      printf("\n%d / %d = %d\n", x, y, divi(x, y));
      return 0;
  }
}

注意:第一行是一个 include 语句,通过名称来引用你自己的 libmymath 库。

针对 mathDemo.c 创建一个名称为 mathDemo.o 的对象文件:

$ gcc -I . -c mathDemo.c

-I 选项告诉 GCC 搜索在其后列出的头文件。在这个实例中,你通过单个点(.)来指定当前目录。

链接 mathDemo.olibmymath.a 来生成最终的可执行文件。这里有两种方法来向 GCC 告知这一点。

你可以指向文件:

$ gcc -static -o mathDemo mathDemo.o libmymath.a

或者,你可以具体指定库的路径及名称:

$ gcc -static -o mathDemo -L . mathDemo.o -lmymath

在后面的那个示例中,-lmymath 选项告诉链接器来链接对象文件 mathDemo.o 和对象文件 libmymath.a 来生成最终的可执行文件。-L 选项指示链接器在下面的参数中查找库(类似于你使用 -I 所做的工作)。

分析结果

使用 file 命令来验证它是静态链接的:

$ file mathDemo
mathDemo: ELF 64-bit LSB executable, x86-64...
statically linked, with debug_info, not stripped

使用 ldd 命令,你将会看到该可执行文件不是动态链接的:

$ ldd ./mathDemo
        not a dynamic executable

你也可以查看 mathDemo 可执行文件的大小:

$ du -h ./mathDemo
932K    ./mathDemo

在我 前一篇文章 的示例中,动态链接的可执行文件只占有 24K 大小。

运行该命令来看看它的工作内容:

$ ./mathDemo
Enter two numbers
10
5

10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2

看起来令人满意!

何时使用静态链接

动态链接可执行文件通常优于静态链接可执行文件,因为动态链接会保持应用程序的组件模块化。假如一个库接收到一次关键安全更新,那么它可以很容易地修补,因为它存在于应用程序的外部。

当你使用静态链接时,库的代码会“隐藏”在你创建的可执行文件之中,意味着在库每次更新时(相信我,你会有更好的东西),仅有的一种修补方法是重新编译和发布一个新的可执行文件。

不过,如果一个库的代码,要么存在于它正在使用的具有相同代码的可执行文件中,要么存在于不会接收到任何更新的专用嵌入式设备中,那么静态连接将是一种可接受的选项。


via: https://opensource.com/article/22/6/static-linking-linux

作者:Jayashree Huttanagoudar 选题:lkxed 译者:robsean 校对:turbokernel

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

谷歌编程之夏(GSoC)是一个谷歌举办的国际年度项目,每年都在夏季举办。当贡献者们参与并完成一个 自由开源软件 的编码项目,谷歌 就会给他们发放 津贴。谷歌编程之夏于 2005 年推出,于每年 5 月至 8 月举行。项目创意由参与开源软件开发的主办组织提交,但学生也可以提出自己的项目创意。

今年,该项目向 18 岁或以上的任何人开放 —— 不仅限于学生和应届毕业生了。参与者通过编写软件获得报酬,其 津贴 的金额取决于他们所在国家/地区的 购买力平价

LCTT 译注:以往,这个活动只允许在校学生参与,今年条件放开,只需年龄 18+ 即可,对参与者的贡献时长要求也降低了,尽可能地让更多人参与进来。不过,今年的报名通道在 4 月 19 日就截止了,大家有兴趣的话明年可以关注一下。

这也是 Zephyr 项目第一次作为 Linux 基金会的项目,参与到谷歌编程之夏中。让我们一起欢迎这些贡献者及其项目吧!

项目一:基于 Zephyr 的 Arduino 模块

1 个贡献者(350 小时)。

Arduino 是一个流行的框架,它为嵌入式设备编程提供了一个简化的接口。最近,Arduino 采用 mbed OS 作为其一些新设备的基础 RTOS。通过这项工作,他们将 Arduino Core 作为独立的抽象层,从 Arduino Core for mbed 中分离出来。这为在其他操作系统上利用 Arduino Core 开辟了可能性。

该项目的想法就是创建一个利用 Arduino Core 的 Zephyr 模块,以便开发人员在与 Arduino 兼容的设备上使用 Arduino 框架时,可以使用 Zephyr 作为底层操作系统。对用户的好处包括:

  • 可以访问 Arduino API 以及高级 Zephyr 功能
  • 得益于 Zephyrs 的设备支持,用户可以选择标准 Arduino 生态系统更广泛的设备
  • 能够重复使用 Arduino 工具,如 Arduino IDE 和丰富的库

Arduino Core 使用 LGPL 许可证,Zephyr 使用 Apache 2 许可证。这意味着该项目的开发很可能需要脱离主分支,并在单独的仓库中进行,以保持代码和许可证分离。有关这方面的历史讨论,请参阅 #22247,有关 Arduino 核心架构之前的早期尝试,请参阅 soburi/arduino-on-zephyr

贡献者的任务是:

  • 实现一个基于 Arduino Core 的准系统模块,可以为任何目标编译(不具备功能性,可能在 QEMU 中)
  • 基于 Zephyr,使用 Arduino API 实现一个通用外围设备,例如 Serial
  • 以一个物理板为目标,例如 Arduino Zero

导师:

Jonathan Beri – Golioth 和 Zephyr TSC 的首席执行官 Alvaro Viebrantz – Golioth 和 Google GDE 的创始工程师

代码许可证: LGPL

贡献者详细信息:

关于贡献者:

Dhruva 是一名电气工程专业的本科生。他的兴趣广泛,从嵌入式软件开发到硬件设计,在 SBC、微控制器和嵌入式 Linux 平台方面拥有丰富的工作经验。

项目二:Zephyr 的 Apache Thrift 模块

一个贡献者(350 小时)。

Apache Thrift 是一个 IDL 规范、RPC 框架和代码生成器,它抽象出传输和协议细节,让开发者专注于应用逻辑。它适用于所有主流操作系统,支持超过 27 种编程语言、7 种协议和 6 种底层传输方式。最初,它于 2007 年在 Facebook 开发,随后与 Apache 软件基金会共享。

在 Zephyr RTOS 中支持 Thrift 将使社区受益匪浅。它将带来新的软件和硬件技术、新产品以及云集成的其他方式。 Thrift 也可以用于几乎任何传输,因此,它是 Zephyr 支持的许多不同物理通信层的自然选择。该项目的想法是使概念验证 Thrift for Zephyr 模块 形成以供上游使用。为此,贡献者必须:

  • 对 Thrift 功能(协议、传输)执行额外的集成
  • 使用 supported boardQemu 编写其他示例应用程序
  • 使用 Zephyr 测试框架 编写其他测试并生成覆盖率报告
  • 确保模块遵循适当的 编码指南 并满足 模块要求
  • 将任何必要的改进贡献回 Apache Thrift 项目
  • 将任何必要的改进贡献回 Zephyr 项目

导师:

代码许可证: Apache 2.0

贡献者详细信息:

  • 姓名:Young

关于贡献者: Young 是一名通信工程专业的学生,他将攻读计算机工程硕士学位。他兴趣广泛,从前端开发到硬件设计,在 Web、IoT 和嵌入式平台方面拥有丰富的工作经验。2021 年他设计的一款搭载 RISC-V 64 处理器的低成本单板机被多家极客媒体报道。

本文 Google Summer of Code + Zephyr RTOS 首发于 Linux 基金会


via: https://www.linux.com/news/google-summer-of-code-zephyr-rtos/

作者:The Linux Foundation 选题:lkxed 译者:lkxed 校对:wxy

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

马斯克称推特的 API 速率限制是他决定放弃收购的核心原因

马斯克曾多次公开表示,他希望知道有多少推特账户是由机器人运营的,因为他觉得可疑账户的数量影响了公司的价值。因此他寻求检测和处理虚假账户的方法。当推特最终提供了马斯克明确要求的 8 个开发者 API 的访问权时,这些 API 的速率限制低于推特向其最大企业客户提供的速率限制。马斯克称,这使得他们无法在任何合理的时间内完成数据分析。

消息来源:The Register
老王点评:看看,对 API 访问提供速率限制有多严重。: D

许多老的 X.Org 组件在本周末有新的发布

上周末,Oracle 的长期 X.Org 贡献者 Alan Coopersmith 对各种旧的、很少维护的 X.Org 项目发布了许多新的更新。这些软件多年来没有任何更新,新的版本大多只是收集了过去几年中的一些随机修复。总的来说,这些更新并没有什么值得兴奋的改进。

消息来源:Phoronix
老王点评:这是觉得 X.org 快被放弃了才最后抢救一次?从另外一方面看,可见 X.org 社区有多冷清了。连随手收到的一些修复都懒得发布个新版本。

Linode 现在提供 Kali Linux 实例

Kali Linux 是一个为渗透测试或黑客而设计的 Linux 发行版。这个基于 Debian 的 Linux 是安全研究人员最喜欢的发行版。它现在可以在 Linode 云上使用了,你可以用它来测试和保护你的生产系统。Linode 云是第一个与 Kali Linux 合作的替代云提供商。

消息来源:ZDNet
老王点评:这是一个跑在公有云上的黑客套装?总觉得哪里不对。

本文列出了 2022 年可以用于不同情况的 10 个 Ubuntu 优选应用。

如果你计划永久的转移到 Linux 系统上,你应该会很高兴地知道在 Linux 上有数以千计的能与商业或付费应用媲美的应用。如果你是第一次使用 Linux 的 Windows 用户,你可能都没有听说过这些应用。

因此,在这一系列文章中,我们每一篇重点介绍一组 Ubuntu 应用,以增加 Linux 用户们的协作和认识。

这是 Ubuntu 应用程序系列的第二篇文章,如果你错过了其他部分,可以在这里阅读:

1、OBS Studio

第一个应用是著名的 流媒体应用 —— OBS Studio 。这是一款自由开源的应用,主要用于互联网上的流媒体应用。此外,你可以使用该应用创建一个复杂的流媒体项目,包括多源、覆盖式横幅等功能。

而且,由于它能够支持“ 实时消息传输协议 Real-Time Messaging Protocol ”(RTMP),你可以使用它在 Facebook、Youtube、Twitch 以及其他支持的平台上进行流式传输。

这个有十年历史的应用程序是 Linux 上最好的应用程序之一。

OBS Studio

你可以在 OBS Studio 官网 了解更多的信息并下载,或者通过以下方式安装。

通过 PPA 在 Ubuntu 和相关发行版上安装:

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

如果你希望通过 Flatpak 安装 ,首先 为 Flatpak 设置系统 然后 通过这个页面安装

在 Arch Linux 或者其他 Linux 版本,访问 此页面 了解。

2、Inkscape

这里介绍的第二款应用是流行的 Inkscape。 Inkscape 是一个自由开源的矢量图形编辑软件。它主要用于创建可缩放的矢量图形(SVG)。此外,它是一款一流的应用,可以使用基本的矢量形状如矩形、多边形、螺旋形等。你可以使用这些基本图形以及辅助工具(见下文)创作一流的绘图。

此外,只要你有足够的技能,就可以使用 Inkscape 创作出 绝妙的动画 。这是艺术家必备的一款应用。

Sample Image – credit-Inkscape

Inkscape

你可以在 Inkscape 官网 下载并了解更多相关信息,或者通过以下方式下载。

通过 PPA 在 Ubuntu 和相关发行版上安装:

sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt update
sudo apt install inkscape

更多下载方式可以查看 此页面

3、GIMP

GIMP 是 “ GNU 图像操作程序 GNU Image Manipulation Program ”的缩写,它是一个光栅图形编辑器,它有时候被视作 Linux 平台上的 Photoshop 替代品(值得商榷)。这款拥有 20 年历史的应用适合于从基础到高级的图像编辑。此外,它支持图层、滤镜、装饰和其它对摄影工作必不可少的高级图像编辑功能。

GIMP Image Editor

官方主页 是你了解更多关于 GIMP 的知识的最好的途径,可以在官网下载或者通过以下方式安装。

我推荐的方式是通过 Flatpak 下载最新版本 GIMP 。你可以为 Flatpak 设置 你的系统 然后 通过该页面安装

该页面 提供了更多下载选项。

4、Spotify

Spotify 是一家专业提供音频流媒体和媒体服务的提供商。它是最广泛的音乐流媒体服务之一,有超过 400 万的月活用户。

首先,你需要安装客户端才能获取 Spotify 流媒体服务。其次,如果你是移动用户,你可以通过 Google Play 商店或者苹果应用商店获取 Spotify 应用。

在 Linux 上安装桌面客户端后你可以收听上百万首歌曲。你可以为不同的 Linux 发行版通过不同的方式安装 Spotify 。

Spotify Client in Ubuntu

推荐你在 Ubuntu 或者其他 Linux 上使用 Snap 来安装,你可以通过以下命令安装:

snap install spotify

如果你偏爱原始的 deb 包,你可以通过以下命令安装:

curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add -echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list

你也可以使用非官方 Flatpak 包 进行安装。

5、SimpleScreenRecorder

SimpleScreenRecorder 可能是最好的开源截屏工具。该应用程序易于使用并提供了各种功能。并且,其独特的 3 步录制屏幕的方法完全不需要学习。此外,你可以选择整个屏幕、窗口或自定义形状来记录屏幕。

此外,你还可以指定音频/视频比特率、音频源选项和不同的输出选项。最后,它可以安装在所有 Linux 发行版中。

SimpleScreenRecorder

官方页面 囊括了更多的 SimpleScreenRecorder 信息,你也可以使用如下方式下载。

在 Ubuntu 或其他相关发行版中使用下面的 PPA 命令安装该应用:

sudo apt-get updatesudo apt-get install simplescreenrecorder

访问 此页 获取更多下载版本。

6、Calibre

Calibre 是一款可以在 Ubuntu、Linux Mint 以及其他 Linux 平台使用的自由开源的电子书库管理应用程序。它拥有书库管理、电子书格式转换、同步你的电子书设备以及其他独特的功能。你可以下载新闻和其他互联网上的文章,并可以使用 Calibre 转换成电子书格式。同时,它支持多种电子书格式进行管理。Calibre 是一款具有这些功能最好的电子书管理应用程序之一。

Calibre

Calibre 主页 提供了很多文件以及指导手册,你也可以使用以下方式下载。

7、Scribus

多年来,桌面出版已经发生了变化。现今,仍有一些桌面出版的应用程序和基于网页的服务。Scribus 是早期的一款自由开源的桌面出版应用程序,可以在 Linux 发行版和其他操作系统中使用。此外,它基于 Qt,并带来了吸引人的用户界面,让你可以马上投入学习。此外,初学者和专业人士都可以使用它来创建令人惊叹的 DTP 页面。

并且它仍然在积极开发中。

Scribus

你可以在 Scribus 的 官方页面 了解更多信息并下载,或者通过以下方式安装。

Scribus 位于 Ubuntu 和其他相关发行版的主要存储库中。你可以运行以下命令进行安装:

sudo apt install scribus

该页面 提供了其他下载选项。

8、MyPaint

第八个应用程序是 MyPaint 。MyPaint 是一个自由开源的绘图程序,适用于数字艺术家。MyPaint 支持并可用于压感平板电脑和设备。其独特的无干扰设计可以让你专注于绘图而不是应用程序。此外,它还带来了真实铅笔和画笔的仿真,提供了各种画笔、颜色和图层。

MyPaint 2.0.1

浏览 MyPaint 的 官方页面 获取更多信息,可以使用以下方式下载。

推荐使用 Flatpak 安装 。你可以为 Flatpak 设置 系统 然后 通过该页面安装

该页面 提供了其他下载选项。

9、LibreOffice

如果有任何专业的办公套件可以和市场领导者微软 Office 相媲美,那一定是文档基金会的 LibreOffice 了 。它是所有 Linux 发行版的默认办公套件。它带有电子表格程序(Calc)、文字处理器(Writer)、演示文稿(Impress)和用来绘图的 Draw。此外,它还带来了一个数据库系统 (Base)和用来撰写数学公式的 Math。

除此之外, LibreOffice 提供两个版本。其一是社区版,用于社区和一般用途,并带有最新的功能和更新。第二是商务版,也称企业版,更稳定,更适合专业工作。

LibreOffice 办公套件已默认安装在 Ubuntu 上。

LibreOffice 7.3.x Community Edition in Ubuntu 22.04 LTS Jammy Jellyfish

LibreOffice 的官方文档 很庞大,你可以通过各种方式浏览它们,包括在它 友好的论坛 。你可以 从此处 下载 LibreOffice。

如果你也想升级 LibreOffice ,你可以访问 这里

10、Cawbird

如果你是重度 Twitter 用户,你或许应考虑一款桌面应用。 Cawbird 是一款 Linux 发行版上的 Twitter 桌面程序。它是 Corebird 应用(已停止维护)的复刻,Cawbird 带来了内嵌图片、视频预览、列表支持等。此外,它可以在 Twitter 上进行全文搜索,并支持多个 Twitter 帐户。

但是,由于 Twitter API 的限制,它只能每两分钟刷新一次,此外,还有一些其他限制,例如没有关注和取消关注的通知、阻止、静音和其他功能。Twitter 强加了这些限制。

Cawbird

最后,你可以通过 该链接 在任何 Linux 发行版上下载 Cawbird 。

结语

这是 2022 年 5 篇系列的必备 Ubuntu 应用程序的第 2 篇。通过以上信息,我希望你可以选择一些应用供你的日常使用。在下面的评论框中告诉我你更喜欢此列表中的哪些应用程序。

最后,请继续关注本 Ubuntu 应用程序系列的第 3 部分。


via: https://www.debugpoint.com/best-ubuntu-apps-2022-part2/

作者:Arindam 选题:lkxed 译者:Donkey 校对:wxy

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

前几天我试图安装 massCode 应用。对于安装,它提供了一个 Snap 文件以供下载。

当我尝试从 Snap 文件安装应用程序时:

sudo snap install snap_file

它给了我以下错误:

error: cannot find signatures with metadata for snap "masscode_2.6.1_amd64.snap"

cannot find signature with metadata for snap

这很奇怪。在 Ubuntu 中添加外部仓库 时,你必须添加 GPG 密钥。但是这里的开发人员没有提供这样的东西。

“修复”简单易行。让我给你解释一下。

处理 “cannot find signatures with metadata for snap” 错误

这里其实不涉及签名。

发生的情况是你从第三方下载了 Snap 安装程序。 Ubuntu 中的 Snap 机制希望你从官方 Snap 商店获取 Snap 包。

由于它不是来自 Snap 商店,因此你会看到 “cannot find signatures with metadata for snap” 的错误消息。与大多数错误消息一样,这个错误消息不是描述性的。

那么,这里的解决方案是什么?

任何未通过 Snap 商店分发的 Snap 包都必须使用 --dangerous 选项进行安装。这就是规则。

sudo snap install --dangerous path_to_snap_file

这样,你告诉 Snap 包管理器显式安装 Snap 包。

在这里,我使用了这个选项并且能够成功地从它的 Snap 包中安装 massCode。

installing third party snap packages

以这种方式安装 Snap 包有多“危险”?几乎和下载并 安装 deb 格式安装包 相同。

在我看来,如果你是从项目开发者的网站上下载 Snap 包,你已经在信任该项目了。在这种情况下,你可以使用 --dangerous 选项安装它。

当然,你应该首先搜索该软件包是否在 Snap 商店中可用:

snap find package_name

我希望这个快速的小技巧可以帮助你修复 Snap 错误。如果你有任何问题或建议,请告诉我。如果你想了解更多信息,请参阅 这个使用 Snap 命令指南


via: https://itsfoss.com/snap-metadata-signature-error/

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

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