mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-07 22:11:09 +08:00
Merge branch 'master' of https://github.com/Donkey-Hao/TranslateProject
This commit is contained in:
commit
ff65133543
@ -0,0 +1,242 @@
|
||||
[#]: subject: (Complete Guide to Configuring SSH in Ubuntu)
|
||||
[#]: via: (https://itsfoss.com/set-up-ssh-ubuntu/)
|
||||
[#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (Donkey-Hao)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15175-1.html)
|
||||
|
||||
在 Ubuntu 中配置 SSH 的完整指南
|
||||
======
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/25/102118u33grazpccrvxwdf.jpg)
|
||||
|
||||
> 如今 SSH 已成为了登录远程服务器的默认方式。
|
||||
|
||||
SSH 的全称是 “<ruby>安全的 Shell<rt>Secure Shell</rt></ruby>”,它功能强大、效率高,这个主流的网络协议用于在两个远程终端之间建立连接。让我们不要忘记它名称的“安全”部分,SSH 会加密所有的通信流量,以防止如劫持、窃听等攻击,同时提供不同的身份认证方式和无数个配置选项。
|
||||
|
||||
在这份新手指南中,你会学到:
|
||||
|
||||
- SSH 的基本概念
|
||||
- 设置 SSH 服务器(在你想要远程登录的系统上)
|
||||
- 从客户端(你的电脑)通过 SSH 连接远程服务器
|
||||
|
||||
### SSH 的基本概念
|
||||
|
||||
在学习配置过程前,让我们先了解一下 SSH 的全部基础概念。
|
||||
|
||||
SSH 协议基于<ruby>客户端-服务器<rt>server-client</rt></ruby>(CS)架构。“<ruby>服务器<rt>Server</rt></ruby>”允许“<ruby>客户端<rt>Client</rt></ruby>”通过通信通道进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。
|
||||
|
||||
![Image credit: SSH][1]
|
||||
|
||||
[OpenSSH][2] 是在 Linux、BSD 和 Windows 系统上提供 SSH 功能的最流行的开源工具之一。
|
||||
|
||||
想要成功配置 SSH,你需要:
|
||||
|
||||
- 在作为服务器的机器上部署 SSH 服务器组件,它由 `openssh-server` 包提供。
|
||||
- 在你远程访问服务器的客户端机器上部署 SSH 客户端组件,它由 `openssh-client` 包提供,大多数 Linux 和 BSD 发行版都已经预装好了。
|
||||
|
||||
区分服务器和客户端是十分重要的事情。或许你不想要你的 PC 作为 SSH 服务器,除非你有充分理由希望其他人通过 SSH 连接你的系统。
|
||||
|
||||
通常来说,你有一个专用的服务器系统。例如,一个 [运行 Ubuntu 的树莓派][3]。你可以 [启用树莓派的 SSH 服务][4],这样你可以在你 PC 中的终端中,通过 SSH 控制并管理该设备。
|
||||
|
||||
有了这些信息,让我们看看如何在 Ubuntu 上设置 SSH 服务器。
|
||||
|
||||
### 在 Ubuntu 服务器中配置 SSH
|
||||
|
||||
设置 SSH 并不复杂,只需要以下几步。
|
||||
|
||||
#### 前提
|
||||
|
||||
- 一个在服务器端拥有 `sudo` 权限的用户
|
||||
- 可以下载所需包的互联网连接
|
||||
- 在你的网络中至少有另一个系统。可以是局域网中的另一台电脑,远程服务器或者计算机中托管的虚拟机。
|
||||
|
||||
**再次强调,在你想要通过 SSH 远程登录的系统上安装 SSH 服务。**
|
||||
|
||||
#### 第一步:安装所需包
|
||||
|
||||
让我们从打开终端输入一些必要命令开始。
|
||||
|
||||
注意,在安装新的包或者软件前,要 [更新你的 Ubuntu 系统][5],以确保运行的是最新版本的程序。
|
||||
|
||||
```
|
||||
sudo apt update && sudo apt upgrade
|
||||
```
|
||||
|
||||
你要运行 SSH 服务器的包由 OpensSSH 的 `openssh-server` 组件提供:
|
||||
|
||||
```
|
||||
sudo apt install openssh-server
|
||||
```
|
||||
|
||||
![][6]
|
||||
|
||||
#### 第二步:检查服务器状态
|
||||
|
||||
当你下载并安装完包后,SSH 服务器应该已经运行了,但是为了确保万无一失我们需要检查一下:
|
||||
|
||||
```
|
||||
service ssh status
|
||||
```
|
||||
|
||||
你还可以使用 `systemctl` 命令:
|
||||
|
||||
```
|
||||
sudo systemctl status ssh
|
||||
```
|
||||
|
||||
你应该会看到这样的结果,其中 `active` 是高亮的。输入 `q` 退出该页面。
|
||||
|
||||
![][7]
|
||||
|
||||
如果你的结果中 SSH 服务没有运行,使用这个命令运行它:
|
||||
|
||||
```
|
||||
sudo systemctl enable --now ssh
|
||||
```
|
||||
|
||||
#### 第三步:允许 SSH 通过防火墙
|
||||
|
||||
Ubuntu 带有名为 [UFW][8](<ruby>简单的防火墙<rt>Uncomplicated Firewall</rt></ruby>)的防火墙,这是管理网络规则的 `iptables` 的一个接口。如果启动了防火墙,它可能会阻止你连接服务器。
|
||||
|
||||
想要配置 UFW 允许你的接入,你需要运行如下命令:
|
||||
|
||||
```
|
||||
sudo ufw allow ssh
|
||||
```
|
||||
|
||||
UFW 的运行状态可以通过运行 `sudo ufw status` 来检查。
|
||||
|
||||
现在,我们的 SSH 服务器已经开始运行了,在等待来自客户端的连接。
|
||||
|
||||
### 连接远程服务器
|
||||
|
||||
你本地的 Linux 系统已经安装了 SSH 客户端。如果没有,你可以在 Ubuntu 中使用如下命令安装:
|
||||
|
||||
```
|
||||
sudo apt install openssh-client
|
||||
```
|
||||
|
||||
要连接你的 Ubuntu 系统,你需要知道它的 IP 地址,然后使用 `ssh` 命令,就像这样:
|
||||
|
||||
```
|
||||
ssh username@address
|
||||
```
|
||||
|
||||
将 **用户名**(`username`)改为你的系统上的实际用户名,并将 **地址**(`address`)改为你服务器的 IP 地址。
|
||||
|
||||
如果你 [不知道 IP 地址][9],可以在服务器的终端输入 `ip a` 查看结果。应该会看到这样的结果:
|
||||
|
||||
![Using “ip a” to find the IP address][10]
|
||||
|
||||
可以看到我的 IP 地址是 `192.168.1.111`。让我们使用 `username@address` 格式进行连接。
|
||||
|
||||
```
|
||||
ssh team@192.168.1.111
|
||||
```
|
||||
|
||||
这是你第一次连接到该 SSH 服务器,它会请求添加主机。输入 `yes` 并回车即可。
|
||||
|
||||
![First time connecting to the server][12]
|
||||
|
||||
SSH 会立即告诉你该主机已经被永久添加了,并要求你输入指定用户的密码,输入密码并再次按回车即可。
|
||||
|
||||
![Host added, now type in the password][13]
|
||||
|
||||
瞧,你远程登录了你的 Ubuntu 系统!
|
||||
|
||||
![Connected!][14]
|
||||
|
||||
现在,你可以在远程服务器的终端里和寻常一样工作了。
|
||||
|
||||
#### 关闭 SSH 连接
|
||||
|
||||
你只需要输入 `exit` 即可关闭连接,它会立马关闭不需要确认。
|
||||
|
||||
![Closing the connection with “exit”][15]
|
||||
|
||||
### 在 Ubuntu 中关闭并禁止 SSH
|
||||
|
||||
如果你想要停止 SSH 服务,需要运行该命令:
|
||||
|
||||
```
|
||||
sudo systemctl stop ssh
|
||||
```
|
||||
|
||||
该命令会关闭 SSH 服务,直到重启它或者系统重启。想要重启它,输入:
|
||||
|
||||
```
|
||||
sudo systemctl start ssh
|
||||
```
|
||||
|
||||
现在,如果你想要禁止 SSH 跟随系统启动,使用该命令:
|
||||
|
||||
```
|
||||
sudo systemctl disable ssh
|
||||
```
|
||||
|
||||
该命令不会停止当前的 SSH 会话,只会在启动的时候生效。如果你想要它跟随系统启动,输入:
|
||||
|
||||
```
|
||||
sudo systemctl enable ssh
|
||||
```
|
||||
|
||||
#### 其他 SSH 客户端
|
||||
|
||||
从 Linux 到 macOS,大多数 *nix 系统中都有 `ssh` 工具,但这并不是唯一的选项,这里有几个可以在其他操作系统中使用的客户端:
|
||||
|
||||
* [PuTTY][16] 是一个自由开源的 Windows 系统上的 SSH 客户端。它功能强大并且简单易用。如果你从 Windows 系统上连接你的 Ubuntu 服务器,PuTTY 是最好的选择。(LCTT 译注:切记从官方网站下载。)
|
||||
* 对安卓用户来说,[JuiceSSH][17] 是十分优秀的工具。如果你在旅途中需要一个移动客户端来连接你的 Ubuntu 系统,我强烈建议你试试 JuiceSSH。它已经出现了将近 10 年,并且可以免费使用。
|
||||
* 最后是 [Termius][18],它可用于 Linux、Windows、macOS、iOS 和安卓。它有一个免费版本和几个付费选项。如果你运行大量服务器并进行共享连接的团队合作,那么 Termius 对你来说是一个不错的选择。
|
||||
|
||||
#### 总结
|
||||
|
||||
在这份指导中,你可以在 Ubuntu 系统中设置 SSH 作为服务器,允许来自你电脑的远程安全的连接,便于你通过命令行开展工作。
|
||||
|
||||
此,我推荐以下文章:
|
||||
|
||||
* [Linux SSH 入门教程][19]
|
||||
* [利用 SSH 配置文件管理多个 SSH 连接][20]
|
||||
* [向 SSH 服务器添加公钥以进行无密码身份验证][21]
|
||||
* [保护你的 SSH 服务器的 SSH 加固技巧][22]
|
||||
|
||||
远程工作快乐!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/set-up-ssh-ubuntu/
|
||||
|
||||
作者:[Chris Patrick Carias Stas][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Donkey-Hao](https://github.com/Donkey-Hao)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/chris/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-diagram.png?resize=800%2C259&ssl=1
|
||||
[2]: https://www.openssh.com/
|
||||
[3]: https://itsfoss.com/install-ubuntu-server-raspberry-pi/
|
||||
[4]: https://itsfoss.com/ssh-into-raspberry/
|
||||
[5]: https://itsfoss.com/update-ubuntu/
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0001.png?resize=800%2C253&ssl=1
|
||||
[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0002.png?resize=800%2C263&ssl=1
|
||||
[8]: https://itsfoss.com/set-up-firewall-gufw/
|
||||
[9]: https://itsfoss.com/check-ip-address-ubuntu/
|
||||
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-find-ip.png?resize=800%2C341&ssl=1
|
||||
[11]: https://itsfoss.com/cdn-cgi/l/email-protection
|
||||
[12]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0004.png?resize=800%2C87&ssl=1
|
||||
[13]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0005.png?resize=800%2C57&ssl=1
|
||||
[14]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0006.png?resize=800%2C322&ssl=1
|
||||
[15]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0007.png?resize=800%2C87&ssl=1
|
||||
[16]: https://www.putty.org/
|
||||
[17]: https://juicessh.com/
|
||||
[18]: https://termius.com/
|
||||
[19]: https://linuxhandbook.com/ssh-basics/
|
||||
[20]: https://linuxhandbook.com/ssh-config-file/
|
||||
[21]: https://linuxhandbook.com/add-ssh-public-key-to-server/
|
||||
[22]: https://linuxhandbook.com/ssh-hardening-tips/
|
||||
[23]: https://linuxhandbook.com/sshcourse/
|
@ -3,48 +3,42 @@
|
||||
[#]: author: (Daniel Oh https://opensource.com/users/daniel-oh)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (cool-summer-021)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15178-1.html)
|
||||
|
||||
优化 Kubernetes 中的 Java 无服务器函数
|
||||
======
|
||||
|
||||
在 Kubernetes 中以更快的启动速度和更小的内存占用运行无服务器函数
|
||||
![Ship captain sailing the Kubernetes seas][1]
|
||||
> 在 Kubernetes 中运行无服务器函数时,实现更快的启动速度和更小的内存占用。
|
||||
|
||||
由于运行上千个应用程序集群所耗费的资源多,令它实现较少工作节点和资源占用所需成本也较高,所以在使用 [Kubernetes][2] 时,快速启动和较少的内存占用是至关重要的。在 Kubernetes 平台运行容器化微服务时,内存占用是比吞吐量更重要的考量因素,这是因为:
|
||||
|
||||
* 由于需要持续运行,所以耗费资源更多(不同于 CPU 周期)
|
||||
* 微服务令管理成本成倍增加
|
||||
* 一个庞大的应用程序变为若干个微服务的情况(例如20个微服务占用的存储空间一共有20GB)
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/26/151603a4a44w1a71zk8b11.jpg)
|
||||
|
||||
由于运行上千个应用程序<ruby>容器荚<rt>Pod</rt></ruby>所耗费的资源多,令它实现较少工作节点和资源占用所需成本也较高,所以在使用 [Kubernetes][2] 时,快速启动和较少的内存占用是至关重要的。在 Kubernetes 平台运行容器化微服务时,内存占用是比吞吐量更重要的考量因素,这是因为:
|
||||
|
||||
* 由于需要持续运行,所以耗费资源更多(不同于 CPU 占用)
|
||||
* 微服务令开销成本成倍增加
|
||||
* 一个单体应用程序变为若干个微服务的情况(例如 20 个微服务占用的存储空间约有 20GB)
|
||||
|
||||
这些情况极大影响了无服务器函数的发展和 Java 部署模型。到目前为止,许多企业开发人员选择 Go、Python 或 Node.js 这些替代方案来解决性能瓶颈,直到出现了 [Quarkus][3] 这种基于 kubernetes 的原生 Java 堆栈,才有所改观。本文介绍如何在使用了 Quarkus 的 kubernetes 平台上进行性能优化,以便运行无服务器函数。
|
||||
|
||||
### 容器优先的设计理念
|
||||
|
||||
由于 Java 生态系统中传统的框架都要进行框架的初始化,包括配置文件的处理、classpath 的扫描、类加载、注解的处理以及构建元模型,这些过程都是必不可少的,所以它们都比较耗费资源。如果使用了几种不同的框架,所耗费的资源也是成倍增加。
|
||||
由于 Java 生态系统中传统的框架都要进行框架的初始化,包括配置文件的处理、`classpath` 的扫描、类加载、注解的处理以及构建元模型,这些过程都是必不可少的,所以它们都比较耗费资源。如果使用了几种不同的框架,所耗费的资源也是成倍增加。
|
||||
|
||||
Quarkus 通过“向左移动”,把所有的资源开销大的操作都转移到构建阶段,解决了这些 Java 性能问题。在构建阶段进行代码和框架分析、字节码转换和动态元模型生成,而且只有一次,结果是:运行时可执行文件经过高度优化,启动非常快,不需要经过那些传统的启动过程,全过程只在构建阶段执行一次。
|
||||
Quarkus 通过“<ruby>左移<rt>shifting left</rt></ruby>”,把所有的资源开销大的操作都转移到构建阶段,解决了这些 Java 性能问题。在构建阶段进行代码和框架分析、字节码转换和动态元模型生成,而且只有一次,结果是:运行时可执行文件经过高度优化,启动非常快,不需要经过那些传统的启动过程,全过程只在构建阶段执行一次。
|
||||
|
||||
![Quarkus Build phase][4]
|
||||
|
||||
(Daniel Oh, [CC BY-SA 4.0][5])
|
||||
|
||||
更重要的是:Quarkus 支持构建原生可执行文件,它具有良好性能,包括快速启动和极小的 RSS 内存占用,跟传统的云原生 Java 栈相比,具备即时扩展的能力和高密度的内存利用。
|
||||
更重要的是:Quarkus 支持构建原生可执行文件,它具有良好性能,包括快速启动和极小的<ruby>驻留集大小<rt>resident set size</rt></ruby>(RSS)内存占用,跟传统的云原生 Java 栈相比,具备即时扩展的能力和高密度的内存利用。
|
||||
|
||||
![Quarkus RSS and Boot Time Metrics][7]
|
||||
|
||||
(Daniel Oh, [CC BY-SA 4.0][5])
|
||||
这里有个例子,展示如何使用 Quarkus 将一个 [Java 无服务器][8] 项目构建为本地可执行文件。
|
||||
|
||||
这里有个例子,展示如何使用 Quarkus 将一个 [Java 无服务器][8]项目构建为本地可执行文件。
|
||||
|
||||
### 1\. 使用 Quarkus 创建无服务器 Maven 项目
|
||||
|
||||
以下命令生成一个 Quarkus 项目,(例如`quarkus-serverless-native`)以此创建一个简单的函数:
|
||||
### 1、使用 Quarkus 创建无服务器 Maven 项目
|
||||
|
||||
以下命令生成一个 Quarkus 项目,(例如 `quarkus-serverless-native`)以此创建一个简单的函数:
|
||||
|
||||
```
|
||||
$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \
|
||||
@ -53,13 +47,12 @@ $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \
|
||||
-DclassName="org.acme.getting.started.GreetingResource"
|
||||
```
|
||||
|
||||
### 2\. 构建一个本地可执行文件
|
||||
### 2、构建一个本地可执行文件
|
||||
|
||||
你需要使用 GraalVM 为 Java 程序构建一个本地可执行文件。你可以选择 GraalVM 的任何发行版,例如 [Oracle GraalVM Community Edition (CE)][9] 或 [Mandrel][10](Oracle GraalVM CE 的下游发行版)。Mandrel 是为支持 OpenJDK 11 上的 Quarkus-native 可执行文件的构建而设计的。
|
||||
|
||||
打开 `pom.xml`,你将发现其中的 `native` 设置。你将使用它来构建本地可执行文件。
|
||||
|
||||
|
||||
```
|
||||
<profiles>
|
||||
<profile>
|
||||
@ -71,51 +64,45 @@ $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \
|
||||
</profiles>
|
||||
```
|
||||
|
||||
> **注意:** 你可以在本地安装 GraalVM 或 Mandrel 发行版。你也可以下载 Mandrel 容器映像来构建它(像我那样),因此你还需要在本地运行一个容器引擎(例如 Docker)。
|
||||
> **注意:** 你可以在本地安装 GraalVM 或 Mandrel 发行版。你也可以下载 Mandrel 容器映像来构建它(像我那样),因此你还需要在本地运行一个容器引擎(例如 Docker)。
|
||||
|
||||
假设你已经打开了容器运行时,此时需要运行一下 Maven 命令:
|
||||
|
||||
使用 [Docker][11] 作为容器引擎
|
||||
|
||||
使用 [Docker][11] 作为容器引擎:
|
||||
|
||||
```
|
||||
$ ./mvnw package -Pnative \
|
||||
-Dquarkus.native.container-build=true \
|
||||
-Dquarkus.native.container-runtime=docker
|
||||
-Dquarkus.native.container-build=true \
|
||||
-Dquarkus.native.container-runtime=docker
|
||||
```
|
||||
|
||||
使用 [Podman][12] 作为容器引擎
|
||||
|
||||
使用 [Podman][12] 作为容器引擎:
|
||||
|
||||
```
|
||||
$ ./mvnw package -Pnative \
|
||||
-Dquarkus.native.container-build=true \
|
||||
-Dquarkus.native.container-runtime=podman
|
||||
-Dquarkus.native.container-build=true \
|
||||
-Dquarkus.native.container-runtime=podman
|
||||
```
|
||||
|
||||
输出信息结尾应当是 `BUILD SUCCESS`。
|
||||
|
||||
![Native Build Logs][13]
|
||||
|
||||
(Daniel Oh, [CC BY-SA 4.0][5])
|
||||
|
||||
不借助 JVM 直接运行本地可执行文件:
|
||||
|
||||
|
||||
```
|
||||
`$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner`
|
||||
$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner
|
||||
```
|
||||
|
||||
输出信息类似于:
|
||||
|
||||
|
||||
```
|
||||
__ ____ __ _____ ___ __ ____ ______
|
||||
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
|
||||
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
|
||||
\--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/
|
||||
INFO [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native
|
||||
(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: <http://0.0.0.0:8080>
|
||||
__ ____ __ _____ ___ __ ____ ______
|
||||
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
|
||||
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
|
||||
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
|
||||
INFO [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native
|
||||
(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: http://0.0.0.0:8080
|
||||
INFO [io.quarkus] (main) Profile prod activated.
|
||||
INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy]
|
||||
```
|
||||
@ -124,14 +111,12 @@ INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy]
|
||||
|
||||
使用 Linux 的 `ps` 工具检测一下,结果内存占用还是很低。检测的方法是:在应用程序运行期间,另外打开一个终端,运行如下命令:
|
||||
|
||||
|
||||
```
|
||||
`$ ps -o pid,rss,command -p $(pgrep -f runner)`
|
||||
$ ps -o pid,rss,command -p $(pgrep -f runner)
|
||||
```
|
||||
|
||||
输出结果类似于:
|
||||
|
||||
|
||||
```
|
||||
PID RSS COMMAND
|
||||
10246 11360 target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner
|
||||
@ -141,7 +126,6 @@ INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy]
|
||||
|
||||
> **注意:** 各种应用程序(包括 Quarkus)的驻留集大小和内存占用,都因运行环境而异,并随着应用程序载入而上升。
|
||||
|
||||
|
||||
你也可以使用 REST API 访问这个函数。输出结果应该是 `Hello RESTEasy`:
|
||||
|
||||
```
|
||||
@ -149,18 +133,16 @@ $ curl localhost:8080/hello
|
||||
Hello RESTEasy
|
||||
```
|
||||
|
||||
### 3\. 把函数部署到 Knative 服务
|
||||
|
||||
如果你还没有创建命名空间,现在就在 [OKD][15] (OpenShift Kubernetes 发行版)[创建一个命名空间][14](例如 `quarkus-serverless-native`),进而把这个本地可执行文件部署为无服务器函数。然后添加 `quarkus-openshift` 扩展:
|
||||
### 3、把函数部署到 Knative 服务
|
||||
|
||||
如果你还没有创建命名空间,现在就在 [OKD][15](OpenShift Kubernetes 发行版)[创建一个命名空间][14](例如 `quarkus-serverless-native`),进而把这个本地可执行文件部署为无服务器函数。然后添加 `quarkus-openshift` 扩展:
|
||||
|
||||
```
|
||||
`$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"`
|
||||
$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"
|
||||
```
|
||||
|
||||
向 `src/main/resources/application.properties` 文件中添加以下内容,配置 Knative 和 Kubernetes 的相关资源:
|
||||
|
||||
|
||||
```
|
||||
quarkus.container-image.group=quarkus-serverless-native
|
||||
quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000
|
||||
@ -173,77 +155,71 @@ quarkus.openshift.build-strategy=docker
|
||||
|
||||
构建本地可执行文件,并把它直接部署到 OKD 集群:
|
||||
|
||||
|
||||
```
|
||||
`$ ./mvnw clean package -Pnative`
|
||||
$ ./mvnw clean package -Pnative
|
||||
```
|
||||
|
||||
> **Note:** 提前使用 `oc login` 命令,确保登录的是正确的项目(例如 `quarkus-serverless-native`)。
|
||||
> **注意:** 提前使用 `oc login` 命令,确保登录的是正确的项目(例如 `quarkus-serverless-native`)。
|
||||
|
||||
输出信息结尾应当是 `BUILD SUCCESS`。完成一个本地二进制文件的构建并部署为 Knative 服务需要花费几分钟。成功创建服务后,使用 `kubectl` 或 `oc` 命令工具,可以查看 Knative 服务和版本信息:
|
||||
|
||||
|
||||
```
|
||||
$ kubectl get ksvc
|
||||
NAME URL [...]
|
||||
quarkus-serverless-native <http://quarkus-serverless-native-\[...\].SUBDOMAIN> True
|
||||
NAME URL [...]
|
||||
quarkus-serverless-native http://quarkus-serverless-native-[...].SUBDOMAIN True
|
||||
|
||||
$ kubectl get rev
|
||||
NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON
|
||||
quarkus-serverless-native-00001 quarkus-serverless-native quarkus-serverless-native-00001 1 True
|
||||
NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON
|
||||
quarkus-serverless-native-00001 quarkus-serverless-native quarkus-serverless-native-00001 1 True
|
||||
```
|
||||
|
||||
### 4\. 访问本地可执行函数
|
||||
### 4、访问本地可执行函数
|
||||
|
||||
运行 `kubectl` 命令,搜索无服务器函数的节点:
|
||||
|
||||
|
||||
```
|
||||
`$ kubectl get rt/quarkus-serverless-native`
|
||||
$ kubectl get rt/quarkus-serverless-native
|
||||
```
|
||||
|
||||
输出信息类似于:
|
||||
|
||||
|
||||
```
|
||||
NAME URL READY REASON
|
||||
quarkus-serverless-native <http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN> True
|
||||
NAME URL READY REASON
|
||||
quarkus-serverless-native http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN True
|
||||
```
|
||||
|
||||
用 `curl` 命令访问上述信息中的 `URL` 字段:
|
||||
|
||||
|
||||
```
|
||||
`$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello`
|
||||
$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello
|
||||
```
|
||||
|
||||
过了不超过一秒钟,你也会得到跟本地操作一样的结果:
|
||||
|
||||
|
||||
```
|
||||
`Hello RESTEasy`
|
||||
Hello RESTEasy
|
||||
```
|
||||
|
||||
当你在 OKD 群集中访问 Quarkus 运行中的节点的日志,你会发现本地可执行文件正在以 Knative 服务的形式运行。
|
||||
|
||||
![Native Quarkus Log][16]
|
||||
|
||||
(Daniel Oh, [CC BY-SA 4.0][5])
|
||||
|
||||
### 下一步呢?
|
||||
|
||||
你可以借助 GraalVM 发行版优化 Java 无服务器函数,从而在 Knative 中使用 Kubernetes 将它们部署为无服务器函数。Quarkus 支持在普通的微服务中使用简易配置进行性能优化。
|
||||
|
||||
本系列的下一篇文章将指导你在不更改代码的情况下跨多个无服务器平台实现可移植函数。
|
||||
|
||||
*(Daniel Oh, [CC BY-SA 4.0][5])*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/6/java-serverless-functions-kubernetes
|
||||
|
||||
作者:[Daniel Oh][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[cool-summer-021](https://github.com/cool-summer-021)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -3,15 +3,16 @@
|
||||
[#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (chai001125)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15183-1.html)
|
||||
|
||||
使用 VirtualBox 安装 Linux 虚拟机
|
||||
======
|
||||
VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。
|
||||
|
||||
![Person programming on a laptop on a building][1]
|
||||
> VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/27/104215te6xpq2e2vvxprjs.jpg)
|
||||
|
||||
VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要有使用命令行的经验,就可以自己安装一个简单的 Linux 虚拟机。在虚拟机方面,我精通很多东西,但这篇文章将向新手展示如何安装一个 Linux 虚拟机。此外,这篇文章还概述了如何使用开源虚拟机管理程序 [VirtualBox][2] ,来运行以及安装一个测试目的的 Linux 系统。
|
||||
|
||||
@ -19,12 +20,12 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
|
||||
|
||||
在开始之前,你需要了解在本安装教程中的两个操作系统(OS)之间的区别:
|
||||
|
||||
* **主机系统(host system):** 这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。
|
||||
* **访客系统(guest system):** 这指的是你想要在主机系统之上运行的虚拟化系统。
|
||||
* <ruby>主机系统<rt>host system</rt></ruby>:这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。
|
||||
* <ruby>客体系统<rt>guest system</rt></ruby>:这指的是你想要在主机系统之上运行的虚拟化系统。
|
||||
|
||||
在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和访客系统都必须能够交互。
|
||||
在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和客体系统都必须能够交互。
|
||||
|
||||
在本教程中,我将使用 Windows 10 作为 _主机系统_,[Fedora 33][3] 作为 _访客系统_。
|
||||
在本教程中,我将使用 Windows 10 作为 _主机系统_,[Fedora 33][3] 作为 _客体系统_。
|
||||
|
||||
### 安装前的准备
|
||||
|
||||
@ -37,40 +38,39 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
|
||||
|
||||
### 准备虚拟机
|
||||
|
||||
下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统映像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统映像(当然内存的使用会受限),反之亦然。
|
||||
下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统镜像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统镜像(当然内存的使用会受限),反之亦然。
|
||||
|
||||
> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6](LVM)的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加访客系统的硬盘驱动器的大小。
|
||||
> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6](LVM)的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加客体系统的硬盘驱动器的大小。
|
||||
|
||||
现在,打开 VirtualBox,然后单击黄色的**新建**按钮:
|
||||
现在,打开 VirtualBox,然后单击黄色的“<ruby>新建<rt>New</rt></ruby>”按钮:
|
||||
|
||||
![VirtualBox New VM][7]
|
||||
|
||||
接下来,配置访客操作系统允许使用多少内存:
|
||||
接下来,配置客体操作系统允许使用多少内存:
|
||||
|
||||
![Set VM memory size][9]
|
||||
|
||||
我的建议是:**不要吝啬访客操作系统的内存!**
|
||||
当访客操作系统的内存不足时,访客系统将开始从随机存取存储器(RAM)转换到硬盘驱动器(hard drive),进行内存的分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。
|
||||
我的建议是:**不要吝啬分配给客体操作系统使用的内存!** 当客体操作系统的内存不足时,客体系统将开始从随机存取存储器(RAM)向硬盘驱动器进行内存分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。
|
||||
|
||||
接下来,创建虚拟磁盘:
|
||||
|
||||
![Create virtual hard disk][10]
|
||||
|
||||
虚拟磁盘的格式选择默认的选项 **VDI(VirtualBox 磁盘映像)** 就可以了:
|
||||
虚拟磁盘的格式选择默认的选项 “VDI(VirtualBox 磁盘镜像)” 就可以了:
|
||||
|
||||
![Selecting hard disk file type][11]
|
||||
|
||||
在以下的窗口中,我建议选择**动态分配**,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了**固定大小**,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了:
|
||||
在以下的窗口中,我建议选择“<ruby>动态分配<rt>dynamically allocated</rt></ruby>”,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了“<ruby>固定大小<rt>fixed size</rt></ruby>”,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了:
|
||||
|
||||
![Dynamically allocating hard disk][12]
|
||||
|
||||
建议你使用附带有逻辑卷管理器(LVM)的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的访客系统的空间快用完了,你可以按需增加磁盘的大小。
|
||||
建议你使用附带有逻辑卷管理器(LVM)的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的客体系统的空间快用完了,你可以按需增加磁盘的大小。
|
||||
|
||||
> **注意**:我选择的访客系统为 Fedora,在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB,以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。
|
||||
> **注意**:我选择的客体系统为 Fedora,在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB,以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。
|
||||
|
||||
![Setting hard disk size][14]
|
||||
|
||||
创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击**设置**。在设置菜单中,点击**系统**,然后选择**处理器**标签。默认情况下,VirtualBox 只向访客系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快访客系统的速度:
|
||||
创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击“<ruby>设置<rt>Settings</rt></ruby>”。在设置菜单中,点击“<ruby>系统<rt>System</rt></ruby>”,然后选择“<ruby>处理器<rt>Processor</rt></ruby>”标签。默认情况下,VirtualBox 只向客体系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快客体系统的速度:
|
||||
|
||||
![Assigning cores to guest system][15]
|
||||
|
||||
@ -81,55 +81,56 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
|
||||
![Network settings][16]
|
||||
|
||||
你也可以创建多个网络适配器。以下是网络适配器最常见的类型:
|
||||
* **NAT:** NAT适配器能自动执行 [网络地址转换][17]。从外部看,主机和访客系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问访客系统。(尽管,你也可以通过定义 [端口转发][18],来访问某些服务。)当你的主机系统可以访问互联网时,则你的访客系统也可以访问互联网。NAT 不再需要进一步的配置。
|
||||
* _如果你只需要让访客系统接入互联网就可以的话,请选择 **NAT**。_
|
||||
* **桥接适配器(Bridged adapter):** 在此配置中,访客系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。
|
||||
* _如果你想要共享访客系统的网络服务的话,请选择 **桥接适配器**。_
|
||||
* **仅限主机的适配器(Host-only adapter):** 在此配置中,访客系统只能与主机,或在同一主机上运行的其他访客系统,相互通信。主机系统也可以连接到访客系统。但访客系统不能接入互联网或物理网络。
|
||||
* _如果你想要获得高安全性,请选择 **仅限主机的适配器**。_
|
||||
|
||||
#### 分配操作系统映像
|
||||
* NAT:NAT 适配器能自动执行 [网络地址转换][17]。从外部看,主机和客体系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问客体系统。(尽管,你也可以通过定义 [端口转发][18],来访问某些服务。)当你的主机系统可以访问互联网时,则你的客体系统也可以访问互联网。NAT 不再需要进一步的配置。
|
||||
* _如果你只需要让客体系统接入互联网就可以的话,请选择 “NAT”。_
|
||||
* <ruby>桥接适配器<rt>Bridged adapter</rt></ruby>:在此配置中,客体系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。
|
||||
* _如果你想要共享客体系统的网络服务的话,请选择 “桥接适配器”。_
|
||||
* <ruby>仅限主机的适配器<rt>Host-only adapter</rt></ruby>:在此配置中,客体系统只能与主机,或在同一主机上运行的其他客体系统相互通信。主机系统也可以连接到客体系统。但客体系统不能接入互联网或物理网络。
|
||||
* _如果你想要获得高安全性,请选择 “仅限主机的适配器”。_
|
||||
|
||||
在设置菜单中,点击**存储**,然后选择虚拟光盘驱动器。单击右侧的 **光盘图标**,然后点击**选择一个磁盘文件...**,然后分配你想要安装的、已下载的 Linux 发行版映像:
|
||||
#### 分配操作系统镜像
|
||||
|
||||
在设置菜单中,点击“<ruby>存储<rt>Storage</rt></ruby>”,然后选择虚拟光盘驱动器。单击右侧的 “光盘”图标,然后点击“<ruby>选择一个磁盘文件……<rt>Choose a disk file…</rt></ruby>”,然后分配你想要安装的、已下载的 Linux 发行版镜像:
|
||||
|
||||
![Assigning OS image][19]
|
||||
|
||||
### 安装 Linux
|
||||
|
||||
现在,就已经配置好了虚拟机。右上角关闭**设置**菜单,返回主窗口。点击**绿色箭头**(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中:
|
||||
现在,就已经配置好了虚拟机。右上角关闭“<ruby>设置<rt>Settings</rt></ruby>”菜单,返回主窗口。点击“绿色箭头”(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中:
|
||||
|
||||
![VirtualBox Fedora installer][20]
|
||||
|
||||
#### 设置分区
|
||||
|
||||
安装程序将在安装过程中要求你提供分区信息。选择**自定义(Custom)**:
|
||||
安装程序将在安装过程中要求你提供分区信息。选择“<ruby>自定义<rt>Custom</rt></ruby>”:
|
||||
|
||||
![Selecting Custom partition configuration][21]
|
||||
|
||||
> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心访客系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 [Linux 系统交换空间的介绍][22] 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。
|
||||
> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心客体系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 《[Linux 系统交换空间的介绍][22]》 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。
|
||||
|
||||
Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分区可以用于存放分页和交换、并经过压缩过后的硬盘数据。zram 分区可以按需地调整大小,并且它比硬盘交换分区快得多。
|
||||
|
||||
为了简单,我们只添加以下两个挂载点(mount point):
|
||||
为了简单,我们只添加以下两个<ruby>挂载点<rt>Mount Point</rt></ruby>:
|
||||
|
||||
![Adding mount points][24]
|
||||
|
||||
保存更改,接下来我们继续安装。
|
||||
|
||||
### 安装 VirtualBox 增强功能 Guest Additions
|
||||
### 安装 VirtualBox 增强功能
|
||||
|
||||
完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 VirtualBox 增强功能,其中包括特殊的设备驱动程序和系统应用程序,他们能提供以下内容:
|
||||
完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 <ruby>VirtualBox 增强功能<rt>VirtualBox Guest Additions</rt></ruby>,其中包括特殊的设备驱动程序和系统应用程序,它们能提供以下功能:
|
||||
|
||||
* 共享剪贴板
|
||||
* 共享文件夹
|
||||
* 更好的性能
|
||||
* 可自由扩展的窗口大小
|
||||
|
||||
点击顶部菜单栏的**设备**,然后选择**插入增强功能的CD映像...**,来安装 VirtualBox 增强功能:
|
||||
点击顶部菜单栏的“<ruby>设备<rt>Devices</rt></ruby>”,然后选择“<ruby>插入增强功能的 CD 镜像……<rt>Insert Guest Additions CD image...</rt></ruby>”,来安装 VirtualBox 增强功能:
|
||||
|
||||
![Selecting Guest Additions CD image][25]
|
||||
|
||||
在大多数 Linux 发行版上,带有增强功能的CD映像会自动挂载,并且能够在 File Browser 文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击**运行**,并授予该安装进程 root 权限:
|
||||
在大多数 Linux 发行版上,带有增强功能的 CD 镜像会自动挂载,并且能够在文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击“<ruby>运行<rt>Run</rt></ruby>”,并授予该安装进程 root 权限:
|
||||
|
||||
![Enabling Guest Additions autorun][26]
|
||||
|
||||
@ -141,7 +142,7 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分
|
||||
|
||||
![Fedora hard disk running out of space][27]
|
||||
|
||||
正如我提到的,Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有新安装其他软件(除了 VirtualBox Guest Additions),启动项就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。
|
||||
正如我提到的,Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有安装其他软件(除了 VirtualBox 增强功能)的一个新安装的系统就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。
|
||||
|
||||
幸运的是,我选择了附带有 LVM 的 Fedora,这样我就可以用命令行轻松地修复这个问题。
|
||||
|
||||
@ -150,10 +151,10 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分
|
||||
关闭虚拟机。如果你的主机系统运行的是 Windows,请打开终端,并进入到 `C:\Program Files\Oracle\VirtualBox` 目录下。使用以下命令,将磁盘大小扩大到 12,000MB:
|
||||
|
||||
```
|
||||
`VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000`
|
||||
VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000
|
||||
```
|
||||
|
||||
然后启动虚拟机,并打开**磁盘**的利用。你可以看到你刚刚新创建且未分配的可用空间。选择**可用空间**,然后单击 **+** 按钮:
|
||||
然后启动虚拟机,并打开“<ruby>磁盘<rt>Disks</rt></ruby>”工具。你可以看到你刚刚新创建且未分配的可用空间。选择“<ruby>可用空间<rt>Free Space</rt></ruby>”,然后单击 “+” 按钮:
|
||||
|
||||
![Free space before adding][28]
|
||||
|
||||
@ -161,12 +162,11 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分
|
||||
|
||||
![Creating a new partition and setting size][29]
|
||||
|
||||
You don't want to create a filesystem or anything else on your new partition, so select **Other**:
|
||||
如果你不想在新分区上创建文件系统或任何其他内容,请选择**其他**:
|
||||
如果你不想在新分区上创建文件系统或任何其他内容,请选择“<ruby>其他<rt>Other</rt></ruby>”:
|
||||
|
||||
![Selecting "other" for partition volume type][30]
|
||||
|
||||
选择**无文件系统**:
|
||||
选择“<ruby>无文件系统<rt>No Filesystem</rt></ruby>”:
|
||||
|
||||
![Setting "No filesystem" on new partition][31]
|
||||
|
||||
@ -174,26 +174,26 @@ You don't want to create a filesystem or anything else on your new partition, so
|
||||
|
||||
![VirtualBox after adding new partition][32]
|
||||
|
||||
虚拟机有了一个新的分区设备:**/dev/sda3**。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 **fedora_localhost_live** 这一LVM 卷组 :
|
||||
虚拟机有了一个新的分区设备:`/dev/sda3`。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 `fedora_localhost_live` 这一 LVM 卷组 :
|
||||
|
||||
![Checking LVM volume group by typing vgscan:][33]
|
||||
|
||||
现在,已经万事俱备了。在新分区 **/dev/sda3** 中扩展卷组 **fedora_localhost_live**:
|
||||
现在,已经万事俱备了。在新分区 `/dev/sda3` 中扩展卷组 `fedora_localhost_live`:
|
||||
|
||||
```
|
||||
`vgextend fedora_localhost-live /dev/sda3`
|
||||
vgextend fedora_localhost-live /dev/sda3
|
||||
```
|
||||
|
||||
![vgextend command output][34]
|
||||
|
||||
由于卷组较大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的空闲扩展:
|
||||
由于卷组比逻辑卷大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的物理扩展(PE):
|
||||
|
||||
![vgdisplay command output][35]
|
||||
|
||||
将逻辑卷增加 951 个扩展:
|
||||
将逻辑卷增加 951 个物理扩展:
|
||||
|
||||
```
|
||||
`lvextend -l+951 /dev/mapper/fedora_localhost--live-root`
|
||||
lvextend -l+951 /dev/mapper/fedora_localhost--live-root
|
||||
```
|
||||
|
||||
![lvextend command output][36]
|
||||
@ -201,16 +201,16 @@ You don't want to create a filesystem or anything else on your new partition, so
|
||||
在增加了逻辑卷后,最后一件事就是调整文件系统的大小:
|
||||
|
||||
```
|
||||
`resize2fs /dev/mapper/fedora_localhost--live-root`
|
||||
resize2fs /dev/mapper/fedora_localhost--live-root
|
||||
```
|
||||
|
||||
![resize2fs command output][37]
|
||||
|
||||
这样磁盘空间就增加完成了!检查**磁盘使用分析器**,你就可以看到扩展空间已经可用于文件系统了。
|
||||
这样磁盘空间就增加完成了!检查“<ruby>磁盘使用分析器<rt>Disk Usage Analyzer</rt></ruby>”,你就可以看到扩展空间已经可用于文件系统了。
|
||||
|
||||
### 总结
|
||||
|
||||
使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统,软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于高级用户来说,VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。
|
||||
使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统、软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于资深用户来说,VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -219,7 +219,7 @@ via: https://opensource.com/article/21/6/try-linux-virtualbox
|
||||
作者:[Stephan Avenwedde][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[chai001125](https://github.com/chai001125)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -3,13 +3,14 @@
|
||||
[#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "Donkey-Hao"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15182-1.html"
|
||||
|
||||
利用习惯练习开放式组织原则
|
||||
======
|
||||
你可以按照以下步骤,来养成符合开放文化的习惯,并改掉那些不符合开放文化的习惯。
|
||||
|
||||
> 你可以按照以下步骤,来养成符合开放文化的习惯,并改掉那些不符合开放文化的习惯。
|
||||
|
||||
![Selfcare, drinking tea on the porch][1]
|
||||
|
||||
@ -44,9 +45,9 @@
|
||||
|
||||
### 养成习惯的 3 个步骤
|
||||
|
||||
1、提示(触发器):首先,提示或者触发器会告诉大脑,进入之前学习的习惯性行为的自动模式之中。这里的提示可以是某件事,比如每天在确定的时间点、在确定的地点,看到一包糖果或者看到电视购物节目,亦或者看到某个特定的人。时间压力会触发你去做例行事项(routine)。在令人崩溃的环境下也会触发例行事项。简而言之,某件事提醒你开始做一些固定的事情。
|
||||
2、例行事项(routine):例行事项会被触发。一个例行事项是一系列的身体、心理或者情绪上的表现,可以是非常复杂的,也可以十分简单。诸如与心情相关的一些习惯可以在很短时间内被触发。
|
||||
3、奖励:最后一步是奖励,奖励会帮助你的大脑计算一个特定的行为是否值得记住。奖励的范围很广泛,可以是食物或者其他令你感到快乐的东西。
|
||||
1. 提示(触发器):首先,提示或者触发器会告诉大脑,进入之前学习的习惯性行为的自动模式之中。这里的提示可以是某件事,比如每天在确定的时间点、在确定的地点,看到一包糖果或者看到电视购物节目,亦或者看到某个特定的人。时间压力会触发你去做例行事项(routine)。在令人崩溃的环境下也会触发例行事项。简而言之,某件事提醒你开始做一些固定的事情。
|
||||
2. <ruby>例行事项<rt>routine</rt></ruby>:例行事项会被触发。一个例行事项是一系列的身体、心理或者情绪上的表现,可以是非常复杂的,也可以十分简单。诸如与心情相关的一些习惯可以在很短时间内被触发。
|
||||
3. 奖励:最后一步是奖励,奖励会帮助你的大脑计算一个特定的行为是否值得记住。奖励的范围很广泛,可以是食物或者其他令你感到快乐的东西。
|
||||
|
||||
### 商业环境中的坏习惯
|
||||
|
||||
@ -65,11 +66,11 @@
|
||||
|
||||
以下是你可以用来改变任何习惯的四步框架,其中还包括与开放式组织原则相关的习惯。
|
||||
|
||||
##### 第一步:调整例行事项
|
||||
#### 第一步:调整例行事项
|
||||
|
||||
确定你的习惯循环和例行事项,例如,当面临一件你无法独自解决的重大挑战之时。例行事项(你表现出的行为)最容易确定,所以先从它下手:例如,“在我的组织中,没人愿意和别人讨论问题。大家都会早早地放弃”。决定好你想要调整、改变或者学习的事情:例如:“每次重大挑战到来的时候,我应该和他人讨论一下,并且尝试建立一个志同道合、有能力解决问题的社区。”
|
||||
|
||||
##### 第二步:有奖励的实验
|
||||
#### 第二步:有奖励的实验
|
||||
|
||||
奖励是很重要的,因为它会满足你强烈的渴望。但是,我们通常没有意识到强烈的渴望会驱动我们的行为。只有在事后,才会被我们察觉。比方说,开会时很多次你都想尽快离开会议室,避免讨论话题,即使内心清楚你应该弄明白如何解决问题。
|
||||
|
||||
@ -77,15 +78,12 @@
|
||||
|
||||
把你自己当作科学家,进行实验并收集数据。这是你调查研究的步骤:
|
||||
|
||||
1、第一个行为结束后,开始调整后面的行为,看看有没有奖励变化。例如,如果你每次碰到自己无法解决的挑战时都放弃,那么奖励就是不承担责任的解脱。更好的解决方法是与至少一个同样关心该问题的人讨论该问题。关键是要测试不同的假设,以确定哪种渴望驱使你的日常生活。你真的想逃避责任吗?
|
||||
1. 第一个行为结束后,开始调整后面的行为,看看有没有奖励变化。例如,如果你每次碰到自己无法解决的挑战时都放弃,那么奖励就是不承担责任的解脱。更好的解决方法是与至少一个同样关心该问题的人讨论该问题。关键是要测试不同的假设,以确定哪种渴望驱使你的日常生活。你真的想逃避责任吗?
|
||||
2. 在经历四至五个不同的例行事项和奖励之后,写下在收到每个奖励后立即想到的前三、四件事。例如,你不会在面对挑战时放弃,而是与其他人讨论这个问题。然后,你决定可以做什么。
|
||||
3. 写下你的感受或渴望后,设置一个 15 分钟的计时器。当计时器结束时,问问自己是否依旧渴望。在屈服于渴望之前,请休息一会儿并再考虑一两次这个问题。这会迫使你意识到这一刻,并帮助你稍后回忆起你当时的想法。
|
||||
4. 试着记住你在那一刻的想法和感受,然后在例行事项后 15 分钟。如果渴望消失了,你就已经确定了回报是什么。
|
||||
|
||||
2、在经历四至五个不同的例行事项和奖励之后,写下在收到每个奖励后立即想到的前三、四件事。例如,你不会在面对挑战时放弃,而是与其他人讨论这个问题。然后,你决定可以做什么。
|
||||
|
||||
3、写下你的感受或渴望后,设置一个 15 分钟的计时器。当计时器结束时,问问自己是否依旧渴望。在屈服于渴望之前,请休息一会儿并再考虑一两次这个问题。这会迫使你意识到这一刻,并帮助你稍后回忆起你当时的想法。
|
||||
|
||||
4、试着记住你在那一刻的想法和感受,然后在例行事项后 15 分钟。如果渴望消失了,你就已经确定了回报是什么。
|
||||
|
||||
##### 第三步:分析出坏习惯的提示或触发器
|
||||
#### 第三步:分析出坏习惯的提示或触发器
|
||||
|
||||
坏习惯的提示信息很难鉴定,因为通常有太多信息干扰你未定型的行为。要在干扰中鉴别提示,你可以在你的坏习惯出现的时候,观察以下四个因素:
|
||||
|
||||
@ -97,24 +95,24 @@
|
||||
|
||||
人们:当时有谁或者哪一类人在你周围,还是你是独自一人?例如:“在会议上,大多数人似乎对这个问题也不感兴趣。剩下的人主导会议讨论。”
|
||||
|
||||
##### 第四步:制定养成好习惯的计划
|
||||
#### 第四步:制定养成好习惯的计划
|
||||
|
||||
一旦你确定奖励可以驱动你的行为,某些提示会触发你的坏习惯,那你就可以开始改变你的行动。请跟随以下三个简单的步骤:
|
||||
|
||||
1、首先,规划好习惯的提示。例如:“在会议上,我将发现并将我的注意力集中在重要的问题上。”
|
||||
2、其次,选择一种能带来相同回报的好行为,但不会遭受你现在坏习惯的惩罚。例如:“我将找到解决这个问题的方法,并考虑我需要哪些资源和技能才能成功。当我创建一个能够成功解决问题的社区时,我会感觉很棒。”
|
||||
3、最后,让你选择的行为成为深思熟虑的选择,直到你不再需要考虑它,就能下意识地做它了。例如:“我将有意识地关注重要问题,直到我可以不假思索地做到这一点。我会查看近期会议的安排表,这样我就可以提前知道会发生什么。在每次会议开始前和会议期间,我会问自己‘为什么我会来开会’,来确保我集中注意于重要的事情。”
|
||||
1. 首先,规划好习惯的提示。例如:“在会议上,我将发现并将我的注意力集中在重要的问题上。”
|
||||
2. 其次,选择一种能带来相同回报的好行为,但不会遭受你现在坏习惯的惩罚。例如:“我将找到解决这个问题的方法,并考虑我需要哪些资源和技能才能成功。当我创建一个能够成功解决问题的社区时,我会感觉很棒。”
|
||||
3. 最后,让你选择的行为成为深思熟虑的选择,直到你不再需要考虑它,就能下意识地做它了。例如:“我将有意识地关注重要问题,直到我可以不假思索地做到这一点。我会查看近期会议的安排表,这样我就可以提前知道会发生什么。在每次会议开始前和会议期间,我会问自己‘为什么我会来开会’,来确保我集中注意于重要的事情。”
|
||||
|
||||
##### 指定计划来避免忘记必做事项
|
||||
#### 制定计划来避免忘记必做事项
|
||||
|
||||
为了成功地开始做你经常忘记的事情,请按照以下步骤:
|
||||
|
||||
1、 计划你想要做什么
|
||||
2、 决定何时完成
|
||||
3、 将计划分为必要的小任务
|
||||
4、 用计时器或者日常计划进行提示,并开始每项任务
|
||||
5、 按计划完成每个任务
|
||||
6、 按时完成后就奖励自己
|
||||
1. 计划你想要做什么
|
||||
2. 决定何时完成
|
||||
3. 将计划分为必要的小任务
|
||||
4. 用计时器或者日常计划进行提示,并开始每项任务
|
||||
5. 按计划完成每个任务
|
||||
6. 按时完成后就奖励自己
|
||||
|
||||
### 习惯的改变
|
||||
|
||||
@ -133,7 +131,7 @@ via: https://opensource.com/open-organization/22/6/using-habits-practice-open-or
|
||||
作者:[Ron McFarland][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[Donkey-Hao](https://github.com/Donkey-Hao)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -3,61 +3,60 @@
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15168-1.html"
|
||||
|
||||
在 GNOME 文件中以 Root 身份打开文件的最简单方法
|
||||
在 GNOME 文件应用中以 Root 身份打开文件的最简单方法
|
||||
======
|
||||
这是在 GNOME Files 中以 root 身份访问文件或目录的最简单方法。
|
||||
|
||||
> 这是在 GNOME 文件应用中以 root 身份访问文件或目录的最简单方法。
|
||||
|
||||
![][1]
|
||||
|
||||
在 Windows 中,你通常可以在右键单击上下文菜单中以“以管理员身份打开”的方式打开文件或文件夹。
|
||||
|
||||
该功能是文件管理器的一部分,即适用于 Windows。它是 Windows 资源管理器的一部分。但是,它是由操作系统及其权限控制模块执行的。
|
||||
该功能是文件管理器的一部分,对于 Windows,它是 Windows 资源管理器的一部分。但是,它是由操作系统及其权限控制模块执行的。
|
||||
|
||||
在 Linux 发行版和文件管理器中,情况略有不同。不同的桌面有自己的处理方式。
|
||||
在 Linux 发行版及其文件管理器中,情况略有不同。不同的桌面有自己的处理方式。
|
||||
|
||||
由于以管理员(或 root)身份修改文件和文件夹是有风险的,并且可能导致系统损坏,因此用户无法通过文件管理器的 GUI 轻松使用该功能。
|
||||
由于以管理员(root)身份修改文件和文件夹是有风险的,并且可能导致系统损坏,因此用户无法通过文件管理器的 GUI 轻松使用该功能。
|
||||
|
||||
例如,KDE Plasma 的默认文件管理器 Dolphin 最近[添加了此功能][2],因此当需要 root 权限时,它会通过 PolicyKit KDE Agent (polkit) 窗口询问你,如下所示。而不是相反的方式。你想在文件管理器中通过 root 打开/执行一些东西。
|
||||
|
||||
值得一提的是,你不能使用 “sudo dolphin” 以 root 权限运行文件管理器本身。
|
||||
例如,KDE Plasma 的默认文件管理器(Dolphin)最近 [添加了此功能][2],因此当需要 root 权限时,它会通过 PolicyKit KDE Agent(polkit)窗口询问你,如下所示。
|
||||
|
||||
![使用 Polkit 实现 KIO 后的 Dolphin root 访问权限][3]
|
||||
|
||||
在某种程度上,它挽救了许多不可预见的情况。但是高级用户总是可以通过终端使用 sudo 来完成他们的工作。
|
||||
而不是相反的方式。比如,你想在文件管理器中通过 root 打开/执行一些东西时,你不能使用 `sudo dolphin` 以 root 权限运行文件管理器本身。
|
||||
|
||||
### GNOME Files (Nautilus) 和对文件、目录的 root 访问权限
|
||||
在某种程度上,它挽救了许多不可预见的情况。但是高级用户总是可以通过终端使用 `sudo` 来完成他们的工作。
|
||||
|
||||
话虽如此,[GNOME Files][4](又名 Nautilus)有一种方法可以通过 root 打开文件和文件夹。
|
||||
### GNOME 文件应用(Nautilus)和对文件、目录的 root 访问权限
|
||||
|
||||
以下是方法。
|
||||
话虽如此,[GNOME 文件应用][4](又名 Nautilus)有一种方法可以通过 root 打开文件和文件夹。
|
||||
|
||||
* 打开 GNOME Files 或 Nautilus。
|
||||
* 然后单击左侧窗格中的其他位置。
|
||||
* 按 CTRL+L 调出地址栏。
|
||||
以下是方法:
|
||||
|
||||
* 打开 GNOME 文件应用(Nautilus)。
|
||||
* 然后单击左侧窗格中的“<ruby>其他位置<rt>Other Locations</rt></ruby>”。
|
||||
* 按 `CTRL+L` 调出地址栏。
|
||||
* 在地址栏中,输入下面的内容并回车。
|
||||
|
||||
```
|
||||
admin:///
|
||||
```
|
||||
|
||||
* 它会要求输入管理员密码。当你成功验证自己,你就会以管理员身份打开系统。
|
||||
```
|
||||
admin:///
|
||||
```
|
||||
* 它会要求输入管理员密码。当你成功验证,你就会以管理员身份打开系统。
|
||||
* 现在,从这里开始,无论你做什么,它都是管理员或 root。
|
||||
|
||||
![以管理员身份输入位置地址][5]
|
||||
|
||||
![输入管理员密码][6]
|
||||
|
||||
![以 root 身份打开 GNOME Files][7]
|
||||
![以 root 身份打开 GNOME 文件应用][7]
|
||||
|
||||
但是,与往常一样,请小心你作为管理员所做的事情。在你以 root 身份验证自己之后,通常很容易忘记。
|
||||
|
||||
这些选项不容易看到总是有原因的,以防止你和许多新的 Linux 用户破坏他们的系统。
|
||||
|
||||
干杯。
|
||||
祝好。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -66,7 +65,7 @@ via: https://www.debugpoint.com/gnome-files-root-access/
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -3,28 +3,31 @@
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15181-1.html"
|
||||
|
||||
如何在 Ubuntu Server 22.04 上设置静态 IP 地址
|
||||
如何在 Ubuntu 服务器 22.04 上设置静态 IP 地址
|
||||
======
|
||||
在这篇文章中,我们将介绍如何在 Ubuntu Server 22.04 上设置静态 IP 地址。
|
||||
|
||||
强烈建议在 linux 服务器上使用静态 ip,因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/27/091312aohaix6g6kay68xa.jpg)
|
||||
|
||||
##### 先决条件
|
||||
> 在这篇文章中,我们将介绍如何在 Ubuntu 服务器 22.04 上设置静态 IP 地址。
|
||||
|
||||
* 最小安装的 Ubuntu Server 22.04
|
||||
* 具有 sudo 管理员权限的普通用户
|
||||
强烈建议在 Linux 服务器上使用静态 IP,因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。
|
||||
|
||||
在 Ubuntu Server 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu Server 上配置静态 IP 地址。
|
||||
**准备条件**
|
||||
|
||||
注意:我们不能使用 [nmcli 程序][1],因为它不是 Ubuntu Server 上默认安装的一部分。
|
||||
* 最小安装的 Ubuntu 服务器 22.04
|
||||
* 具有 `sudo` 管理员权限的普通用户
|
||||
|
||||
### 在 Ubuntu Server 22.04 上设置静态 IP 地址
|
||||
在 Ubuntu 服务器 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu 服务器上配置静态 IP 地址。
|
||||
|
||||
登录到你的 Ubuntu Server 22.04,查找 netplan 配置文件。它位于 /etc/netplan 目录下。
|
||||
注意:我们不能使用 [nmcli 程序][1],因为它不是 Ubuntu 服务器上默认安装的一部分。
|
||||
|
||||
### 在 Ubuntu 服务器 22.04 上设置静态 IP 地址
|
||||
|
||||
登录到你的 Ubuntu 服务器 22.04,查找 netplan 配置文件。它位于 `/etc/netplan` 目录下。
|
||||
|
||||
```
|
||||
$ cd /etc/netplan/
|
||||
@ -34,7 +37,7 @@ total 4
|
||||
$
|
||||
```
|
||||
|
||||
运行以下 cat 命令以查看 “00-installer-config.yaml” 的内容
|
||||
运行以下 `cat` 命令以查看 `00-installer-config.yaml` 的内容。
|
||||
|
||||
注意:配置文件的名称可能因你的设置而异。由于它是一个 yaml 文件,因此请确保在编辑时保持缩进和语法。
|
||||
|
||||
@ -42,13 +45,13 @@ $
|
||||
$ cat 00-installer-config.yaml
|
||||
```
|
||||
|
||||
输出:
|
||||
输出:
|
||||
|
||||
![Default-Content-netplan-ubuntu-server][2]
|
||||
|
||||
根据上面的输出,它说我们有 ens33 接口,它正在从 dhcp 服务器获取 ip。查看接口名称的另一种方法是通过 ip 命令。
|
||||
根据上面的输出,它说我们有 `ens33` 接口,它正在从 DHCP 服务器获取 IP。查看接口名称的另一种方法是通过 `ip` 命令。
|
||||
|
||||
现在,要配置静态 ip 代替 dhcp,使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。
|
||||
现在,要配置静态 IP 代替 DHCP,使用 `vi` 或 `nano` 编辑器编辑 netplan 配置文件并添加以下内容。
|
||||
|
||||
```
|
||||
$ sudo vi 00-installer-config.yaml
|
||||
@ -73,20 +76,20 @@ network:
|
||||
|
||||
在上面的文件中,我们使用了以下内容,
|
||||
|
||||
* ens33 为接口名称
|
||||
* 用于设置静态 ip 的地址
|
||||
* nameservers 用于指定 DNS 服务器的 ip
|
||||
* `ens33` 为接口名称
|
||||
* 用于设置静态 IP 的地址
|
||||
* `nameservers` 用于指定 DNS 服务器的 IP
|
||||
* 用于指定默认网关的路由
|
||||
|
||||
注意:根据你的环境更改 IP 详细信息和接口名称。
|
||||
|
||||
要是上述修改生效,请使用以下 netplan 命令应用这些更改:
|
||||
要是上述修改生效,请使用以下 `netplan` 命令应用这些更改:
|
||||
|
||||
```
|
||||
$ sudo netplan apply
|
||||
```
|
||||
|
||||
运行以下 ip 命令查看接口上的 ip 地址:
|
||||
运行以下 IP 命令查看接口上的 IP 地址:
|
||||
|
||||
```
|
||||
$ ip addr show ens33
|
||||
@ -102,7 +105,7 @@ $ ip route show
|
||||
|
||||
![ip-addr-route-command-output-ubuntu-server][4]
|
||||
|
||||
完美,以上命令的输出确认静态ip和路由配置成功。
|
||||
完美,以上命令的输出确认静态 IP 和路由配置成功。
|
||||
|
||||
这就是这篇文章的全部内容。请在下面的评论部分发表你的问题和反馈。
|
||||
|
||||
@ -113,7 +116,7 @@ via: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,111 @@
|
||||
[#]: subject: "Open source DevOps tools in a platform future"
|
||||
[#]: via: "https://opensource.com/article/22/10/open-source-devops-tools"
|
||||
[#]: author: "Will Kelly https://opensource.com/users/willkelly"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "lxbwolf"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15170-1.html"
|
||||
|
||||
开源 DevOps 工具的平台化未来
|
||||
======
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/24/092748lwwoicus5e4s59gg.jpg)
|
||||
|
||||
> 当商业 DevOps 工具市场着眼于平台时,是时候让开源 DevOps 工具重新定义它们的未来了。
|
||||
|
||||
DevOps 的开源根基是无法动摇的,即便有预言称全球的 DevOps 市场将在 2026 年之前达到 178 亿美元。不断变化的工作环境、安全和合规性问题,以及风险投资公司等等因素正在将市场推向 DevOps 平台,开发团队可以在云中获得完整的端到端 DevOps 工具链。
|
||||
|
||||
### 开源 DevOps 工具现状
|
||||
|
||||
我们要搞清楚一件事:开源工具不可能从 DevOps 世界中消失。现在,在开源和供应商提供的 DevOps 工具之间存在着一种平衡,开发人员会在两者间选择适合他们的工具。事实上,很多情况下,一个开发团队起初会为他们的 DevOps 流水线选择一个开源工具,后来又升级到商业版本。
|
||||
|
||||
### 三种开源 DevOps 工具实例
|
||||
|
||||
下面我们介绍一些开源 DevOps 工具的例子,每种工具都已经有了围绕其建立的商业化生态。
|
||||
|
||||
#### Git
|
||||
|
||||
源代码管理工具 [Git][1] 作为源代码库,可能是 DevOps 工具链的主要基础之一。
|
||||
|
||||
Git 的两个最佳商业案例是 GitLab 和 GitHub。GitLab [接受开发者对其贡献开源项目][2]。GitHub 也在着手努力成为一个 DevOps 平台,推出了人工智能版的结对编程 GitHub Copilot,在推出后受到了一些开源团体的褒贬不一的评价。
|
||||
|
||||
#### Jenkins
|
||||
|
||||
作为一个开源的自动化服务,Jenkins 因其易于安装、配置和可扩展性而受到推崇。
|
||||
|
||||
CloudBees 提供了 JenkinsX,JenkinsX 是一套开源的解决方案,可以为 Kubernetes 上的云原生应用提供自动化持续集成和持续交付(CI/CD)以及自动化测试工具。他们还为JenkinsX 提供商业支持,包括:
|
||||
|
||||
- 访问 CloudBees 的专业技术技能
|
||||
- 24x7 技术支持
|
||||
- 访问 CloudBees 的文档和在线知识库
|
||||
|
||||
#### Kubernetes
|
||||
|
||||
随着越来越多的组织寻求企业级的容器编排解决方案,[Kubernetes][3] 的发展成为必然。尽管有人批评其复杂性。
|
||||
|
||||
自然而然的,Kubernetes 周边有完整的、蓬勃发展的产业。根据 Allied 市场调研的数据,全球容器和 [Kubernetes 安全][4] 市场在 2020 年的估值为 7.14 亿美元,预计到 2030 年将达到 8.42 亿美元。
|
||||
|
||||
### 目前的 DevOps 工具链
|
||||
|
||||
各个行业仍有很多<ruby>自建<rt>build-your-own</rt></ruby>(BYO)的 CI/CD 工具链在发挥作用。支持 DevOps 功能的开源项目仍在蓬勃发展。
|
||||
|
||||
BYO 工具链可以集成其他工具,而且非常具有扩展性,这对于持续迭代其 DevOps 实践的组织来说一直是一个优势。在出于业务、IT 和安全原因寻求标准化的企业中,缺乏标准的材料清单可能是个麻烦。
|
||||
|
||||
虽然 DevOps 平台的出现并没有被忽视,但许多组织早在大流行之前就将他们的 CI/CD 工具链迁移到了公有云。长期以来,工具链本身的安全性一直是一个不断上升的问题,而公有云基础设施提供了身份访问管理(IAM)和其他安全功能来控制访问。
|
||||
|
||||
### DevOps 平台是敌是友?
|
||||
|
||||
DevOps 平台是一个端到端的解决方案,它将 CI/CD 工具链的所有功能放入云中。DevOps 平台的例子包括 GitLab 和 Harness。GitHub 也在采取行动,使自己成为一个 DevOps 平台。
|
||||
|
||||
#### 优势(即便只从企业买家角度考虑)
|
||||
|
||||
DevOps 平台对那些已经适应了 SaaS 和云计算行业的基于消费和订阅的定价的企业买家很有吸引力。在这个远程和混合工作的世界里,对可维护性、安全、合规性和开发人员的生产力的担忧肯定是技术领导者的首要考虑。对这些人来说,在 DevOps 平台上实现标准化是很有吸引力的。
|
||||
|
||||
#### 劣势
|
||||
|
||||
在依赖供应商提供的 DevOps 工具链时,人们会想到对供应商锁定功能的古老担忧。开发团队构建和维护其工具链的可扩展性不会像他们从头开始制作工具链时那样,更不用说引入新的工具来改善他们的工作流程了。
|
||||
|
||||
DevOps 平台供应商也有潜在的经济方面的劣势。想一想,一个被高估的 DevOps 工具初创公司如果没有达到其投资者的高额财务目标,可能会发生什么。同样,也可能有一些较小的初创供应商得不到下一轮的资金,而慢慢消失。
|
||||
|
||||
虽然 DevOps 平台的出现在很多方面都是有意义的,但它确实违背了促成我们今天使用的 DevOps 工具的开源精神。
|
||||
|
||||
### DevOps 工具:一个拐点
|
||||
|
||||
随着工作模式的改变,人们对 DevOps 工具链的安全和合规性的关注必然会增加。
|
||||
|
||||
#### 正在变化的工作环境
|
||||
|
||||
我们的工作方式与企业其他部门一样影响着 DevOps 团队。远程和混合 DevOps 团队需要安全的工具链。整个流水线中不断变化的协作和报告要求,如异步工作和经理要求返回办公室等,也是日益增长的必要条件。
|
||||
|
||||
#### 软件供应链安全市场
|
||||
|
||||
在高调的攻击和美国联邦政府的回应之后,软件供应链安全市场引起了很多关注。目前还没有组织将软件供应链的攻击归咎于开源,但我们将看到 DevOps/DevSecOps 实践和工具的延伸,以对抗这种威胁。不过,当一切都结束时,DevOps/DevSecOps 的工具和实践将超过一些转向这一趋势的初创公司。
|
||||
|
||||
### 结语
|
||||
|
||||
对于 DevOps 领域的开源软件(OSS)项目来说,这还远远没有结束,但 DevOps 利益相关者有权开始询问未来的工具链。然而,OSS DevOps 项目确实需要考虑它们的未来,特别是考虑到日益增长的直接影响流水线的安全和合规性问题。
|
||||
|
||||
DevOps 平台供应商与开源工具的未来趋势是合作性竞争,即 DevOps 平台供应商向作为其平台基础的开源工具贡献时间、金钱和资源。一个有趣的例子就是 [OpsVerse][5],它用他们为客户管理的开源工具提供了一个 DevOps 平台。
|
||||
|
||||
然后,还有一个未来,随着更多的企业构建的工具链迁移到云端,开源 DevOps 工具项目将继续繁荣和创新。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/open-source-devops-tools
|
||||
|
||||
作者:[Will Kelly][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[lxbwolf](https://github.com/lxbwolf)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/willkelly
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/22/4/our-favorite-git-commands
|
||||
[2]: https://opensource.com/article/19/9/how-contribute-gitlab
|
||||
[3]: https://opensource.com/resources/what-is-kubernetes
|
||||
[4]: https://enterprisersproject.com/article/2019/1/kubernetes-security-4-tips-manage-risks?intcmp=7013a000002qLH8AAM
|
||||
[5]: https://www.opsverse.io/
|
||||
[6]: https://www.redhat.com/architect/devsecops-culture?intcmp=7013a000002qLH8AAM
|
@ -0,0 +1,38 @@
|
||||
[#]: subject: "GitHub Copilot Appears To Be In Violation Of The Open Source Licence"
|
||||
[#]: via: "https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/"
|
||||
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15167-1.html"
|
||||
|
||||
GitHub Copilot 似乎违反了开源许可证的规定
|
||||
======
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/23/100112lms67c7e8mow8sv6.jpg)
|
||||
|
||||
> 自 Copilot 首次亮相以来,Butterick 就对该计划提出了批评。
|
||||
|
||||
微软在 2018 年支付 75 亿美元收购了 GitHub,此后将这个代码仓库整合到其开发者工具中,同时在很大程度上采取了放手的态度。Matthew Butterick 是一名作家、律师,也是一名程序员,他认为微软基于机器学习的代码助手 GitHub Copilot 存在一些问题,它似乎不正确地对待开源代码许可证。
|
||||
|
||||
GitHub Copilot 是 Visual Studio 和其他 IDE 的一个插件,通过在你输入时提供代码完成的 “建议” 来运作。Codex 是该系统的动力源。然而,Butterick 等开发者认为 AI 在如何学习方面存在问题,或者更具体地说,AI 是从哪里训练的。
|
||||
|
||||
这里的问题是,GitHub 所训练的公开代码仓库是有许可证的,当他们的工作被利用时,需要按照许可证进行。虽然微软对其使用代码的问题一直避而不谈,称其为合理使用,但 Copilot 除了提供建议外,还能生成逐字逐句的代码部分。
|
||||
|
||||
根据 Codex(由微软授权)的开发者 OpenAI的说法,“Codex 是在数以千万计的公开代码仓库中训练出来的,包括 GitHub 上的代码。”微软自己也含糊地将训练材料描述为数十亿行的公共代码。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/
|
||||
|
||||
作者:[Laveesh Kocher][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.opensourceforu.com/author/laveesh-kocher/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/10/github-logo-2-1-696x348.png
|
120
published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md
Normal file
120
published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md
Normal file
@ -0,0 +1,120 @@
|
||||
[#]: subject: "Kubuntu 22.10 is Now Available!"
|
||||
[#]: via: "https://news.itsfoss.com/kubuntu-22-10-release/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15173-1.html"
|
||||
|
||||
Kubuntu 22.10 的新变化
|
||||
======
|
||||
|
||||
> Kubuntu 22.10 可能不是最令人兴奋的升级。但是,它包括了一些有用的变化。
|
||||
|
||||
![Kubuntu 22.10 现已发布][1]
|
||||
|
||||
Kubuntu 是 Ubuntu 的一个官方版本,它在一个精致的 KDE 驱动的软件包中提供了很多功能。
|
||||
|
||||
Kubuntu 22.10 的发布带来了各种改进和一个 [KDE Plasma][2] 的更新版本。
|
||||
|
||||
让我们来看看这个版本的亮点。
|
||||
|
||||
### Kubuntu 22.10 有什么新变化?
|
||||
|
||||
![Kubuntu 22.10 桌面][3]
|
||||
|
||||
Kubuntu 22.10 带来了很多更新,其中一些重要的更新包括:
|
||||
|
||||
- KDE Plasma 5.25
|
||||
- Linux 内核 5.19
|
||||
- PipeWire
|
||||
- Firefox 104
|
||||
- Qt 5.15.6
|
||||
|
||||
> 💡 Kubuntu 22.10 将被支持九个月,直到 **2023 年 7 月**。如果你想要稳定而不是功能,你应该更喜欢使用 [LTS 版本][4]。
|
||||
|
||||
#### KDE Plasma 5.25
|
||||
|
||||
![Kubuntu 22.10 KDE 版本][5]
|
||||
|
||||
尽管最近 [KDE Plasma 5.26][6] 已经发布了,但 Kubuntu 22.10 还是搭载了 KDE Plasma 5.25。
|
||||
|
||||
然而,KDE Plasma 5.25 与 5.24 相比仍然是一个重大的更新,它包含了很多改进,例如,加强了对触摸板/触摸屏的支持,升级了用户界面等等。
|
||||
|
||||
你可以阅读我们对 KDE Plasma 5.25 的报道来了解更多。
|
||||
|
||||
> **[KDE Plasma 5.25:颜色、主题和其他改进][15]**
|
||||
|
||||
另外,你可以期待 KDE Plasma 5.26 作为一个小版本发布,而不是作为 Kubuntu 22.10 发布的一部分。
|
||||
|
||||
#### 默认采用 PipeWire
|
||||
|
||||
像大多数基于 Ubuntu 22.10 的发行版一样,[PipeWire][7] 是这个版本的 Kubuntu 的默认音频/视频处理器。
|
||||
|
||||
它取代了 [PulseAudio][8],众所周知,它与 Ubuntu 22.10 不兼容。
|
||||
|
||||
#### Linux 内核 5.19
|
||||
|
||||
![Kubuntu 22.10 Linux 内核 5.19][9]
|
||||
|
||||
Kubuntu 22.10 采用了最新的 Linux 内核 5.19,这应该会带来对 ARM SoC 和 Arc Alchemist GPU 的支持、Btrfs 的各种改进、对 AMD RDNA3 图形的初步支持等等。
|
||||
|
||||
#### 测试用的 Wayland 会话
|
||||
|
||||
![Kubuntu 22.10 Wayland 会话切换器][10]
|
||||
|
||||
Kubuntu 22.10 具有对 Plasma Wayland 会话的初步支持,但它仅用于测试目的,并不是一个完整的集成。
|
||||
|
||||
![Kubuntu 22.10 Wayland 会话信息][11]
|
||||
|
||||
#### 其他升级
|
||||
|
||||
其他一些更新包括:
|
||||
|
||||
- 自定义桌面重点颜色
|
||||
- 默认浏览器是 Firefox 104 Snap
|
||||
- Qt 5.15.6
|
||||
- LibreOffice 7.4
|
||||
- 改进的应用程序商店
|
||||
|
||||
要探索更多关于该版本的信息,请参考 [官方发布说明][12]。
|
||||
|
||||
### 下载 Kubuntu 22.10
|
||||
|
||||
你可以从 [Ubuntu 的中央镜像库][13] 或其 [官方网站][14] 下载最新的 ISO。
|
||||
|
||||
> **[Kubuntu 22.10][14]**
|
||||
|
||||
*它的官方网站可能需要一段时间来提供 ISO。*
|
||||
|
||||
💬 你对这个版本感到兴奋吗?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/kubuntu-22-10-release/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/kubuntu-22-10-release.jpg
|
||||
[2]: https://kde.org/plasma-desktop/
|
||||
[3]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Desktop.png
|
||||
[4]: https://itsfoss.com/long-term-support-lts/
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_KDE_Version.png
|
||||
[6]: https://news.itsfoss.com/kde-plasma-5-26-release/
|
||||
[7]: https://pipewire.org/
|
||||
[8]: https://www.freedesktop.org/wiki/Software/PulseAudio/
|
||||
[9]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Linux_Kernel.png
|
||||
[10]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session.png
|
||||
[11]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session_2.png
|
||||
[12]: https://wiki.ubuntu.com/KineticKudu/ReleaseNotes/Kubuntu
|
||||
[13]: https://cdimage.ubuntu.com/kubuntu/releases/22.10/release/
|
||||
[14]: https://kubuntu.org/getkubuntu/
|
||||
[15]: https://news.itsfoss.com/kde-plasma-5-25-release/
|
@ -0,0 +1,126 @@
|
||||
[#]: subject: "Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-mate-22-10-release/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15174-1.html"
|
||||
|
||||
Ubuntu MATE 22.10 的新变化
|
||||
======
|
||||
|
||||
> Ubuntu MATE 22.10 已经发布,其中有一些细微而有用的变化。来看看吧!
|
||||
|
||||
![Ubuntu MATE 22.10 版本有一些有趣的升级!][1]
|
||||
|
||||
Ubuntu MATE 是 [Ubuntu 官方版本][2] 之一,每次升级都会增加有趣的改进。
|
||||
|
||||
它的目标用户是那些既珍惜传统桌面的外观和感觉,又渴望现代操作系统的功能的用户。
|
||||
|
||||
Ubuntu MATE 22.10 版本增加了许多改进和功能,让我们来看看这些。
|
||||
|
||||
### Ubuntu MATE 22.10 的新变化
|
||||
|
||||
![Ubuntu MATE 22.10 桌面][3]
|
||||
|
||||
基于非 LTS 版本的 [Ubuntu 22.10][4] ,Ubuntu MATE 22.10 带来了多项更新,一些关键的亮点包括:
|
||||
|
||||
- 对 MATE 桌面的改进。
|
||||
- 新的 AI 墙纸。
|
||||
- PipeWire 是默认的音频服务器。
|
||||
- 新的 MATE 用户管理器。
|
||||
- Firefox 105 更新。
|
||||
- LibreOffice 7.4。
|
||||
|
||||
> 💡 注意,Ubuntu MATE 的升级通常包括更多的功能补充。但这一次,Martin Wimpress 一直致力于为 Debian MATE 版带来类似的体验。你可以在我们之前的报道中阅读更多细节。
|
||||
|
||||
> [准备好在 Debian Linux 上获得 Ubuntu MATE 体验吧!][15]
|
||||
|
||||
#### MATE 桌面升级
|
||||
|
||||
![Ubuntu MATE 22.10 桌面视图][5]
|
||||
|
||||
MATE 桌面收到了各种错误修复和对 Ayatana 指示器、MATE 面板的更新。
|
||||
|
||||
现在,你可以将小程序居中对齐,与通常的左右对齐选项一起。
|
||||
|
||||
这项功能将在 MATE 桌面 1.28 版中正式出现,但 Ubuntu MATE 团队在 MATE 桌面 1.27 版的基础上将其与这个版本一起推出。
|
||||
|
||||
#### MATE 用户管理器
|
||||
|
||||
![Ubuntu MATE 22.10 用户管理器][6]
|
||||
|
||||
MATE 用户管理器是该发行版的一个新的补充,允许你添加、修改、删除用户账户。
|
||||
|
||||
有了它,你可以选择哪些用户可以成为管理员、设置自动登录、设置个人资料图片,以及管理组成员资格。对于有多个用户的计算机来说,这是一个相当方便和急需的功能。
|
||||
|
||||
#### 新的 AI 壁纸
|
||||
|
||||
![Ubuntu MATE 22.10 AI 壁纸][7]
|
||||
|
||||
这个版本的另一大亮点是增加了新的 AI 生成的壁纸。
|
||||
|
||||
这些看起来很美 😍
|
||||
|
||||
鉴于人工智能生成的壁纸现在正大行其道,Ubuntu MATE 团队在 Ubuntu MATE 22.10 中加入了一批新的壁纸。
|
||||
|
||||
它是由 [Simon Butcher][8] 使用扩散模型创建的,用来描画 “捻角羚”。
|
||||
|
||||
#### Linux 内核 5.19
|
||||
|
||||
Ubuntu MATE 22.10 得益于 Linux 内核 5.19 带来的改进,对各种 ARM SoC、Arc Alchemist GPU 等提供了增强支持。
|
||||
|
||||
你可以阅读我们的相关报道以了解更多。
|
||||
|
||||
#### 🛠️ 其他变化和改进
|
||||
|
||||
与其他新版本一样,Ubuntu MATE 22.10 用 [PipeWire][10] 取代了 [PulseAudio][9],以获得更好的音频处理,并加入了额外的蓝牙编解码器,如 AAC、LDAC、aptX 和 aptX HD。
|
||||
|
||||
其他值得注意的变化包括:
|
||||
|
||||
- 更新的应用程序包括:Firefox 105、LibreOffice 7.4、Celluloid 0.20 和 Evolution 3.46。
|
||||
- Ubuntu MATE HUD 支持 MATE、XFCE 和 Budgie,具有更多的配置能力。
|
||||
|
||||
如果你感到好奇,你可以查看 Ubuntu MATE 22.10 [官方发布说明][11]。
|
||||
|
||||
### 下载 Ubuntu MATE 22.10
|
||||
|
||||
你可以从 [Ubuntu 的中央镜像库][12] 或其 [官方网站][13] 下载最新的 ISO。
|
||||
|
||||
*它的官方网站/仓库可能需要一段时间来提供 ISO。*
|
||||
|
||||
> 💡 Ubuntu MATE 22.10 将被支持九个月,直到 **2023 年 7 月** 。如果你想要稳定而不是功能,你应该更喜欢使用 [LTS 版本][14]。
|
||||
|
||||
> **[下载 Ubuntu MATE 22.10][13]**
|
||||
|
||||
💬 _有兴趣尝试 Ubuntu MATE 22.10 吗?请在评论中告诉我你的想法。_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-mate-22-10-release/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-22-10-release.jpg
|
||||
[2]: https://itsfoss.com/which-ubuntu-install/
|
||||
[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-mate-22-10.png
|
||||
[4]: https://news.itsfoss.com/ubuntu-22-10-features/
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_Desktop.png
|
||||
[6]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_User_Manager.png
|
||||
[7]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_AI_Wallpapers.png
|
||||
[8]: https://twitter.com/simonjbutcher
|
||||
[9]: https://www.freedesktop.org/wiki/Software/PulseAudio/
|
||||
[10]: https://pipewire.org/
|
||||
[11]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/
|
||||
[12]: https://cdimage.ubuntu.com/ubuntu-mate/releases/22.10/release/
|
||||
[13]: https://ubuntu-mate.org/download/
|
||||
[14]: https://itsfoss.com/long-term-support-lts/
|
||||
[15]: https://news.itsfoss.com/ubuntu-mate-debian/
|
@ -0,0 +1,121 @@
|
||||
[#]: subject: "Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-budgie-22-10-release/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "littlebirdnest"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15179-1.html"
|
||||
|
||||
Ubuntu Budgie 22.10 的新变化
|
||||
======
|
||||
|
||||
> Ubuntu Budgie 22.10 是一个有趣的版本,它删除了几个 GNOME 应用程序,以及一些其他改进。
|
||||
|
||||
![Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps][1]
|
||||
|
||||
[Ubuntu Budgie][2] 是 Ubuntu 的官方版本,因其传统的桌面界面和最小的软件膨胀而广受欢迎。
|
||||
|
||||
Ubuntu Budgie 22.10 的发布带来了一些关键的调整和补充。
|
||||
|
||||
### 🆕 Ubuntu Budgie 22.10 有什么新变化
|
||||
|
||||
![ubuntu budgie 22.10][3]
|
||||
|
||||
基于 Ubuntu 22.10 “<ruby>充满活力的捻角羚<rt>Kinetic Kudu</rt></ruby>”,Ubuntu Budgie 22.10 带来了 Budgie 桌面 10.6.4 和许多其他改进。
|
||||
|
||||
一些值得注意的亮点包括:
|
||||
|
||||
- 增强型 Budgie <ruby>控制中心<rt>Control Center</rt></ruby>
|
||||
- 更新了 Budgie 的“<ruby>欢迎<rt>Welcome</rt></ruby>”应用
|
||||
- 替换各种基于 GNOME 的应用程序
|
||||
- 对翻译进行了更新
|
||||
|
||||
#### Budgie 桌面和控制中心
|
||||
|
||||
![ubuntu budgie 22.10 desktop settings][4]
|
||||
|
||||
Budgie 桌面以及更新到 V10.6.4, 它添加了一个新的全局选项来控制小程序之间的间距,并对工作区和时钟小程序进行了各种改进。
|
||||
|
||||
![ubuntu budgie 22.10 display color profiles][5]
|
||||
|
||||
Budgie <ruby>控制中心<rt>Control Center</rt></ruby>也得到了一堆调整,例如重新设计的显示颜色配置文件支持,修改了对屏幕分享的支持,如 [RDP][6] 和 [VNC][7],用于显示缩放的选项,等等。
|
||||
|
||||
#### 升级了欢迎应用
|
||||
|
||||
![ubuntu budgie 22.10 welcome app][8]
|
||||
|
||||
Ubuntu Budgie 22.10 特别升级了 [Budgie 的欢迎应用][9],改善了翻译以及一些其他改进。
|
||||
|
||||
#### 默认的应用的变化
|
||||
|
||||
Ubuntu Budgie 的开发人员已经开始替换和删除基于 GNOME 的应用程序,转而使用基于 MATE 的应用程序和其他替代品。
|
||||
|
||||
他们决定这样做是因为基于 GNOME 的应用程序在 Budgie 中的外观与其他具有圆角边缘的应用程序的外观不一致。
|
||||
|
||||
这些不一致是由于 GNOME 根据其样式和主题需求而转到 Libadwaita 库造成的。
|
||||
|
||||
Libadwaita 库是 GNOME 的一个有争议的补充,没有多少用户喜欢,你可以通过我们的报道来了解更多信息。
|
||||
|
||||
> **[你对在 Linux 世界中 GNOME 的 Libadwaita 库怎么看?][15]**
|
||||
|
||||
以下是一些已删除或替换的应用程序:
|
||||
|
||||
- GNOME 计算器被 MATE 计算器取代。
|
||||
- 删除了 GNOME 日历。
|
||||
- GNOME 系统监视器已由 MATE 系统监视器取代。
|
||||
- 删除了 GNOME 截图。
|
||||
- [字体管理器][10] 替代了 GNOME 字体查看器。
|
||||
|
||||
#### 🛠️ 其他改变
|
||||
|
||||
其他改变包括以下:
|
||||
|
||||
- 重新开发的内置主题
|
||||
- 移除 PulseAudio,并支持 PipeWire
|
||||
- 原生的截图功能
|
||||
- 支持 WebP 图像
|
||||
- 能够查看显示器的刷新率
|
||||
|
||||
你可以通过 [发行说明][11] 了解更多。
|
||||
|
||||
### 📥 下载 Ubuntu Budgie 22.10
|
||||
|
||||
你可以在 [Ubuntu 中央镜像仓库][12] 或者它的 [官方网站][13] 下载最新的 ISO。
|
||||
|
||||
*其官方网站可能需要一段时间才能提供 ISO。*
|
||||
|
||||
> **[下载 Ubuntu Budgie 22.10][13]**
|
||||
|
||||
> 💡 Ubuntu Budgie 22.10 将支持 9 个月直到 **2023 年 6 月**。如果你想使用稳定的功能,更应该选择 [LTS 版本][14]。
|
||||
|
||||
💬 你如何看待这个非 LTS 版本?愿意尝试一下吗?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[littlebirdnest](https://github.com/littlebirdnest)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-budgie-22-10-release.png
|
||||
[2]: https://ubuntubudgie.org/
|
||||
[3]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10.png
|
||||
[4]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Desktop_Settings.png
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Color_Profiles.png
|
||||
[6]: https://en.wikipedia.org/wiki/Remote_Desktop_Protocol
|
||||
[7]: https://en.wikipedia.org/wiki/Virtual_Network_Computing
|
||||
[8]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Welcome.png
|
||||
[9]: https://ubuntubudgie.org/2022/02/quick-overview-of-budgie-welcome-application/
|
||||
[10]: https://itsfoss.com/font-manager/
|
||||
[11]: https://ubuntubudgie.org/2022/09/ubuntu-budgie-22-10-release-notes/
|
||||
[12]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/22.10/
|
||||
[13]: https://ubuntubudgie.org/downloads/
|
||||
[14]: https://itsfoss.com/long-term-support-lts/
|
||||
[15]: https://news.itsfoss.com/gnome-libadwaita-library/
|
147
published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md
Normal file
147
published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md
Normal file
@ -0,0 +1,147 @@
|
||||
[#]: subject: "Ubuntu 22.10 Is Here!"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-22-10-release/"
|
||||
[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15171-1.html"
|
||||
|
||||
Ubuntu 22.10 的新变化
|
||||
======
|
||||
|
||||
> Ubuntu 22.10 是一个令人印象深刻的版本,它拥有新的快速切换功能、应用程序散布,以及更多。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202210/24/101545l1jae18e1881ee19.jpg)
|
||||
|
||||
Ubuntu 22.10 “<ruby>充满活力的捻角羚<rt>Kinetic Kudu</rt></ruby>”来了。它带来了许多重大的改进,特别是 Linux 内核 5.19 和 GNOME 43 的体验。
|
||||
|
||||
当然,这是一个经过定制的 GNOME 体验,现有的 Ubuntu 用户会很熟悉。
|
||||
|
||||
那么,Ubuntu 22.10 都有哪些新变化呢?让我们一起来看看。
|
||||
|
||||
### Ubuntu 22.10 的新变化
|
||||
|
||||
![][2]
|
||||
|
||||
除了 GNOME 43 之外,Ubuntu 22.10 还包括:
|
||||
|
||||
- 一个改进的 <ruby>设置<rt>Settings</rt></ruby> 应用程序。
|
||||
- 经典的 Unity 应用程序<ruby>散布模式<rt>Spread Mode</rt></ruby>的复活。
|
||||
- 一些著名的应用程序被移植到 GTK4 和 Libadwaita。
|
||||
- 全系统支持 WebP。
|
||||
- PipeWire 采样管默认的音频服务器。
|
||||
- Linux 内核 5.19。
|
||||
|
||||
> 💡 Ubuntu 22.10 将被支持九个月,直到 **2023 年 7 月**。如果你想要稳定而不是功能,你应该更愿意使用 [LTS 版本][3]。
|
||||
|
||||
#### 🎨 视觉改进
|
||||
|
||||
当第一次测试一个新版本时,视觉上的变化总是最先被注意到的。在 Ubuntu 22.10 中尤其如此,这要归功于 [GNOME 43][4] 所带来的重大改进。
|
||||
|
||||
![Ubuntu 22.10 快速设置][5]
|
||||
|
||||
首先,我们有全新的快速设置菜单,它取代了旧的、相当笨拙的系统菜单。与安卓、iOS 和 Windows 11 中的菜单类似,这个新增的菜单允许你打开和关闭 Wi-Fi 和蓝牙,所有这些都无需进入<ruby>设置<rt>Settings</rt></ruby>应用程序。
|
||||
|
||||
当然,在这个版本中我们还得到了全新的壁纸。
|
||||
|
||||
![Ubuntu 22.10 壁纸][6]
|
||||
|
||||
对于这个变化,我除了喜欢并希望从社区中看到更多这样的设计之外,没有什么别的可说的。
|
||||
|
||||
此外,更多的应用程序被移植到了 GTK4,包括对 Nautilus 文件管理器的改进。
|
||||
|
||||
一些有价值的新增功能包括:
|
||||
|
||||
- 拖动并选择文件的能力(橡皮筋选择)。
|
||||
- 自适应视图与一个紧凑的窗口。
|
||||
- 新的文件上下文菜单。
|
||||
|
||||
你可以通过我们的详细报道来探索 Nautilus 的改进。
|
||||
|
||||
#### 👴 应用程序散布回来了!
|
||||
|
||||
我不太喜欢的 GNOME 的一个部分是多窗口应用程序的切换,我相信很多其他用户都有这样的不满。
|
||||
|
||||
![Ubuntu 22.04][7]
|
||||
|
||||
幸运的是,Ubuntu 22.10 现在提供了一个很好的解决方案,对于长期用户来说应该是很熟悉的。终于,在 2017 年放弃对 Unity 的支持五年后,Ubuntu 的开发者们又把应用程序<ruby>散布<rt>Spread</rt></ruby>带了回来。
|
||||
|
||||
![Ubuntu 22.10应用程序散布][8]
|
||||
|
||||
这是一个重大的改进,我很惊讶 GNOME 自己没有这样做。
|
||||
|
||||
#### 🛠️ 设置的改进
|
||||
|
||||
虽然不是大多数人日常使用的应用程序,但<ruby>系统设置<rt>System Settings</rt></ruby>是 GNOME 体验的一个核心部分。考虑到这一点,看到它接受了一次重大的视觉改造,以及移植到了 GTK 4 和 Libadwaita,真是太棒了。
|
||||
|
||||
![Ubuntu 22.10 桌面设置][9]
|
||||
|
||||
因此,它现在变得更好看了,而且是自适应的,这意味着它在任何尺寸下都能很好地工作,甚至在像 PinePhone 这样的 Linux 手机上也能很好地工作!
|
||||
|
||||
另一个与设置有关的变化是增加了一个新的 “<ruby>Ubuntu 桌面设置<rt>Ubuntu Desktop Settings</rt></ruby>”菜单项。这提供了一个单一的、统一的地方来定制和改变你所有的 Ubuntu 特定设置。
|
||||
|
||||
#### Linux 内核 5.19
|
||||
|
||||
Ubuntu 22.10 还带来了一个更新的内核,即 [Linux 内核 5.19][10]。这个版本的改进相当少,尽管它确实带来了对一些下一代硬件的改进支持。
|
||||
|
||||
你应该注意到这是 Linux 5.x 系列的最后一个版本,因为 Linux 内核下一个版本跳到了 6.0。
|
||||
|
||||
#### 其他变化
|
||||
|
||||
![Ubuntu 22.10 webp][11]
|
||||
|
||||
总的来说有几个细微的调整。但其中一些基本的调整包括:
|
||||
|
||||
- 图像应用程序默认支持 .WebP 图像格式。
|
||||
- GNOME 文本编辑器是默认编辑器。你可以安装 gedit 并使其成为默认的。
|
||||
- GNOME 图书应用程序已经不再可用。Ubuntu 推荐 [Foliate][12] 作为替代。
|
||||
- 不再默认安装 To Do 应用程序,并且它有了一个新的名字,“Endeavour”。
|
||||
- GNOME 终端仍然是默认的终端应用。如果需要,可以安装 [GNOME 控制台][13]。
|
||||
- 更新了 Firefox 104、[Thunderbird 102][14] 和 [Libreoffice 7.4][15] 等应用程序。
|
||||
- 更多的应用程序已经被移植到 GTK4,特别是 [Nautilus][16]。
|
||||
|
||||
> ℹ️ 注意,我们的列表集中在对桌面终端用户重要的变化上。如果你想知道更多关于服务器和其他使用情况的变化/更新,请参考 [官方发布说明][17]。
|
||||
|
||||
### 下载 Ubuntu 22.10
|
||||
|
||||
你可以从 [Ubuntu 的中央镜像库][18] 或其 [官方网站][19] 下载最新的 ISO。
|
||||
|
||||
**官方网站/仓库可能需要一段时间来提供 ISO 的下载。
|
||||
|
||||
> **[下载Ubuntu 22.10][19]**
|
||||
|
||||
💬 有兴趣尝试 Ubuntu 22.10 吗?请在评论中告诉我你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-22-10-release/
|
||||
|
||||
作者:[Jacob Crume][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/jacob/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-22-10-release.png
|
||||
[2]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10.png
|
||||
[3]: https://itsfoss.com/long-term-support-lts/
|
||||
[4]: https://news.itsfoss.com/gnome-43-release/
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-quick-setting.jpg
|
||||
[6]: https://news.itsfoss.com/content/images/2022/10/22.10-wallpaper.png
|
||||
[7]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-04-window-minimize.png
|
||||
[8]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-app-spread.jpg
|
||||
[9]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-desktop-setting.png
|
||||
[10]: https://news.itsfoss.com/linux-kernel-5-19-release/
|
||||
[11]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-webp.png
|
||||
[12]: https://itsfoss.com/foliate-ebook-viewer/
|
||||
[13]: https://itsfoss.com/gnome-console/
|
||||
[14]: https://news.itsfoss.com/thunderbird-102-release/
|
||||
[15]: https://news.itsfoss.com/libreoffice-7-4-release/
|
||||
[16]: https://news.itsfoss.com/gnome-files-43/
|
||||
[17]: https://discourse.ubuntu.com/t/kinetic-kudu-release-notes/27976
|
||||
[18]: https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/
|
||||
[19]: https://ubuntu.com/download/desktop
|
@ -0,0 +1,80 @@
|
||||
[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be"
|
||||
[#]: via: "https://news.itsfoss.com/rhino-linux/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Ubuntu but rolling but also stable That's what Rhino Linux aims to be
|
||||
======
|
||||
|
||||
A rolling-release Ubuntu distribution? Wait, what? Rhino Linux sounds fascinating..
|
||||
|
||||
![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1]
|
||||
|
||||
Rhino Linux will be the successor of [Rolling Rhino Remix][2]. A Linux distro built by http.llamaz that offered a rolling-release **unofficial** variant of Ubuntu.
|
||||
|
||||
To clarify, the project was never aimed to replace other stable distributions and was purely a passion project made for fun.
|
||||
|
||||
Considering people started using it as a daily driver and expected more from it, the developer has decided to turn this into a serious project.
|
||||
|
||||
Rhino Linux is its next step for it. So, what can you expect?
|
||||
|
||||
### Meet Rhino Linux: The Successor
|
||||
|
||||
The main goal is to provide a stable Ubuntu experience while still providing a rolling-release model.
|
||||
|
||||
The aim remains the same, but the fundamentals for Rhino Linux will receive a complete overhaul. They are potentially making it an impressive rolling-release Ubuntu distribution.
|
||||
|
||||
**Sounds exciting! 🤯**
|
||||
|
||||
At its core, Rhino Linux will be using a slightly modified version of [XFCE][3] as its desktop environment; it was chosen due to its well-known stability and speed.
|
||||
|
||||
The founder of Rhino Linux mentioned the following:
|
||||
|
||||
> Ubuntu as a rolling release is still at the very core of our concept. Rhino Linux is not a depature from Rolling Rhino Remix, but rather re-imagines it as the more stable, mature distribution it should have shipped as originally.
|
||||
|
||||
![xfce 4.14][4]
|
||||
|
||||
Alongside that, [Pacstall][5] will be used as the default package manager on Rhino Linux with one of their repositories.
|
||||
|
||||
> 💡Pacstall is an [AUR][6]-inspired package manager for Ubuntu.
|
||||
|
||||
The development of which is headed by the founder of Pacstall, [_Plasma_][7]. He has also joined as one of the new developers (Deputy Project Lead), and [Sourajyoti Basak][8] as another core member.
|
||||
|
||||
### Moving Forward: Availability and Release
|
||||
|
||||
As of writing, Rhino Linux has not received any specific release date, but you can expect it to release sometime in **2023**.
|
||||
|
||||
What happens to Rolling Rhino Remix?
|
||||
|
||||
The developer clarified that it would continue to be maintained for three months after the release of Rhino Linux. However, it won't have a new release image after its subsequent release on **11.01.2022**.
|
||||
|
||||
You can find out more about Rhino Linux by visiting its [official website][9].
|
||||
|
||||
_💬 What do you think of Rhino Linux? Can it be a contender for official Ubuntu flavors worth trying?_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/rhino-linux/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png
|
||||
[2]: https://github.com/rollingrhinoremix
|
||||
[3]: https://www.xfce.org/
|
||||
[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png
|
||||
[5]: https://github.com/pacstall/pacstall
|
||||
[6]: https://itsfoss.com/aur-arch-linux/
|
||||
[7]: https://github.com/Henryws
|
||||
[8]: https://github.com/wizard-28
|
||||
[9]: https://rhinolinux.org/
|
@ -0,0 +1,100 @@
|
||||
[#]: subject: "Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support"
|
||||
[#]: via: "https://news.itsfoss.com/ardour-7-0-release/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support
|
||||
======
|
||||
|
||||
Ardour 7.0 is a major upgrade with much-needed improvements.
|
||||
|
||||
![Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support][1]
|
||||
|
||||
[Ardour][2] is a popular open-source digital audio workstation software that audio professionals use.
|
||||
|
||||
Ardour 7.0 has been in development for a little more than a year since the release of 6.9 and has come a long way since Ardour 5.0.
|
||||
|
||||
Let's take a look at the highlights of this release.
|
||||
|
||||
### 🆕 Ardour 7.0: What's New?
|
||||
|
||||
![ardour 7.0][3]
|
||||
|
||||
This release introduces a variety of changes and feature additions, some of the highlights are:
|
||||
|
||||
- **Discontinuation of 32-bit Builds.**
|
||||
- **Clip Launching feature (similar to what other DAWs provide).**
|
||||
- **Support for Apple Silicon.**
|
||||
- **Integration of Loop Library.**
|
||||
- **Audio sample library support by Freesound.**
|
||||
|
||||
#### Clip Launching
|
||||
|
||||
![ardour 7.0 clip launching][4]
|
||||
|
||||
Similar to many mainstream DAWs like Ableton Live, Ardour now has support for clip launching.
|
||||
|
||||
Users can now play/stop audio clips and adjust the timing to fit the tempo map of a session. Pretty useful for live performances.
|
||||
|
||||
#### Loop Library
|
||||
|
||||
![ardour 7.0 loop library][5]
|
||||
|
||||
In addition to Clip Launching, users can also take advantage of a vast collection of loops sourced from a few hand-picked creators of [looperman][6].
|
||||
|
||||
Users can choose from any of the royalty-free loops, with more to be added in the near future.
|
||||
|
||||
#### End of 32-bit Builds
|
||||
|
||||
There won't be any further 32-bit builds of Ardour, only a few will remain available on the nightly build channels for now.
|
||||
|
||||
You may want to look around at some of the DAWs available for Linux to see what else might offer a 32-bit build.
|
||||
|
||||
#### Sound Samples Available by Freesound
|
||||
|
||||
![ardour 7.0 freesound integration][7]
|
||||
|
||||
Another feature that complements the Loop Library is the integration with [Freesound][8].
|
||||
|
||||
With this, users can make use of over 600,000 samples of audio. To do this, users must have a Freesound account linked to their Ardour installation.
|
||||
|
||||
#### 🛠️ Other Changes
|
||||
|
||||
Other notable changes include:
|
||||
|
||||
- **New Themes.**
|
||||
- **Ripple Editing Modes.**
|
||||
- **Mixer Scenes.**
|
||||
- **Improvements to MIDI Editing.**
|
||||
- **Support for I/O Plugins.**
|
||||
|
||||
You can go through the official [release notes][9] for more details of the release.
|
||||
|
||||
_💬 Are you going to try out Ardour 7.0? Satisfied with the DAW you currently use?_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ardour-7-0-release/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ardour-7-0-release.jpg
|
||||
[2]: https://ardour.org/
|
||||
[3]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0.png
|
||||
[4]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Clip_Launching.png
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Loop_Library.png
|
||||
[6]: https://www.looperman.com/
|
||||
[7]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Freesound_Integration.png
|
||||
[8]: https://freesound.org/
|
||||
[9]: https://ardour.org/whatsnew.html
|
@ -0,0 +1,135 @@
|
||||
[#]: subject: "Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements"
|
||||
[#]: via: "https://news.itsfoss.com/xubuntu-22-10-release/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements
|
||||
======
|
||||
|
||||
Xubuntu 22.10 provides a refined XFCE experience. Learn more about it here.
|
||||
|
||||
![Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements][1]
|
||||
|
||||
Xubuntu is an XFCE-powered official Ubuntu flavour.
|
||||
|
||||
It is also one of the best lightweight Linux distributions available.
|
||||
|
||||
With the latest Xubuntu 22.10 "**Kinetic Kudu**" release, you can expect desktop environment improvements, feature additions, and several refinements across the board.
|
||||
|
||||
### Xubuntu 22.10: What's New?
|
||||
|
||||
![Xubuntu 22.10 home][2]
|
||||
|
||||
Xubuntu 22.10 brings in some exciting upgrades. Some of the highlights include:
|
||||
|
||||
- **Xfce 4.16 (or Xfce 4.17 dev)**
|
||||
- **Catfish appearance update.**
|
||||
- **New icon refresh and deprecated elementary-xfce-darker-theme.**
|
||||
- **Mousepad search history.**
|
||||
- **Thundar file manager improvements.**
|
||||
- **Xfce task manager.**
|
||||
|
||||
> 💡Xubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][3].
|
||||
|
||||
#### XFCE 4.17 Development Version or XFCE 4.16?
|
||||
|
||||
The release notes for Xubuntu 22.10 say it features the Xfce 4.17 development version.
|
||||
|
||||
However, when I installed the beta version for Xubuntu 22.10 (and updated it to the latest), it said it features Xfce 4.16.
|
||||
|
||||
![][4]
|
||||
|
||||
Not sure if they pulled out Xfce 4.17 development version or if Xfce 4.16 is here for now.
|
||||
|
||||
#### Catfish Appearance
|
||||
|
||||
![xubuntu catfish][5]
|
||||
|
||||
Catfish is a file search utility on Xubuntu. With the new upgrade, it has a refreshed appearance with tweaks under the hood.
|
||||
|
||||
You also get an "**Open With**" context menu when interacting with the files you searched for.
|
||||
|
||||
![][6]
|
||||
|
||||
A pretty subtle but valuable feature addition for catfish.
|
||||
|
||||
#### GNOME 43 Software
|
||||
|
||||
Among notable app updates, GNOME's latest Software Center is a nice thing to have. This is how it looks with Xubuntu 22.10:
|
||||
|
||||
![][7]
|
||||
|
||||
Of course, it may not give you a consistent look with other applications on Xfce, but I think you can give it an excuse.
|
||||
|
||||
#### Icon Updates
|
||||
|
||||
With elementary-xfce 0.17 icon update, there are many new icons and cleaner options that provide a consistent Xubuntu desktop experience.
|
||||
|
||||
![][8]
|
||||
|
||||
Additionally, the **elementary-xfce-darkest theme** icon pack has been deprecated.
|
||||
|
||||
![][9]
|
||||
|
||||
#### Task Manager Right-Click Option
|
||||
|
||||
![][10]
|
||||
|
||||
You can now copy the full process path to the clipboard. This could be useful to troubleshoot or stop things from the command line when required.
|
||||
|
||||
### Other Enhancements
|
||||
|
||||
![][11]
|
||||
|
||||
There are several other notable changes that include:
|
||||
|
||||
- **Linux Kernel 5.19**
|
||||
- **Mozilla Firefox 105.**
|
||||
- **Alt-Tab view improved with more prominent icons.**
|
||||
- **Mosaic puzzle added to SGT Puzzles collection.**
|
||||
- **Thunar archive plugin now supports compressing zip files.**
|
||||
- **Mousepad text editor now includes a search history and a few more tweaks.**
|
||||
|
||||
To learn more about the changes, check out the [official release notes][12].
|
||||
|
||||
### Download Xubuntu 22.10
|
||||
|
||||
You can download the latest ISO from [Ubuntu's central image repository][13] or its [official website][14].
|
||||
|
||||
It might take a while for its official website to make the ISO available.
|
||||
|
||||
[Download Xubuntu 22.10][14]
|
||||
|
||||
💬 _What do you think about Xubuntu 22.10? Let me know your thoughts in the comments._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/xubuntu-22-10-release/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/xubuntu-22-10-release.jpg
|
||||
[2]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10.png
|
||||
[3]: https://itsfoss.com/long-term-support-lts/
|
||||
[4]: https://news.itsfoss.com/content/images/2022/10/xfce-4-16.jpg
|
||||
[5]: https://news.itsfoss.com/content/images/2022/10/catfish-xubuntu-22-10.png
|
||||
[6]: https://news.itsfoss.com/content/images/2022/10/catfish-openwith-1.jpg
|
||||
[7]: https://news.itsfoss.com/content/images/2022/10/xubuntu-gnome-43-software.jpg
|
||||
[8]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10-icons.jpg
|
||||
[9]: https://news.itsfoss.com/content/images/2022/10/xfce-dark-theme.png
|
||||
[10]: https://news.itsfoss.com/content/images/2022/10/task-manager-copy-command-line.jpg
|
||||
[11]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10-puzzle.png
|
||||
[12]: https://wiki.xubuntu.org/releases/22.10/release-notes
|
||||
[13]: https://cdimage.ubuntu.com/xubuntu/releases/22.10/release/
|
||||
[14]: https://xubuntu.org/download/
|
74
sources/talk/20221016.0 ⭐️⭐️ What’s new in GNOME 43.md
Normal file
74
sources/talk/20221016.0 ⭐️⭐️ What’s new in GNOME 43.md
Normal file
@ -0,0 +1,74 @@
|
||||
[#]: subject: "What’s new in GNOME 43?"
|
||||
[#]: via: "https://opensource.com/article/22/10/whats-new-gnome-43-linux"
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
What’s new in GNOME 43?
|
||||
======
|
||||
|
||||
I love the [GNOME][1] desktop, and I use it as my daily [Linux desktop environment][2]. I find with GNOME, I can focus on the stuff I need to get done, but I still have flexibility to make the desktop look and act the way I want.
|
||||
|
||||
The GNOME Project recently released GNOME 43, the latest version of the GNOME desktop. I met with GNOME developer Emmanuele Bassi to ask a few questions about this latest release:
|
||||
|
||||
**Jim Hall (Jim): GNOME has lots of great desktop features. What are some of the new features in GNOME 43?**
|
||||
|
||||
**Emmanuele Bassi (Emmanuele):** GNOME 43 has a complete redesign of the system status menu in the Shell. The new design is meant to give quick and easy access to various settings: network connections and VPNs; audio input and output sources and volumes; toggling between light and dark styles. It also has a shortcut for taking a screenshot or starting a screen recording.
|
||||
|
||||
GNOME core applications have also been ported to the new major version of the GNOME toolkit, GTK4. GTK4 is more efficient when it comes to its rendering pipeline, which leads to smoother transitions and animations. Additionally, GNOME applications use libadwaita, which provides new UI elements and adaptive layouts that can seamlessly scale between desktop and mobile form factors.
|
||||
|
||||
The GNOME file manager, Nautilus, is one of the applications that has been ported over to GTK4 and libadwaita, and it has benefitted from the new features in the core platform; it’s now faster, and it adapts its UI when the window is resized.
|
||||
|
||||
The system settings can now show device security information, including manufacturing errors and hardware misconfiguration, as well as possible security issues like device tampering. Lots of work is planned for future releases, as device security is an area of growing concern.
|
||||
|
||||
**Jim: What do you love most about GNOME 43?**
|
||||
|
||||
**Emmanuele:** The most important feature of GNOME, one that I constantly take advantage of and that I always miss when I have to deal with other operating systems is how much the OS does not get in the way of what I’m doing. Everything is designed to let me concentrate on my job, without interruptions. I don’t have bells and whistles constantly on my screen, competing for attention. Everything is neatly tucked away, ready to be used only when I need to.
|
||||
|
||||
**Jim: Many folks are familiar with GNOME today, but may not be familiar with its history. How did GNOME get started?**
|
||||
|
||||
**Emmanuele:** GNOME started in 1997, 25 years ago, as a project for using existing free and open source components to create a desktop environment for everyone that would be respectful of users’ and developers’ freedom. At the time there were only commercial desktops for Unix, or desktops that were based on non-free components. Being able to take the entire desktop, learn from it, and redistribute it has always been a powerful motivator for contributors—even commercial ones.
|
||||
|
||||
Over the past 25 years, GNOME contributors have worked not just on making the desktop, but creating a platform capable of developing and distributing applications.
|
||||
|
||||
**Jim: Open source projects keep going because of a strong community. What keeps the GNOME community strong?**
|
||||
|
||||
**Emmanuele:** I don’t pretend to speak for everyone in the project, but for myself I think the main component is the respect of every voice within the community of contributors, which comes from the shared vision of creating an entirely free and open platform. We all know where we want to go, and we are all working towards the same goal. Sometimes, we may end up pulling in different directions, which is why donating to entities like the GNOME Foundation, which sponsor gatherings and conferences, is crucial: they allow a more comprehensive communication between all the involved parties, and at the end we get better results for it.
|
||||
|
||||
GNOME also takes very seriously respectful communication between members of the community; we have a strong code of conduct, which is enforced within the community itself and covers all venues of communication, including in person events.
|
||||
|
||||
**Jim: GNOME established the Human Interface Guidelines (HIG) to unify the GNOME design and GNOME app interfaces. How did the HIG come about?**
|
||||
|
||||
**Emmanuele****:**The Human Interface Guidelines (HIG) came into being after Sun did a usability study on GNOME 1, one of the very first usability studies for a free software project. The findings from that study led to the creation of a standardized document that projects under the GNOME umbrella would have to follow, which is how we ended up with GNOME 2, back in 2002.
|
||||
|
||||
The HIG was a rallying point and a symbol, a way to demonstrate that the entire project cared about usability and accessibility, and it provided the tools to both desktop and application developers to create a consistent user experience.
|
||||
|
||||
Over the years, the HIG moved away from being a complete checklist of pixels of padding and grids of components, and instead it now provides design principles, UI patterns, conventions, and resources for contributors and application developers. The HIG now has its own implementation library, called libadwaita, which application developers can use when targeting GNOME, and immediately benefit from a deeper integration within the platform without having to re-implement the various styles and patterns manually.
|
||||
|
||||
_Thanks to Emmanuele Bassi for answering this interview. You can find GNOME at_[_https://www.gnome.org/_][3]
|
||||
|
||||
_Read the release announcement for GNOME 43 at_[_https://release.gnome.org/43/_][4]
|
||||
|
||||
_Learn about what’s new in GNOME 43 for developers at_[_https://release.gnome.org/43/developers/_][5]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/whats-new-gnome-43-linux
|
||||
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/jim-hall
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/19/12/gnome-linux-desktop
|
||||
[2]: https://opensource.com/article/20/5/linux-desktops
|
||||
[3]: https://www.gnome.org/
|
||||
[4]: https://release.gnome.org/43/
|
||||
[5]: https://release.gnome.org/43/developers/
|
@ -0,0 +1,189 @@
|
||||
[#]: subject: "Exploring innovative Open Organization charts"
|
||||
[#]: via: "https://opensource.com/article/22/10/innovative-open-organization-chart"
|
||||
[#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Exploring innovative Open Organization charts
|
||||
======
|
||||
|
||||
The ability to react quickly and adapt to changing situations is critical in today's business and work environment. In the past, offering efficient, standardized systems was the way to reduce costs and provide more to the public. In today's rapidly changing world, that's not enough. Collaborating, deciding, and executing quickly on a project requires that the traditional organization chart change to strengthen **adaptability**, **transparency**, **collaboration**, **inclusivity,** and project **community—**all five Open Organization Principles. Today, there are too many interdependencies to stick to the traditional top-down organization chart.
|
||||
|
||||
I just read the book [Team of Teams, by Stanley McChrystal][1], which discusses this concern, particularly in military combat situations. It is the efficiency of small, empowered, trusted, goal-oriented teams working together (and with other teams) that will be successful in the future. Their ability to interact with other teams will make a small group scalable within a large organization. McChrystal writes that adaptability, transparency, and cross-silo collaboration are key to their success. These are three of the Open Organization Principles. I think it's equally valid in the business environment and not just in military operations.
|
||||
|
||||
### Speed in decision-making and how to address continual unpredictability
|
||||
|
||||
When do you make a decision yourself, and when do you take decisions to top management? McChrystal states, "a 70% chance of success today is better than 90% tomorrow when speed of action is critical." These days, the competitors, or enemies, are moving at that pace.
|
||||
|
||||
In my article "[The 4 components of a great decision, What makes a "good" open decision?][2]" I wrote that decision-making speed was very important. Well, that's more true than ever, and you can't do that if you need approvals up and down a large vertical organization chart. Quick decisions must be made on the frontline, where the issues are. A horizontal organization that gets the people most directly involved in the decision-making process is required and is part of the strength that McChrystal is talking about.
|
||||
|
||||
![A horizontal org chart with connections between teams][3]
|
||||
|
||||
Image by:
|
||||
|
||||
(Ron McFarland, CC BY-SA 4.0)
|
||||
|
||||
These connections should have solid lines, and the vertical lines should be dotted, as communications should go up the line only when need be and horizontally minute by minute in real-time.
|
||||
|
||||
### Information reversal
|
||||
|
||||
In another presentation, I talked about an upside-down organization chart, which I called the [hierarchy of support][4]. Compare this with a vertical organizational chart.
|
||||
|
||||
![Hierarchy of company objectives][5]
|
||||
|
||||
Image by:
|
||||
|
||||
(Ron McFarland, CC BY-SA 4.0)
|
||||
|
||||
A typical vertical organization chart has top management in the top box. The staff provided frontline information to superiors so that they could decide.
|
||||
|
||||
Then, lines connect downward to departments under the top box, and directives move downward. Task directives flow from those department managers to the staff under them.
|
||||
|
||||
In a rapidly changing, unpredictable environment, the superiors should provide surrounding information to the staff so frontline people can make decisions independently. Imagine turning that organization chart upside down, with top management at the bottom and the staff at the top.
|
||||
|
||||
![Hierarchy of company support][6]
|
||||
|
||||
Image by:
|
||||
|
||||
(Ron McFarland, CC BY-SA 4.0)
|
||||
|
||||
With today's information technology, the frontline staff is often better informed than their superiors. Therefore, managers' main job is to support the staff where needed, but the decisions should be made rapidly on the frontline.
|
||||
|
||||
McChrystal uses the expression, "Eyes on - Hands off." I think he is suggesting what I'm saying in a different way. He calls top managers giving directives "chess players" and supporting managers "gardeners."
|
||||
|
||||
McChrystal started a training company called [Crosslead][7] that trains individuals and companies on how this type of organization works. Their name implies the horizontal, frontline communication I mentioned in my upside-down organization chart.
|
||||
|
||||
The book mentions Open Organization Principles throughout:
|
||||
|
||||
- **Adaptability**, which he calls "resilience."
|
||||
- **Collaboration**, which is horizontal within teams and between teams.
|
||||
- **Community**, which is **Inclusivity** and **Transparency** within teams.
|
||||
|
||||
### Getting through the forest by knowing the working environment
|
||||
|
||||
Imagine your goal is to get through a forest to your home on the other side. Unfortunately, the forest is rapidly changing because of the weather and climate.
|
||||
|
||||
One person gives you a map of the best way to go through the forest, but that map was made in the past and might be outdated. It might be the best way to get home, but blockages along that route may force you to return to your starting location.
|
||||
|
||||
Another person has a current satellite image of the forest which shows every possible route and its present condition. Furthermore, he has guides spread throughout the forest who can communicate and advise you on the best route.
|
||||
|
||||
Wouldn't the second method be more reliable with a rapidly changing forest?
|
||||
|
||||
### McChrystal's organization chart
|
||||
|
||||
It starts with a frontline team, a specific goal, and members' specific tasks. The members select a leader depending on the task at hand. Who is most experienced, informed, and qualified to lead them toward the given team goal?
|
||||
|
||||
It might well be that the official leader is the least qualified to make decisions, so the system is very slow at best and freezes at worst. Who will most people follow? That will determine the leader of any given task.
|
||||
|
||||
McChrystal writes about the "Perry Principle," in which top management could not give orders by sea because there was no communication system in [Admiral Perry's][8] days. McChrystal calls this a "principle" because empowerment was given to frontline staff as a last resort and only when forced. He thinks this should be reversed. Top management should only make the decision themselves when the frontline people can't decide for one reason or another.
|
||||
|
||||
The team chart that McChrystal is proposing is on the right.
|
||||
|
||||
![Command organizational chart versus team organizational chart][9]
|
||||
|
||||
Image by:
|
||||
|
||||
Team of Teams, page 96.
|
||||
|
||||
An exponential growth in frontline connectedness speeds up the communication and action process in a way that the current hierarchical structure can not handle. The command chart on the left is just too slow in a rapidly changing environment.
|
||||
|
||||
By the time the situation is reported, everything changes and reported information is obsolete. Therefore, a frontline leader, like a start-up entrepreneur, must have the authority, initiative, intuition, and creative thinking to make decisions and immediately act on them to achieve the best result. Speed determines success or failure.
|
||||
|
||||
Up until now, adaptability has mostly been characteristic of small interactive teams rather than large top-down hierarchies.
|
||||
|
||||
In this new environment, that frontline leader's superior must withhold decision-making on the one hand but relentlessly support the frontline on the other. This will lead to frontline decision-making competence to iterate and adjust in a fraction of the normal time.
|
||||
|
||||
### Attention directed from efficiency to adaptability
|
||||
|
||||
McChrystal introduces the work of [Frederick Winslow Taylor][10], who developed the reductionist theory and the optimization and standardization of processes. This process was the most efficient way to reduce costs and save energy. He believed there was one ideal way for any process.
|
||||
|
||||
So, he researched processes, developed instruction sheets, and instructed the frontline staff just to follow directions. It was a hard and fast line between thinking (by the researcher) and action (by the frontline worker). This approach is fine for repeated, well-known, stable processes, but not in changing environments, like factories with complicated but linear predictable activities, but not in changing environments. Unfortunately, this concept took the initiative to improve away from the frontline operator, as all they had to do was act and not think.
|
||||
|
||||
When modification was required, the frontline worker froze, unqualified and unskilled at adapting.
|
||||
|
||||
McChrystal writes that his military combat environment is not predictable. It is a "complex system." This complexity has countless unpredictable interdependencies in the environment.
|
||||
|
||||
When one event takes place, it may have a massive impact or no impact at all. This results in great unpredictability. We have to manage this unpredictability. In the past, communication was from a few to a few with some connected impact. Now, it is many to many, and no one knows who or what the impact is on who or what. It is totally unpredictable.
|
||||
|
||||
I believe this reductionist process is still important, but it can only go so far.
|
||||
|
||||
Therefore, those basic practice instruction sheets should come in the form of suggestions only and not orders to follow. McChrystal calls these situations _complexity systems_. It's like opening and walking through a door only to learn of other doors to choose from.
|
||||
|
||||
Those other doors cannot be foreseen without walking through the previous door. After selecting one of those doors, you discover more doors to choose from. To be most effective, whenever you select a door, you let everyone in the system know which one you picked and ask for advice if available. This is where real-time transparency is vital. In this environment, planning is not helpful, but feedback is.
|
||||
|
||||
Being better equipped and more efficient are not enough in complex environments. Being agile and resilient become critical factors. When disturbances come, the system must continue to function and adjust. This is all-important in a world of continual situational change. In this world, planning for disruption is vital. It is "rolling with the punches" or even benefiting from them by developing an immune system to disruption. When shocks come, options have been planned, developed, practiced, and applied when needed. Simply working on one ideal process is not enough. If all the attention is on the execution of one procedure, other more helpful skills may suffer. It is moving away from predicting a single forecast, exploring all possibilities, and preparing for them. McChrystal asks to contrast efficiency and effectiveness. He says, "Efficiency is doing things right. Effectiveness is doing the right thing." He thinks the latter is more important in a complex situation. To do that, people should be skilled in many rarely needed but still necessary tasks.
|
||||
|
||||
### Collaboration over vertical communication walls
|
||||
|
||||
Furthermore, breaching vertical walls between divisions or teams increases the speed of action, particularly where cross-functional collaboration is vital to the speed of response.
|
||||
|
||||
According to McChrystal, both between teams and within teams, collective consciousness is developed over years of joint practice, trust building, cooperation, deep group, and individual understanding, bonding, and service to their greater purpose.
|
||||
|
||||
The entire group can improvise in a coordinated way when necessary. Teamwork is a process of reevaluating everyone's move and intent, constant messaging, and real-time adjustment.
|
||||
|
||||
### Barriers between teams
|
||||
|
||||
As you move down the traditional organization chart, motivation and contextual awareness become more limited and specific, and greater distance from the overall organization's objectives. Members are tight within their team but separated from the other groups within the organization and possibly the entire organization's goals.
|
||||
|
||||
![Command of teams organizational chart][11]
|
||||
|
||||
Image by:
|
||||
|
||||
Team of Teams, page 129
|
||||
|
||||
### Real-time communication and connections between teams
|
||||
|
||||
In a complex, rapidly changing environment, the below chart is more appropriate, where there is a good deal of continual information flow and connections.
|
||||
|
||||
![Inter-team organizational chart][12]
|
||||
|
||||
Image by:
|
||||
|
||||
Team of Teams, page 129
|
||||
|
||||
Team members tackling complex environments must all grasp not just their team's purpose but the overarching goal of the entire organizational system. They must also consider how their activities impact other groups.
|
||||
|
||||
To be successful, team participation and team-to-team participation are vital, according to McChrystal. In Jim Whitehurst's [book][13] on letting and encouraging everyone to speak up in meetings, even the quiet people express this same point.
|
||||
|
||||
I wrote about it in my first article, [When empowering employee decision-making, intent is everything][14], posted on April 19, 2016. This concept is true when trying to connect teams as well.
|
||||
|
||||
Teams working on a problem and collaborating in real time can perform tasks more concurrently rather than sequentially, saving a massive amount of valuable time.
|
||||
|
||||
### Wrap up
|
||||
|
||||
This article presents several images of new organization chart concepts. Unofficially, to get things done, much horizontal communication has been going on for decades. The difference now is that updates are in minutes and not at weekly or monthly meetings.
|
||||
|
||||
I also discussed the importance of the speed of decision-making in today's working environment and that a new real-time communication flow system is needed. I mentioned that at least three critical Organization Principles, namely adaptability, transparency, and collaboration, were vitally important to make communication flow and allow faster decision-making and execution. Furthermore, I also presented that just having a highly efficient and low-cost system is not enough when faced with a rapidly changing, unpredictable working environment. An approach better able to adapt to change needs to be introduced and put into use, namely a new open organization chart.
|
||||
|
||||
In the second part of this article, I will discuss how this type of organization can work, including how to develop it and improve it. Also, I'll give examples of how it can work in various situations.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/innovative-open-organization-chart
|
||||
|
||||
作者:[Ron McFarland][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/ron-mcfarland
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.shortform.com/summary/team-of-teams-summary-stanley-mcchrystal?gclid=CjwKCAjwy_aUBhACEiwA2IHHQFl6iYqOX4zSl3JxC-BVubNJo3Ee11s2nF2t4HMN6roJn2yehivPshoCXlQQAvD_BwE
|
||||
[2]: https://opensource.com/open-organization/17/3/making-better-open-decisions
|
||||
[3]: https://opensource.com/sites/default/files/2022-10/horizontal-org-chart.png
|
||||
[4]: https://www.slideshare.net/RonMcFarland1/hierarchy-of-objectives-support
|
||||
[5]: https://opensource.com/sites/default/files/2022-10/hierarchy-company-objectives.png
|
||||
[6]: https://opensource.com/sites/default/files/2022-10/hierarchy-company-support.png
|
||||
[7]: http://www.crosslead.com/
|
||||
[8]: https://en.wikipedia.org/wiki/Matthew_C._Perry
|
||||
[9]: https://opensource.com/sites/default/files/2022-10/command-vs-team-chart.png
|
||||
[10]: https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor
|
||||
[11]: https://opensource.com/sites/default/files/2022-10/command-of-teams.png
|
||||
[12]: https://opensource.com/sites/default/files/2022-10/connections-between-teams.png
|
||||
[13]: https://www.goodreads.com/book/show/23258978-the-open-organization
|
||||
[14]: https://opensource.com/open-organization/16/4/when-empowering-employee-decision-making-intent-everything
|
114
sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md
Normal file
114
sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md
Normal file
@ -0,0 +1,114 @@
|
||||
[#]: subject: "Our open source startup journey"
|
||||
[#]: via: "https://opensource.com/article/22/10/tooljet-open-source-journey"
|
||||
[#]: author: "Navaneeth PK https://opensource.com/users/navaneeth"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Our open source startup journey
|
||||
======
|
||||
|
||||
[ToolJet][1] is an open source, low-code framework for rapidly building and deploying internal tools. Our codebase is 100% JavaScript and TypeScript.
|
||||
|
||||
A lone developer in April 2021 started ToolJet. The public beta launched in June 2021 and was an instant hit. With this traction, ToolJet raised funding, and currently, we have a team of 20 members.
|
||||
|
||||
### Why open source?
|
||||
|
||||
Before working on ToolJet, I worked with a few enterprise clients as a consultant. Many of these clients were large enough to build and maintain dozens of internal tools. Despite the constant requests from sales, support, and operations teams to add more features and fix the bugs in their internal tools, engineering teams struggled to find the bandwidth to work on the internal utilities.
|
||||
|
||||
I tried using a few platforms to build and maintain internal tools. Most of these tools were very expensive, and frequently, they didn't really fit the requirements. We needed modifications, and most utilities didn't support on-premise hosting.
|
||||
|
||||
As a Ruby developer, I primarily used ActiveAdmin and RailsAdmin to build internal tools. Both utilities are amazing, but making them work with more than one data source is difficult. I then realized there is a need in the market for a framework that could build user interfaces and connect to multiple data sources. I believe any tool built for developers should be open source. Most of the tools and frameworks that developers use daily result from people from all over the world collaborating in public.
|
||||
|
||||
### The first commit
|
||||
|
||||
Building something like ToolJet needed a full-time commitment. Selling one of my side projects gave me a runway of 5-6 months, and I immediately started working on an idea I'd had in mind for at least two years.
|
||||
|
||||
The first commit (rails new) of ToolJet was on April 1, 2021.
|
||||
|
||||
Wait! I said the codebase is 100% JavaScript. Continue reading to discover why.
|
||||
|
||||
### Building and pitching investors
|
||||
|
||||
I sat in front of my screens for most of April and May, coding and pitching to investors for a pre-seed round.
|
||||
|
||||
My work also included creating the drag-and-drop application builder, documenting everything, ensuring there was documentation for setting ToolJet up on popular platforms, creating a website, creating posters and blog posts for launch, and more. The process went well without any major challenges. At this point, the frontend of ToolJet was built using React, with the backend using Ruby on Rails.
|
||||
|
||||
While the coding was going well, investor pitches weren't going great. I sent around 40 cold emails to venture capitalist firms and "angel investors" focused on early-stage funding. While most of them ignored the email, some shared their reason for rejection, and some scheduled a call.
|
||||
|
||||
Most of the calls were the same; I couldn't convince them of an open source business model.
|
||||
|
||||
### The launch
|
||||
|
||||
June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2].
|
||||
|
||||
I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars.
|
||||
|
||||
![ToolJet repo stats on GitHub][4]
|
||||
|
||||
Image by:
|
||||
|
||||
GitHub StarTrack for ToolJet. (Navaneeth PK, CC BY-SA 4.0)
|
||||
|
||||
### Getting funding
|
||||
|
||||
The traction on GitHub was enough to be noticed by the venture capitalist (VC) world. The days following the launch were packed with calls. We had other options, but did not consider seriously consider them, including:
|
||||
|
||||
- Bootstrapping: During the early stages of the product, it was hard to find paying customers, and I did not have enough savings to fund the project until that happened.
|
||||
- Building as a side project: While this strategy works great for smaller projects, I didn't feel it would work for ToolJet because we needed to create dozens of integrations and UI widgets before the platform could become useful for customers. As a side project, it might take months or years to achieve that.
|
||||
|
||||
I knew it could take months to build the platform I wanted if ToolJet became just a side project. I wanted to accelerate growth by expanding the team, and VC funding was the obvious choice, given the traction.
|
||||
|
||||
The good news is that we raised[$1.55 million in funding][5] within two weeks of the HN launch.
|
||||
|
||||
### Stack matters in open source
|
||||
|
||||
Soon after the launch, we found that many people wanted to contribute to ToolJet, but they were mostly JavaScript developers. We also realized that for a framework like ToolJet that in the future should have hundreds of data source connectors, only a plugin-based architecture made sense. We decided to migrate from Ruby to TypeScript in August 2021. Even though this took about a month and significant effort, this was one of the best decisions we've made for the project. Today, we have an extensible plugin-based architecture powered by our [plugin development kit][6]. We have contributions from over 200 developers. We've written extensively about this migration [here][7] and [here][8].
|
||||
|
||||
### Launching v1.0
|
||||
|
||||
Many users have been using ToolJet on production environments since August, and the platform did not show any stability or scalability issues. We were waiting to wrap up the developer platform feature before we called it v1.0. The ToolJet developer platform allows any JavaScript developer to build and publish plugins for ToolJet. Developers are now able to make connectors for ToolJet. Creating a ToolJet connector can take just 30 minutes, including integration tests.
|
||||
|
||||
### Building a growing community
|
||||
|
||||
![ToolJet star history][9]
|
||||
|
||||
Image by:
|
||||
|
||||
ToolJet Star History (Navaneeth PK, CC BY-SA 4.0)
|
||||
|
||||
We didn't spend money on marketing. Most of our efforts in spreading the news about ToolJet have been writing about our learnings and being active in developer communities. We have a team of three members who take care of community queries.
|
||||
|
||||
### The business model
|
||||
|
||||
ToolJet won't be a sustainable business without a [commercial product][10] to pay the bills. We've built an enterprise edition of ToolJet, for which customers must pay. There's no limit on usage for the free community edition, and additional features in the enterprise edition are relevant only to large teams. We have very large companies as paying customers right now, but we haven't started monetizing ToolJet aggressively. We have enough money left in the bank to build an even better ToolJet, so our focus currently is on product improvement.
|
||||
|
||||
### What's next?
|
||||
|
||||
We frequently release better versions of ToolJet with the help of constant feedback and contributions from the open source community. Many major improvements and dozens of connectors and UI components are in progress. We're moving faster than ever towards our initial goal of being the open framework that can connect to hundreds of data sources and build even the most complicated user interfaces!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/tooljet-open-source-journey
|
||||
|
||||
作者:[Navaneeth PK][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/navaneeth
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://github.com/ToolJet/ToolJet
|
||||
[2]: https://www.producthunt.com/products/tooljet-0-5-3
|
||||
[3]: https://news.ycombinator.com/item?id=27421408
|
||||
[4]: https://opensource.com/sites/default/files/2022-10/tooljet-repo-stats.png
|
||||
[5]: https://blog.tooljet.com/raising-vc-funding-for-open-source-project
|
||||
[6]: https://www.npmjs.com/package/@tooljet/cli
|
||||
[7]: https://blog.tooljet.com/migrating-toojet-from-ruby-on-rails-to-nodejs
|
||||
[8]: https://blog.tooljet.com/how-we-migrated-tooljet-server-from-ruby-to-node-js
|
||||
[9]: https://opensource.com/sites/default/files/2022-10/tooljet-star-history.png
|
||||
[10]: https://opensource.com/article/19/11/product-vs-project
|
@ -2,7 +2,7 @@
|
||||
[#]: via: (https://opensource.com/article/21/4/ansible-community-logos)
|
||||
[#]: author: (Fiona Lin https://opensource.com/users/fionalin)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (MareDevi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -1,252 +0,0 @@
|
||||
[#]: subject: (Complete Guide to Configuring SSH in Ubuntu)
|
||||
[#]: via: (https://itsfoss.com/set-up-ssh-ubuntu/)
|
||||
[#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (Donkey-Hao)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Complete Guide to Configuring SSH in Ubuntu
|
||||
======
|
||||
|
||||
SSH has become the default method of accessing a remote Linux server these days.
|
||||
|
||||
SSH stands for Secure Shell and it’s a powerful, efficient, and popular network protocol used to establish communication between two computers in a remote fashion. And let’s not forget the secure part of its name; SSH encrypts all traffic to prevent attacks like hijacking and eavesdropping while offering different authentication methods and a myriad of configuration options.
|
||||
|
||||
In this beginner’s guide, you’ll learn:
|
||||
|
||||
* The basic concept of SSH
|
||||
* Setting up SSH server (on the system you want to access remotely)
|
||||
* Connecting to remote server via SSH from the client machine (your personal computer)
|
||||
|
||||
|
||||
|
||||
### The absolute basics of SSH
|
||||
|
||||
Before you see any configuration process, it will be better to go through the absolute basic concept of SSH.
|
||||
|
||||
The SSH protocol is based on server-client architecture. The “server” allows the “client” to be connected over a communication channel. This channel is encrypted and the exchange is governed by the use of public and private SSH keys.
|
||||
|
||||
![Image credit: SSH][1]
|
||||
|
||||
[OpenSSH][2] is one of the most popular open source tools that provides the SSH functionality on Linux, BSD and Windows.
|
||||
|
||||
For a successful SSH set up, you need to:
|
||||
|
||||
* Have SSH server components on the machine that acts as the server. This is provided by **openssh-server** package.
|
||||
* Have SSH client component on the machine from where you want to connect to the remote server machine. This is provided by **openssh-client** package and most Linux and BSD distributions come preinstalled with it.
|
||||
|
||||
|
||||
|
||||
It is important to keep a distinction between the server and client. You might not want your personal computer to act as SSH server unless you have good reasons where you want others to connect to your system via SSH.
|
||||
|
||||
Generally, you have a dedicated system working as the server. For example, a [Raspberry Pi running Ubuntu server][3]. You [enable SSH on the Raspberry Pi][4] so that you could control and manage the device from your main personal computer using SSH in a terminal.
|
||||
|
||||
With that information, let’s see how you can set up a SSH server on Ubuntu.
|
||||
|
||||
### Configuring SSH Server on Ubuntu
|
||||
|
||||
Setting up SSH is not complicated and just needs a few steps to do it.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
* A user with **sudo** privileges on the server machine
|
||||
* Internet connection to download the required packages
|
||||
* At least another system in your network. It can be another computer on your LAN, a remote server via Internet, or a virtual machine hosted in your computer.
|
||||
|
||||
|
||||
|
||||
_**Again, the SSH server installation should be done on the system that you want to act as server and to which you want to connect remotely via SSH.**_
|
||||
|
||||
#### Step 1: Install required packages
|
||||
|
||||
Let’s start by opening a terminal window to enter the necessary commands.
|
||||
|
||||
Remember to [update your Ubuntu system][5] before installing new packages or software with to make sure that you are running the latest versions.
|
||||
|
||||
```
|
||||
sudo apt update && sudo apt upgrade
|
||||
```
|
||||
|
||||
The package you need to run SSH Server is provided by openssh-server component from OpenSSH:
|
||||
|
||||
```
|
||||
sudo apt install openssh-server
|
||||
```
|
||||
|
||||
![][6]
|
||||
|
||||
#### Step 2: Checking the status of the server
|
||||
|
||||
Once the downloading and installation of the package is done the SSH service should be already running, but to be sure we will check it with:
|
||||
|
||||
```
|
||||
service ssh status
|
||||
```
|
||||
|
||||
You may also use the systemd commands:
|
||||
|
||||
```
|
||||
sudo systemctl status ssh
|
||||
```
|
||||
|
||||
You should see something like this, with the word Active highlighted. Hit `q` to return to the command prompt.
|
||||
|
||||
![][7]
|
||||
|
||||
If in your case the service is not running you will have to activate like this:
|
||||
|
||||
```
|
||||
sudo systemctl enable --now ssh
|
||||
```
|
||||
|
||||
#### Step 3: Allowing SSH through the firewall
|
||||
|
||||
Ubuntu comes with a firewall utility called [UFW][8] (UncomplicatedFirewall) which is an interface for **iptables** that in turn manages the network’s rules. If the firewall is active, it may prevent the connection to your SSH Server.
|
||||
|
||||
To configure UFW so that it allows the wanted access, you need to run the following command:
|
||||
|
||||
```
|
||||
sudo ufw allow ssh
|
||||
```
|
||||
|
||||
The status of UFW can be checked running `sudo ufw status`.
|
||||
|
||||
At this time our SSH Server is up and running, just waiting for a connection from a client.
|
||||
|
||||
### Connecting to the remote system from your local machine
|
||||
|
||||
Your local Linux system should already have SSH client installed. If not, you may always install it using the following command on Ubuntu:
|
||||
|
||||
```
|
||||
sudo apt install openssh-client
|
||||
```
|
||||
|
||||
To connect to your Ubuntu system you need to know the IP address of the computer and use the `ssh` command, like this:
|
||||
|
||||
```
|
||||
ssh [email protected]
|
||||
```
|
||||
|
||||
Change **username** to your actual user in the system and **address** to the IP address of your Ubuntu machine.
|
||||
|
||||
If you don’t [know the IP address of your computer][9] you can type `ip a` in the terminal of the server and check the output. You should have something like this:
|
||||
|
||||
![Using “ip a” to find the IP address][10]
|
||||
|
||||
As can be seen here my IP address is **192.168.1.111**. Let’s try connecting using the **[[email protected]][11]** format.
|
||||
|
||||
```
|
||||
ssh [email protected]
|
||||
```
|
||||
|
||||
The first time you connect to a SSH server, it will ask for permission to add the host. Type `yes` and hit Enter to continue.
|
||||
|
||||
![First time connecting to the server][12]
|
||||
|
||||
Immediately SSH tells you that the host was permanently added and then asks for the password assigned to the username. Type in the password and hit Enter one more time.
|
||||
|
||||
![Host added, now type in the password][13]
|
||||
|
||||
And voila! You will be logged into your Ubuntu system remotely!
|
||||
|
||||
![Connected!][14]
|
||||
|
||||
Now you can work in your remote system’s terminal as normal.
|
||||
|
||||
#### Closing the SSH connection
|
||||
|
||||
To close the connection you just need to type `exit` and it will close it at once, without asking for confirmation.
|
||||
|
||||
![Closing the connection with “exit”][15]
|
||||
|
||||
### Stopping and Disabling SSH in Ubuntu
|
||||
|
||||
If you want to stop SSH service you will need this command:
|
||||
|
||||
```
|
||||
sudo systemctl stop ssh
|
||||
```
|
||||
|
||||
This will stop the service until you restart it or until the system is rebooted. To restart it, type:
|
||||
|
||||
```
|
||||
sudo systemctl start ssh
|
||||
```
|
||||
|
||||
Now, if you want to disable it from starting during system boot, use this:
|
||||
|
||||
```
|
||||
sudo systemctl disable ssh
|
||||
```
|
||||
|
||||
This won’t stop the service from running during the current session, just from loading during startup. If you want to let it start again during system boot, type:
|
||||
|
||||
```
|
||||
sudo systemctl enable ssh
|
||||
```
|
||||
|
||||
#### Other SSH clients
|
||||
|
||||
The tool `ssh` is included in most *nix systems, from Linux to macOS, but those are not the only options in existence, here are a couple of clients that can be used from other operating systems:
|
||||
|
||||
* [PuTTY][16] is a free SSH client for Windows and it’s open source. It’s full of features and very easy to use. If you are connecting to your Ubuntu machine from a Windows station, PuTTY is a great option.
|
||||
* [JuiceSSH][17] is an amazing tool for Android users. If you are on the go and need a mobile client to connect to your Ubuntu system, I amply recommend giving JuiceSSH a go. It’s been around for almost 10 years and it’s free to use.
|
||||
* And finally, [Termius][18] is available for Linux, Windows, macOS, iOS, and Android. It has a free tier version and also several premium options. If you are running a lot of servers and working with teams sharing connections then Termius is a good option for you.
|
||||
|
||||
|
||||
|
||||
#### Wrapping Up
|
||||
|
||||
With these instructions, you can set up SSH as a server service in our Ubuntu systems to be able to connect remotely and securely to your computer in order to work with the command line and perform any required task.
|
||||
|
||||
Our other website, Linux Handbook, has various informational articles on SSH. From here, I recommend reading the following:
|
||||
|
||||
* [Getting started with SSH on Linux][19]
|
||||
* [Using SSH Config file to manage multiple SSH connections][20]
|
||||
* [Adding public key to SSH server for password less authentication][21]
|
||||
* [SSH hardening tips][22] to secure your SSH server
|
||||
|
||||
|
||||
|
||||
If you find it overwhelming, [Linux Handbook has a premium video course that explains SSH for beginners][23] along with hands-on labs to follow. This will give you a more streamlined knowledge of the topic.
|
||||
|
||||
Happy remote working!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/set-up-ssh-ubuntu/
|
||||
|
||||
作者:[Chris Patrick Carias Stas][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Donkey-Hao](https://github.com/Donkey-Hao)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/chris/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-diagram.png?resize=800%2C259&ssl=1
|
||||
[2]: https://www.openssh.com/
|
||||
[3]: https://itsfoss.com/install-ubuntu-server-raspberry-pi/
|
||||
[4]: https://itsfoss.com/ssh-into-raspberry/
|
||||
[5]: https://itsfoss.com/update-ubuntu/
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0001.png?resize=800%2C253&ssl=1
|
||||
[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0002.png?resize=800%2C263&ssl=1
|
||||
[8]: https://itsfoss.com/set-up-firewall-gufw/
|
||||
[9]: https://itsfoss.com/check-ip-address-ubuntu/
|
||||
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-find-ip.png?resize=800%2C341&ssl=1
|
||||
[11]: https://itsfoss.com/cdn-cgi/l/email-protection
|
||||
[12]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0004.png?resize=800%2C87&ssl=1
|
||||
[13]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0005.png?resize=800%2C57&ssl=1
|
||||
[14]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0006.png?resize=800%2C322&ssl=1
|
||||
[15]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/05/ssh-0007.png?resize=800%2C87&ssl=1
|
||||
[16]: https://www.putty.org/
|
||||
[17]: https://juicessh.com/
|
||||
[18]: https://termius.com/
|
||||
[19]: https://linuxhandbook.com/ssh-basics/
|
||||
[20]: https://linuxhandbook.com/ssh-config-file/
|
||||
[21]: https://linuxhandbook.com/add-ssh-public-key-to-server/
|
||||
[22]: https://linuxhandbook.com/ssh-hardening-tips/
|
||||
[23]: https://linuxhandbook.com/sshcourse/
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://opensource.com/article/21/8/terraform-tips"
|
||||
[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "cool-summer-021"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/"
|
||||
[#]: author: "sk https://ostechnix.com/author/sk/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "MjSeven"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
@ -1,100 +0,0 @@
|
||||
[#]: subject: "Enjoy the Classic Snake Game in Your Linux Terminal"
|
||||
[#]: via: "https://www.debugpoint.com/snake-game-linux-terminal/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Enjoy the Classic Snake Game in Your Linux Terminal
|
||||
======
|
||||
This is how you can install and play the classic Snake Game in Linux Terminal.
|
||||
|
||||
Remember the classic and simple snake game of old mobile phones? I remember playing it for hours. Hey, no other options at the time, right? Smartphones were still not in the market. And all you have is this –
|
||||
|
||||
![Nokia 3310 with legacy snake game][1]
|
||||
|
||||
But over time, the Snake Game was replaced by more advanced graphical games with various options. But nothing beats that classic snake game.
|
||||
|
||||
And what if I told you, you could play this game in the Linux Terminal itself? Whether you are running Ubuntu Linux, Fedora Linux or Arch Linux doesn’t matter. This game is available for most of the [distros][2].
|
||||
|
||||
![nsnake Game - Main Menu][3]
|
||||
|
||||
### Install nSnake – Snake Game for Linux Terminal
|
||||
|
||||
You can install [this game][4] via the terminal using the below methods.
|
||||
|
||||
For Ubuntu, Linux Mint or other related distributions:
|
||||
|
||||
```
|
||||
sudo apt install nsnake
|
||||
```
|
||||
|
||||
For Fedora Linux and others:
|
||||
|
||||
```
|
||||
sudo dnf install nsnake
|
||||
```
|
||||
|
||||
For Arch Linux, this snake game is available in the [Arch User repository][5]. You can install it using the following steps.
|
||||
|
||||
* [Set up Yay AUR helper][6]
|
||||
* Then open a terminal and run the below command
|
||||
|
||||
```
|
||||
yay -S nsnake
|
||||
```
|
||||
|
||||
The above command installs the stock repository version of the game, which might not be the latest. However, if you want the latest version, you may need to compile the source via GitHub. I have added the compilation instructions at the end of this page for your reference.
|
||||
|
||||
### Playing the game
|
||||
|
||||
Playing the game is very simple. Type nsnake in the terminal, which will launch the game.
|
||||
|
||||
To quit immediately, press q.
|
||||
|
||||
Following are the default key bindings.
|
||||
|
||||
* Arrow keys – to move the snake
|
||||
* q – Quit the game
|
||||
* p – Pause the game
|
||||
|
||||
You can also configure the game in various ways, which are available via the main menu.
|
||||
|
||||
![nsnake Linux Terminal Snake Game Settings][7]
|
||||
|
||||
So, enjoy!
|
||||
|
||||
##### Compilation
|
||||
|
||||
To compile the latest version, use the following commands in all Linux distributions.
|
||||
|
||||
Oh, make sure you have `git` and `ncurses-devel` installed, which are the required packages for compilation.
|
||||
|
||||
```
|
||||
git clone https://github.com/alexdantas/nSnake.gitcd nsnakemakemake install
|
||||
```
|
||||
|
||||
So, do you like Snake Game? Do you prefer it over other terminal-based games? Share your views with other readers in the comment box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/snake-game-linux-terminal/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/12/Nokia-3310-with-legacy-snake-game.jpg
|
||||
[2]: https://www.debugpoint.com/category/distributions
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Game-Main-Menu.jpg
|
||||
[4]: https://github.com/alexdantas/nsnake
|
||||
[5]: https://aur.archlinux.org/packages/nsnake/
|
||||
[6]: https://www.debugpoint.com/2021/01/install-yay-arch/
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Linux-Terminal-Snake-Game-Settings.jpg
|
@ -1,158 +0,0 @@
|
||||
[#]: subject: "Learn Bash base64 Encode and Decode With Examples"
|
||||
[#]: via: "https://www.debugpoint.com/bash-base64-encode-decode/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Learn Bash base64 Encode and Decode With Examples
|
||||
======
|
||||
Want to learn about the base64 encode and decode method? Here in this tutorial, we explain the base64 encode and decode steps using bash shell scripting with various examples.
|
||||
|
||||
![][1]
|
||||
|
||||
The base64 encoding method transmits data over any communication medium by converting binary data to text. This method is primarily used for the email encryption process.
|
||||
|
||||
The Base64 method, in general, is a binary-to-text encoding scheme representing 8-byte binary data in ASCII string format. This has several advantages while transmitting or channelling data among various mediums – especially those that reliably support text content. Hence, it is widely used on World Wide Web. Probably the most used case of this encoding scheme is using it for email attachments.
|
||||
|
||||
As per the Base64 representation table, the binary data can be converted to 64 different ASCII characters – which are easy to transmit and printable. This encoding method uses letters A to Z, a to Z, 0 to 9 and + and /.
|
||||
|
||||
A total of 64 ASCII characters to represent binary from `000000` to `111111`. Each non-final Base64 digit represents exactly 6 bits of data.
|
||||
|
||||
![Base64 Index Table][2]
|
||||
|
||||
### Bash base64 encode and decode
|
||||
|
||||
#### Syntax
|
||||
|
||||
Before you learn about the examples, here is the basic syntax.
|
||||
|
||||
```
|
||||
base64 [OPTIONs] [INFILE] [OUTFILE]
|
||||
```
|
||||
|
||||
Option: You can provide any of the options or combine them as explained below.INFILE: Input can be picked up from standard input (like the command line) or files.OUTFILE: You can redirect the output to the standard output, like the terminal or to a file.
|
||||
|
||||
| Arguments | Descriptions |
|
||||
| :- | :- |
|
||||
| -e or –encode | This option is used to encode any data from standard input or any file. It is the default option. |
|
||||
| -d or –decode | This option is used to decode any encoded data from standard input or any file. |
|
||||
| -n or –noerrcheck | By default, base64 checks error while decoding any data. You can use –n or –noerrcheck option to ignore checking at the time of decoding. |
|
||||
| -i, –ignore-garbage | This option is used to ignore non-alphabet characters while decoding. |
|
||||
| -u or –help | This option is used to get information about the usage of this command. |
|
||||
|
||||
#### Example 1 – A basic encode
|
||||
|
||||
In Linux, the base64 package is installed by default. Hence, you can use it from the command line easily. To simply encode a string or text, you can pass it through the command line via piping and get the encoded text. In this example, the string debugpoint.com is encoded to base64.
|
||||
|
||||
```
|
||||
echo "debugpoint.com" | base64
|
||||
```
|
||||
|
||||
![bash base64 encode and decode - example 1][3]
|
||||
|
||||
The result is the base64 encoded string.
|
||||
|
||||
#### Explanation
|
||||
|
||||
The encoding method uses several steps to convert the input. The input characters are converted to 8-bit binary values. The entire set of the binary string is split into 6-bit binary values, which are converted to decimals.
|
||||
|
||||
Each decimal value is translated to the base64 character via the base64 index table.
|
||||
|
||||
In the above example, the first character, “d”, is converted to binary `01100100`. The first 6 bits are `011001`, which is 25 in decimal. The 25 refers to the Z in the base64 index table. And this goes on for the entire stream of text. See the example below.
|
||||
|
||||
![Base64 Encode and Decode – inner working][4]
|
||||
|
||||
#### Example 2 – A basic decode
|
||||
|
||||
To decode the string, simply pass the encoded value to the base64 with the option `--decode`. And it will give you the exact input string.
|
||||
|
||||
![bash base64 encode and decode - example 2 (decode the same example)][5]
|
||||
|
||||
#### Example 3 – Encode a Text file
|
||||
|
||||
The same command can be used to encode a text file and redirect the output to another text file. Here’s how.
|
||||
|
||||
```
|
||||
base64 example3.txt > example3-encoded.txt
|
||||
```
|
||||
|
||||
![Encode a text file][6]
|
||||
|
||||
#### Example 4 – Decode a Text File
|
||||
|
||||
And to decode a text file that was encoded using base64, simply use the `--decode` or `-d` switch and pass on the text file name.
|
||||
|
||||
```
|
||||
base64 -d example3-encoded.txt
|
||||
```
|
||||
|
||||
#### Example 5 – Encode a custom input from the user
|
||||
|
||||
Using bash shell programming, you can take input from the user via the terminal and encode it. But for that, you need to write a simple shell script and execute it after giving executable permission.
|
||||
|
||||
Here’s a simple example which takes input from the user and displays the encoded string.
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
#Sample program to take input, encode to base64 and display on terminal
|
||||
#Example by www.debugpoint.com
|
||||
echo "Enter text for encoding to base64:"
|
||||
read input_text
|
||||
output_text=`echo -n $input_text | base64`
|
||||
echo "The Base64 Encoded text is: $output_text"
|
||||
```
|
||||
|
||||
![Custom input - base64 encode and decode using script][7]
|
||||
|
||||
#### Example 6 – A Simple Authentication using base64
|
||||
|
||||
You can implement a simple authentication system using the above encode and decode method. You can ask the user to enter a password or a secret code. Then store the secret code in a file or compare it on the fly.
|
||||
|
||||
If the stored encoded string matches with the user input encoded text, then the user is authenticated. However, it is a straightforward way of checking an authentication, but sometimes useful for simple business cases.
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
#Sample program to take input, encode to base64 and display on terminal
|
||||
#Example by www.debugpoint.com
|
||||
echo "Type your password"
|
||||
read pwd1
|
||||
decoded_text=`echo 'U2lsZW5jZSBpcyBnb2xkZW4h' | base64 --decode`
|
||||
if [[ $pwd1 == $decoded_text ]]
|
||||
then
|
||||
echo "You are a valid user."
|
||||
else
|
||||
echo "You are NOT a valid user."
|
||||
fi
|
||||
```
|
||||
|
||||
![A Simple Authentication using bash base64][8]
|
||||
|
||||
### Conclusion
|
||||
|
||||
I hope you get to learn the basics of [Base64][9] encode and decode with these examples. Also, learn a bit about its inner workings. Let me know in the comment box below if this helps you or need additional tutorials on this topic.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/bash-base64-encode-decode/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/base64example-1024x576.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Index-Table.png
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-1.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Encode-and-Decode-inner-working.png
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-2-decode-the-same-example.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Encode-a-text-file.png
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Custom-input-base64-encode-and-decode-using-script.png
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/A-Simple-Authentication-using-bash-base64.png
|
||||
[9]: https://linux.die.net/man/1/base64
|
@ -1,69 +0,0 @@
|
||||
[#]: subject: "Can Kubernetes help solve automation challenges?"
|
||||
[#]: via: "https://opensource.com/article/22/10/kubernetes-solve-automation-challenges"
|
||||
[#]: author: "Rom Adams https://opensource.com/users/romdalf"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Can Kubernetes help solve automation challenges?
|
||||
======
|
||||
Automation at the organization level has been an elusive goal, but Kubernetes might be able to change all that.
|
||||
|
||||
I started my automation journey when I adopted Gentoo Linux as my primary operating system in 2002. Twenty years later, automation is not yet a done deal. When I meet with customers and partners, they share automation wins within teams, but they also describe the challenges to achieving similar success at an organizational level.
|
||||
|
||||
Most IT organizations have the ability to provision a virtual machine end to end, reducing what used to be a four-week lead time to just five minutes. That level of automation is itself a complex workflow, requiring networking (IP address management, DNS, proxy, networking zones, and so on), identity access management, [hypervisor][2], storage, backup, updating the operating system, applying the latest configuration files, monitoring, security and hardening, and compliance benchmarking. Wow!
|
||||
|
||||
It's not easy to address the business need for high velocity, scaling, and on-demand automation. For instance, consider the classic webshop or an online government service to file tax returns. The workload has well-defined peaks that need to be absorbed.
|
||||
|
||||
A common approach for handling such a load is having an oversized server farm, ready to be used by a specialized team of IT professionals, monitoring the seasonal influx of customers or citizens. Everybody wants a just-in-time deployment of an entire stack. They want infrastructure running workloads within the context of a hybrid cloud scenario, using the model of "build-consume-trash" to optimize costs while benefiting from infinite elasticity.
|
||||
|
||||
In other words, everybody wants the utopian "cloud experience."
|
||||
|
||||
### Can the cloud really deliver?
|
||||
|
||||
All is not lost, thanks mainly to the way [Kubernetes][3] has been designed. The exponential adoption of Kubernetes fuels innovation, displacing standard legacy practices for managing platforms and applications. Kubernetes requires the use of Everything-as-Code (EaC) to define the desired state of all resources, from simple compute nodes to TLS certificates. Kubernetes compels the use of three major design constructs:
|
||||
|
||||
* A standard interface to reduce integration friction between internal and external components
|
||||
* An API-first and API-only approach to standardize the CRUD (Create, Read, Update, Delete) operations of all its components
|
||||
* Use of [YAML][4] as a common language to define all desired states of these components in a simple and readable way
|
||||
|
||||
These three key components are essentially the same requirements for choosing an automation platform, at least if you want to ease adoption by cross-functional teams. This also blurs the separation of duties between teams, helping to improve collaboration across silos, which is a good thing!
|
||||
|
||||
As a matter of fact, customers and partners adopting Kubernetes are ramping up to a state of hyper-automation. Kubernetes organically drives teams to adopt multiple [DevOps foundations and practices][5]—like EaC, [version control with Git][6], peer reviews, [documentation as code][7]—and encourages cross-functional collaboration. These practices help mature a team's automation skills, and they help a team get a good start in GitOps and CI/CD pipelines dealing with both application lifecycle and infrastructure.
|
||||
|
||||
### Making automation a reality
|
||||
|
||||
You read that right! The entire stack for complex systems like a webshop or government reporting can be defined in clear, understandable, universal terms that can be executed on any on-prem or cloud provider. An autoscaler with custom metrics can be defined to trigger a just-in-time deployment of your desired stack to address the influx of customers or citizens during seasonal peaks. When metrics are back to normal, and cloud compute resources don't have a reason to exist anymore, you trash them and return to regular operations, with a set of core assets on-prem taking over the business until the next surge.
|
||||
|
||||
### The chicken and the egg paradox
|
||||
|
||||
Considering Kubernetes and cloud-native patterns, automation is a must. But it raises an important question: Can an organization adopt Kubernetes before addressing the automation strategy?
|
||||
|
||||
It might seem that starting with Kubernetes could inspire better automation, but that's not a foregone conclusion. A tool is not an answer to the problem of skills, practices, and culture. However, a well-designed platform can be a catalyst for learning, change, and cross-functional collaboration within an IT organization.
|
||||
|
||||
### Get started with Kubernetes
|
||||
|
||||
Even if you feel you missed the automation train, don't be afraid to start with Kubernetes on an easy, uncomplicated stack. Embrace the simplicity of this fantastic orchestrator and iterate with more complex needs once you've [mastered the initial steps][8].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/kubernetes-solve-automation-challenges
|
||||
|
||||
作者:[Rom Adams][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/romdalf
|
||||
[b]: https://github.com/lkxed
|
||||
[2]: https://www.redhat.com/en/topics/virtualization/what-is-a-hypervisor?intcmp=7013a000002qLH8AAM
|
||||
[3]: https://www.redhat.com/en/topics/containers/what-is-kubernetes?intcmp=7013a000002qLH8AAM
|
||||
[4]: https://opensource.com/article/21/9/yaml-cheat-sheet
|
||||
[5]: https://opensource.com/resources/devops
|
||||
[6]: https://opensource.com/life/16/7/stumbling-git
|
||||
[7]: https://opensource.com/article/21/3/devops-documentation
|
||||
[8]: https://opensource.com/article/17/11/getting-started-kubernetes
|
@ -1,111 +0,0 @@
|
||||
[#]: subject: "Install Gedit on Ubuntu 22.10 and Make it Default Text Editor"
|
||||
[#]: via: "https://itsfoss.com/install-gedit-ubuntu/"
|
||||
[#]: author: "Abhishek Prakash https://itsfoss.com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Install Gedit on Ubuntu 22.10 and Make it Default Text Editor
|
||||
======
|
||||
|
||||
[GNOME has a brand new text editor][1] to replace the good old Gedit editor.
|
||||
|
||||
While it was already available with GNOME 42, Ubuntu 22.04 relied on Gedit.
|
||||
|
||||
This is changing in Ubuntu 22.10. GNOME Text Editor is the default here and Gedit is not even installed.
|
||||
|
||||
![Searching for text editor only brings GNOME Text Editor][2]
|
||||
|
||||
While the new editor is good enough, not everyone would like it. This is especially if you use Gedit extensively with additional plugins.
|
||||
|
||||
If you are among those people, let me show you how to install Gedit on Ubuntu. I’ll also share how you can make it the default text editor.
|
||||
|
||||
### Install Gedit on Ubuntu
|
||||
|
||||
This is actually a no-brainer. While Gedit is not installed by default, it is still available in Ubuntu repositories.
|
||||
|
||||
So, all you have to do is to use the apt command to install it:
|
||||
|
||||
```
|
||||
sudo apt install gedit
|
||||
```
|
||||
|
||||
Gedit is also available in the software center but it is the snap package. You could install that if you want.
|
||||
|
||||
![Gedit is also available in Ubuntu’s Snap Store][3]
|
||||
|
||||
#### Install Gedit Plugins (optional)
|
||||
|
||||
By default, Gedit gives you the option to access a few plugins. You can enable or disable the plugins from the menu->preference->plugins.
|
||||
|
||||
![Accessing plugins in Gedit][4]
|
||||
|
||||
You should see the available plugins here. The installed or in-use plugins are checked.
|
||||
|
||||
![See the available and installed plugins in Gedit][5]
|
||||
|
||||
However, you can take the plugin selection to the next level by installing the gedit-plugins meta package.
|
||||
|
||||
```
|
||||
sudo apt install gedit-plugins
|
||||
```
|
||||
|
||||
This will give you access to additional plugins like bookmarks, bracket completion, Python console and more.
|
||||
|
||||
![Additional Gedit plugins][6]
|
||||
|
||||
**Tip**: If you notice that Gedit looks a bit out of place for the lack of around bottom corners, you can install a GNOME extension called [Round Bottom Corner][7]. This will force round bottom corners for all applications including Gedit.
|
||||
|
||||
### Make Gedit the default text editor
|
||||
|
||||
Alright! So you have installed Gedit but the text files still open in GNOME Text Editor with double click action. To open a file with Gedit, you need to right click and then select the ‘open with’ option.
|
||||
|
||||
If you want Gedit to open text files all the time, you can set it as default.
|
||||
|
||||
Right click on a text file and go with “open with” option. Select Gedit here and enable the “Always use for this file type” option from the bottom.
|
||||
|
||||
![Set Gedit as the default text editor][8]
|
||||
|
||||
### Remove Gedit
|
||||
|
||||
Don’t feel Gedit is up to the mark? That’s rare, but I am not judging you. To remove Gedit from Ubuntu, use the following command:
|
||||
|
||||
```
|
||||
sudo apt remove gedit
|
||||
```
|
||||
|
||||
You may also try uninstalling it from the software center.
|
||||
|
||||
### Conclusion
|
||||
|
||||
GNOME Text Editor is the next-gen, created-from-scratch editor that blends well with the new GNOME.
|
||||
|
||||
It’s good enough for simple text editing. However, Gedit has a plugin ecosystem that gives it more feature.
|
||||
|
||||
For those who use it extensively for coding and other stuff, installing Gedit is still an option in Ubuntu.
|
||||
|
||||
What about you? Will you stick with the default new text editor or would you go back to the good old Gedit?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/install-gedit-ubuntu/
|
||||
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://itsfoss.com/gnome-text-editor/
|
||||
[2]: https://itsfoss.com/wp-content/uploads/2022/10/text-editor-ubuntu.png
|
||||
[3]: https://itsfoss.com/wp-content/uploads/2022/10/install-gedit-from-ubuntu-software-center.png
|
||||
[4]: https://itsfoss.com/wp-content/uploads/2022/10/access-plugins-in-gedit.png
|
||||
[5]: https://itsfoss.com/wp-content/uploads/2022/10/plugins-in-gedit.png
|
||||
[6]: https://itsfoss.com/wp-content/uploads/2022/10/additional-plugins-gedit.png
|
||||
[7]: https://extensions.gnome.org/extension/5237/rounded-window-corners/
|
||||
[8]: https://itsfoss.com/wp-content/uploads/2022/10/set-gedit-default.png
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "CoWave-Fall"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
@ -89,7 +89,7 @@ via: https://www.debugpoint.com/enable-usb-virtualbox/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[CoWave-Fall](https://github.com/CoWave-Fall)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
@ -0,0 +1,140 @@
|
||||
[#]: subject: "How to Get Started with Shell Scripting in Linux"
|
||||
[#]: via: "https://www.linuxtechi.com/get-started-shell-scripting-linux/"
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Get Started with Shell Scripting in Linux
|
||||
======
|
||||
|
||||
Hello readers, In this post, we will cover how to get started with shell scripting in Linux or UNIX systems.
|
||||
|
||||
##### What is a Shell?
|
||||
|
||||
A shell is an interpreter in UNIX/Linux like operating systems. It takes commands typed by the user and calls the operating system to run those commands. In simple terms a shell acts as form of wrapper around the OS. For example , you may use the shell to enter a command to list the files in a directory , such as [ls command][1] , or a command to copy ,such as cp.
|
||||
|
||||
```
|
||||
$ ls Desktop Documents Downloads Music Pictures playbook.yaml Public snap Templates test5 Videos $
|
||||
```
|
||||
|
||||
In this example , when you simply type ls and press enter . The $ is the shell prompt , which tells you the the shell awaits your commands.The remaining lines are the names of the files in the current directory.
|
||||
|
||||
##### What is Shell Prompt?
|
||||
|
||||
The prompt, $, which is called command prompt, is issued by the shell. While the prompt is displayed, you can type a command. The shell reads your input after you press Enter. It determines the command you want executed by looking at the first word of your input. A word is an unbroken set of characters. Spaces and tabs separate words.
|
||||
|
||||
### What are different types of Shells
|
||||
|
||||
since there is no monopoly of shells , you are free to run any shell as you wish. That’s all well and good , but choosing a shell without knowing the alternative is not very helpful. Below are lists of shells available in UNIX/Linux.
|
||||
|
||||
##### The Bourne Shell
|
||||
|
||||
The Original Unix Shell is known as sh , short for shell or the Bourne shell , named for steven Bourne , the creator of sh. This is available on almost all the UNIX like operating system. The Basic bourne shell supports only the most limited command line editing, You can type the Characters,remove characters one at a time with the Backspace key and Press enter to execute the command. If command line gets messed up , you can press Ctrl-C to cancel the whole command.
|
||||
|
||||
##### The C Shell
|
||||
|
||||
It is desgined by Bill Joy at the university of california at Berkeley , the C shell was so named because much of its syntax parallels that of C programming language. This shell adds some neat features to the Bourne shell,especially the ability to recall previous commands to help create future commands.Because it is very likely you will need to execute more than one command to perform a particular task,this C shell capability is very useful.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0');
|
||||
|
||||
##### The Korn Shell
|
||||
|
||||
It is created by David Korn at AT&T Bell laboratories , the korn shell or ksh offers the same kind of enhancements offers by the C Shell , with one important difference: The korn shell is backward compatible with the older Bourne shell Synatx. In UNIX like AIX & HP-UX korn shell is the default shell.
|
||||
|
||||
##### Bash (The Bourne Again Shell)
|
||||
|
||||
Bash offers command-line editing like the korn shell,file name completion like the C shell and a lot of other advance features. Many Users view bash as having the best of the Korn and C shells in one shell. In Linux and Mac OS X system , bash is the default shell.
|
||||
|
||||
##### tcsh ( The T C Shell)
|
||||
|
||||
Linux systems popularized the T C shell ot Tcsh. Tcsh extends the traditional csh to add command line editing,file name completion and more. For example , tcsh will complete the file and directory names when you press Tab key(the same key used in bash). The older C shell did not support this feature.
|
||||
|
||||
### What is a Shell Script?
|
||||
|
||||
A Shell Script is a text file that contains one or more commands. In a shell script, the shell assumes each line of text file holds a separate command. These Commands appear for most parts as if you have typed them in at a shell windows.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0');
|
||||
|
||||
##### Why to use Shell Script ?
|
||||
|
||||
Shell scripts are used to automate administrative tasks,encapsulate complex configuration details and get at the full power of the operating system.The ability to combine commands allows you to create new commands ,thereby adding value to your operating system.Furthermore ,combining a shell with graphical desktop environment allows you to get the best of both worlds.
|
||||
|
||||
In Linux system admin profile, day to day repeated tasks can be automated using shell script which saves time and allow admins to work on quality work.
|
||||
|
||||
##### Creating first shell script
|
||||
|
||||
Create a text file in your current working directory with a name myscript.sh , all the shell scripts have an “.sh” extension. First line of a shell script is either #!/bin/sh or #!/bin/bash , it is known as shebang because # symbol is called hash and ! Symbol is called a bang. Where as /bin/sh & /bin/bash shows that commands to be executed either sh or bash shell.
|
||||
|
||||
Below are the content of myscript.sh
|
||||
|
||||
```
|
||||
#!/bin/bash # Written by LinuxTechi echo echo "Current Working Directory: $(pwd)" echo echo "Today' Date & Time: $(date)" DISK=$(df -Th) echo echo "Disk Space on System:" echo "$DISK"
|
||||
```
|
||||
|
||||
Above shell script will display the current working , today’s date & time along with file system disk space. We have used [echo command][2] and other [linux commands][3] to build this script.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0');
|
||||
|
||||
Assign the executable permissions using below [chmod command][4]
|
||||
|
||||
```
|
||||
$ chmod a+x myscript.sh
|
||||
```
|
||||
|
||||
Now execute the script.
|
||||
|
||||
```
|
||||
$ sh myscript.sh or $ ./myscript.sh
|
||||
```
|
||||
|
||||
Note: To execute any shell script available in current directory, use ./<script-name> as shown below,
|
||||
|
||||
output,
|
||||
|
||||
##### Taking Input from the user in shell script
|
||||
|
||||
Read command is used to take inputs from user via keyboard and assign the value to a variable. echo command is used to display the contents.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0');
|
||||
|
||||
Let’s modify above script so that it starts taking input,
|
||||
|
||||
```
|
||||
#!/bin/bash # Written by LinuxTechi read -p "Your Name: " NAME echo echo "Today' Date & Time: $(date)" echo read -p "Enter the file system:" DISK echo "$(df -Th $DISK)"
|
||||
```
|
||||
|
||||
Now, try to execute the script this time it should prompt to enter details.
|
||||
|
||||
```
|
||||
$ ./myscript.sh Your Name: Pradeep Kumar Today' Date & Time: Sat 15 Oct 05:32:38 BST 2022 Enter the file system:/mnt/data Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/volgrp01-lv01 ext4 14G 24K 13G 1% /mnt/data $
|
||||
```
|
||||
|
||||
Perfect, above output confirms that scripting is prompting for input and processing data.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-large-leaderboard-2','ezslot_11',550,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-large-leaderboard-2-0');
|
||||
|
||||
That’s conclude the post. I hope you have found it informative. Kindly do post your queries and feedback in below comments section.
|
||||
|
||||
Read Also: [How to Debug a Bash Shell Script in Linux][5]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/get-started-shell-scripting-linux/
|
||||
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.linuxtechi.com/author/pradeep/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.linuxtechi.com/linux-ls-command-examples-beginners/
|
||||
[2]: https://www.linuxtechi.com/echo-command-examples-in-linux/
|
||||
[3]: https://www.linuxtechi.com/20-linux-commands-interview-questions-answers/
|
||||
[4]: https://www.linuxtechi.com/chmod-command-examples-in-linux/
|
||||
[5]: https://www.linuxtechi.com/debugging-shell-scripts-in-linux/
|
@ -0,0 +1,221 @@
|
||||
[#]: subject: "Top 10 Best Linux Distributions in 2022 For Everyone"
|
||||
[#]: via: "https://www.debugpoint.com/best-linux-distributions-2022/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Top 10 Best Linux Distributions in 2022 For Everyone
|
||||
======
|
||||
|
||||
**We compiled a list of the 10 best Linux distributions for everyone in 2022 based on their stability, attractiveness and time required to configure after installation.**
|
||||
|
||||
The Linux Distribution space is heavily fragmented to the point that a new fork is being created almost daily. A very few of them are unique and bring something different to the table. Most of them are just the same Ubuntu or Debian based with a different theme or a wrapper.
|
||||
|
||||
The Linux distro landscape is so dynamic that it changes every month. Some Linux distributions become more stable with ever-changing packages and components, while others become unstable in quality. Hence, it’s challenging to pick and choose the best Linux distribution for your school, work or just casual browsing, watching movies, etc. Not to mention, many Linux distributions are discontinued yearly due to a lack of contributions, cost overruns and other reasons.
|
||||
|
||||
That said, we compiled the below 10 best Linux distributions in 2022, which are perfect for any user or use case. That includes casual dual-boot users with Windows 10 or 11, students, teachers, developers, creators, etc. Take a look.
|
||||
|
||||
### Best Linux Distributions of 2022
|
||||
|
||||
#### 1. Fedora KDE
|
||||
|
||||
The first Linux distribution, which I think is the best on this list, is Fedora Linux KDE Edition. The primary reason is that Fedora Linux is very stable with the latest tech, and KDE Plasma is super fast and perfect for all users. Moreover, this Fedora and KDE Plasma combination doesn’t require further modification or tweaks after installation. Over the last couple of releases and after the latest [Fedora 36][1] release feedback, Fedora Linux with KDE Plasma has become the go-to distribution for every possible use case and workflow.
|
||||
|
||||
In addition, KDE Plasma also brings KDE Applications and goodies, eliminating additional software you need. And with the help of Fedora repo and [RPM Fusion][2], you can blindly trust Fedora Linux with KDE Edition for your daily driver.
|
||||
|
||||
[![Fedora KDE Edition - Best Linux Distributions of 2022][3]][4]
|
||||
|
||||
On a side note, you can also consider the [Fedora Linux workstation][5] edition with GNOME if you prefer a GNOME-styled desktop. In addition, you might consider other [Fedora Spins][6] or [Fedora Labs][7] if you like a different desktop flavour.
|
||||
|
||||
You can download Fedora KDE Edition here. Other downloads with [torrent details][8] are present here.
|
||||
|
||||
[Download Fedora][9]
|
||||
|
||||
#### 2. KDE Neon
|
||||
|
||||
The second distribution we would like to feature in this list is KDE Neon. The KDE Neon is based on the Ubuntu LTS release at its base. But the KDE Framework and KDE Applications with KDE Plasma desktop are the latest from the team. The primary reason for featuring this is that it is perfect for you if you want a Ubuntu LTS base distribution but want the latest KDE Applications. In fact, you can use it for your daily driver for years to come, provided you keep your system up to date.
|
||||
|
||||
In contrast, the Kubuntu LTS releases are also perfect. But they may not have the latest KDE Framework or applications.
|
||||
|
||||
[![KDE Neon - Best Linux Distributions of 2022][10]][11]
|
||||
|
||||
You can download the KDE Neon at the below link. Make sure to choose the user edition while downloading.
|
||||
|
||||
[Download KDE Neon][12]
|
||||
|
||||
#### 3. Ubuntu LTS Releases with GNOME
|
||||
|
||||
The Ubuntu LTS releases (with default GNOME Desktop) are the most used Linux Distribution today. It’s the most popular, most downloaded and used by users, enterprises and several real-world needs.
|
||||
|
||||
There is no doubt about the Ubuntu LTS version’s power and stability. It has been time-tested. With the vast community support, Ubuntu LTS versions with customised GNOME might be the perfect fit for your needs.
|
||||
|
||||
Most third-party applications and games primarily target Ubuntu, and you get a much bigger support base than all the distributions in this list. But the recent trends of decisions from Canonical (Ubuntu’s creator), such as forcing users to adopt Snap and other stuff, may raise a concern for you if you are an advanced user.
|
||||
|
||||
But for casual users who want to browse the internet, watch movies, listen to music and do personal work, you can blindly trust Ubuntu LTS versions as your best Linux distribution.
|
||||
|
||||
[![Ubuntu LTS with GNOME][13]][14]
|
||||
|
||||
Finally, you can download Ubuntu 22.04 LTS (the current one) using the below link.
|
||||
|
||||
[Download Ubuntu][15]
|
||||
|
||||
#### 4. Linux Mint Cinnamon
|
||||
|
||||
One of the Linux distributions that “just works” out-of-the-box in “any” type of hardware. The [Linux Mint][16] is fourth on this list. The above three distributions (Fedora, Ubuntu LTS) may not work well in older hardware (PC or Laptop) having low memory and older CPU. But Linux Mint is perfect in those use cases with its unique ability to make everyone welcome.
|
||||
|
||||
Furthermore, with Linux Mint, you do not need to install any additional applications after a fresh install. It comes with every possible driver and utility for all use cases. For example, your printer, webcam, and Bluetooth would work in Linux Mint.
|
||||
|
||||
In addition, if you are new to Linux or Windows users who plan to migrate, then it is a perfect distribution to start. Its legacy menu-driven Cinnamon desktop is one of the best open-source desktops today.
|
||||
|
||||
[![Linux Mint Cinnamon Edition][17]][18]
|
||||
|
||||
If you ever get confused or have no time to choose which distribution is best for you, choose the Linux Mint Cinnamon edition. With that said, you can download Linux Mint using the below link.
|
||||
|
||||
[Download Linux Mint][19]
|
||||
|
||||
#### 5. Pop OS
|
||||
|
||||
The Pop OS is developed by American computer manufacturer System76 for their hardware lineup. But it is one of the famous and emerging Linux distributions based on Ubuntu. The Pop OS is primarily known to have perfect for modern hardware (including NVIDIA graphics) and brings some unique features absent in the traditional Ubuntu with GNOME desktop.
|
||||
|
||||
For example, you get a well-designed COSMIC desktop with Pop OS (which is currently being written with Rust), a built-in tiling feature, well-optimized power controls, and a stunning Pop Shop. The Pop Shop is a software store designed by its maker to give you a well-categorized set of applications for your study, learning, development, gaming, etc. This distribution is also perfect for gaming if you plan to start your Linux journey with gaming in mind.
|
||||
|
||||
In addition, if you want a professional-grade Linux distribution with official help and support, you should check out actual System76 hardware with Pop OS.
|
||||
|
||||
[![Pop OS - Best Linux Distributions of 2022][20]][21]
|
||||
|
||||
However, you can download the Pop OS for various hardware for free using the link below.
|
||||
|
||||
[Download Pop OS][22]
|
||||
|
||||
#### 6. MX Linux
|
||||
|
||||
MX Linux is a well-designed Linux distribution primarily targeted at older hardware with productivity and stability in mind. It’s an emerging Linux distribution that is free from systemd and uses the init system. Based on the Debian Stable branch, it brings Xfce Desktop, KDE Plasma desktop and Fluxbox with its own powerful MX utilities.
|
||||
|
||||
You can use MX Linux for all of your needs. But I would not recommend it for gaming or development work. If you need a stable Linux distribution for your older hardware, free from systemd, you can choose MX Linux. Especially the Fluxbox edition.
|
||||
|
||||
[![MX Linux][23]][24]
|
||||
|
||||
You can download MX Linux from its official website below.
|
||||
|
||||
[Download MX Linux][25]
|
||||
|
||||
#### 7. Endeavour OS
|
||||
|
||||
If you like the concept of “Rolling release”, which gives you all the latest packages and operating system components, Arch Linux is perhaps the best you can have. However, installing Arch Linux might be tricky for new users, although the recent [archinstall][26] does a pretty job.
|
||||
|
||||
However, EndeavourOS is a perfect Arch Linux-based distribution which features Xfce, KDE Plasma and other popular desktops out of the box. Armed with the Calamares installer, it is super easy to install Endeavour OS.
|
||||
|
||||
However, this might not be the best Linux distribution for beginners. But it is the best one for little advanced users who are already familiar with Linux.
|
||||
|
||||
On the brighter side, you get to say, “btw, I use Arch”.
|
||||
|
||||
[![EndeavourOS - Best Linux Distributions of 2022][27]][28]
|
||||
|
||||
Last but not least, EndeavourOS has excellent community support, and its Telegram channel support is the best in my personal experience. So, if you ever get stuck, help is just a message away.
|
||||
|
||||
Download this excellent and emerging Linux distribution using the link below.
|
||||
|
||||
[Download Endeavour OS][29]
|
||||
|
||||
#### 8. Zorin OS
|
||||
|
||||
Zorin OS is a Linux distribution based on Ubuntu Linux and is best for those who want nice looks, power, stability, and a productive system. In this Linux distribution, the default desktop is a blend of Xfce and GNOME 3, heavily customised. One of the advantages of Zorin is it comes with ready-made themes. With those themes, you can make Zorin OS look like Windows and macOS with just one click.
|
||||
|
||||
This helps the new users easily migrate to Linux and use Zorin for their day-to-day work.
|
||||
|
||||
[![Zorin OS - Best Linux Distributions of 2022][30]][31]
|
||||
|
||||
Additionally, Zorin OS maintains three editions – Pro, Lite and Core, which cater to different user bases. The Pro edition is a paid version with additional themes and tweaks for a minimal fee.
|
||||
|
||||
You can download Zorin OS from the below link.
|
||||
|
||||
[Download Zorin OS][32]
|
||||
|
||||
#### 9. Debian with Xfce
|
||||
|
||||
There are many Linux distributions which are based on Debian. But I have included vanilla Debian in this list because of its excellent stability and power. Debian – termed a “Universal Operating System”, is perfect for moderately experienced users of Linux. But if you can set up a daily driver with Debian Stable with Xfce, you can run it for years without reformating or reinstalling for fear of breaking your system.
|
||||
|
||||
Debian package repo contains all possible packages, which gives you the ultimate flexibility to set up any custom system you want.
|
||||
|
||||
![Debian with Xfce Desktop][33]
|
||||
|
||||
A perfect Linux distribution if you know how to set up a Debian box with some experience. You can download and install Debian after choosing the proper installer for your system here. Debian comes with an installer for several architectures. You may [read our guide][34]if you are confused about which one to choose and how to install it.
|
||||
|
||||
[Download Debian][35]
|
||||
|
||||
#### 10. Ubuntu Studio
|
||||
|
||||
The final best Linux distribution we feature in this list is Ubuntu Studio. Ubuntu Studio is an official Ubuntu Linux distribution specially curated for Multimedia production type of work.
|
||||
|
||||
Ubuntu Studio comes with the low-latency mainline Linux Kernel to give additional advantages to multiple operations. In addition, Ubuntu Studio brings its native “Ubuntu Studio Controls”, which provides creators with several options to tweak CPU settings for heavy CPU-intensive rendering and processing.
|
||||
|
||||
[![Ubuntu Studio 22.04 LTS Desktop][36]][37]
|
||||
|
||||
Moreover, a massive list of free and open-source audio, graphics, and video applications is pre-loaded into the ISO, saving time if you plan to build a multimedia workstation.
|
||||
|
||||
Ubuntu Studio is powered by the KDE Plasma desktop, the perfect Linux distribution for all creators worldwide.
|
||||
|
||||
You can download Ubuntu Studio from the below link.
|
||||
|
||||
[Download Ubuntu Studio][38]
|
||||
|
||||
### Closing Notes
|
||||
|
||||
I hope this list of “curated and best Linux distributions” helps you pick one for yourself, your friends and co-workers. These are based on their current status (active project), prospects (i.e. it has a well-defined vision for the future) and how easy to set up and out-of-the-box experience.
|
||||
|
||||
Finally, which Linux distribution should you think should be in the top 10? Let me know in the comment box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/best-linux-distributions-2022/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/2022/02/fedora-36/
|
||||
[2]: https://www.debugpoint.com/2020/07/enable-rpm-fusion-fedora-rhel-centos/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition-1024x640.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition.jpg
|
||||
[5]: https://getfedora.org/en/workstation/download/
|
||||
[6]: https://spins.fedoraproject.org/
|
||||
[7]: https://labs.fedoraproject.org/
|
||||
[8]: https://torrent.fedoraproject.org/
|
||||
[9]: https://spins.fedoraproject.org/kde/download/index.html
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon-1024x578.jpg
|
||||
[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon.jpg
|
||||
[12]: https://neon.kde.org/download
|
||||
[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME-1024x575.jpg
|
||||
[14]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME.jpg
|
||||
[15]: https://ubuntu.com/download/desktop
|
||||
[16]: https://www.debugpoint.com/linux-mint/
|
||||
[17]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition-1024x576.jpg
|
||||
[18]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition.jpg
|
||||
[19]: https://linuxmint.com/download.php
|
||||
[20]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS-1024x577.jpg
|
||||
[21]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS.jpg
|
||||
[22]: https://pop.system76.com/
|
||||
[23]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux-1024x522.jpg
|
||||
[24]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux.jpg
|
||||
[25]: https://mxlinux.org/download-links/
|
||||
[26]: https://www.debugpoint.com/2022/01/archinstall-guide/
|
||||
[27]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS-1024x574.jpg
|
||||
[28]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS.jpg
|
||||
[29]: https://endeavouros.com/download/
|
||||
[30]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS-1024x575.jpg
|
||||
[31]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS.jpg
|
||||
[32]: https://zorin.com/os/download/
|
||||
[33]: https://www.debugpoint.com/wp-content/uploads/2022/05/Debian-with-Xfce-Desktop.jpg
|
||||
[34]: https://www.debugpoint.com/2021/01/install-debian-buster/
|
||||
[35]: https://www.debian.org/distrib/
|
||||
[36]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop-1024x631.jpg
|
||||
[37]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop.jpg
|
||||
[38]: https://ubuntustudio.org/download/
|
@ -0,0 +1,115 @@
|
||||
[#]: subject: "How to Update or Upgrade Ubuntu Offline without Internet"
|
||||
[#]: via: "https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Update or Upgrade Ubuntu Offline without Internet
|
||||
======
|
||||
|
||||
**This guide explains the steps to update Ubuntu offline without an active internet connection.**
|
||||
|
||||
There are many situations where you may need to update your Ubuntu installation without an internet connection. You may be staying remotely or have a set of network Ubuntu systems that are not connected to the internet. In any case, keeping your system updated with the latest packages is always required.
|
||||
|
||||
Of course, updating any system while connected to the internet is always recommended.
|
||||
|
||||
But sometimes, it is not possible for security reasons also. Connecting to the internet may bring additional hardening steps for your systems to protect them from hackers and malware.
|
||||
|
||||
The following method using [apt-offline][1] helps to fix those use cases and outlines the steps to update your Ubuntu offline without the internet.
|
||||
|
||||
### Pre-requisite
|
||||
|
||||
- You need to have access to a Ubuntu system that has an internet connection (e.g. your friends, cafe, or lab system)
|
||||
- A USB pen drive to hold the packages
|
||||
- Install the apt-offline package in both the systems – a) the offline system and b) the system with an internet connection.
|
||||
|
||||
### Install apt-offline
|
||||
|
||||
both systems
|
||||
|
||||
You can install the `apt-offline` using the following command. Remember, you have to get it installed in .
|
||||
|
||||
```
|
||||
sudo apt install apt-offline
|
||||
```
|
||||
|
||||
In case you need the `apt-offline` to be installed in the target system, you can download the deb package from the below link and copy it to the target system via a USB stick. Then run the below command to install.
|
||||
|
||||
The download link for Ubuntu 22.04 LTS and other versions is present below. You can choose a mirror and download the deb file.
|
||||
|
||||
[download .deb files – apt-offline][2]
|
||||
|
||||
```
|
||||
sudo dpkg -i name_of_package.deb
|
||||
```
|
||||
|
||||
### Update Ubuntu offline: Steps
|
||||
|
||||
Open a terminal in the offline Ubuntu system and create a signature file using the following command in your home directory.
|
||||
|
||||
```
|
||||
sudo apt-offline set ~/offline-data.sig
|
||||
```
|
||||
|
||||
[![Create the sig file][3]][4]
|
||||
|
||||
This creates a file containing the required package paths and details for download.
|
||||
|
||||
[![sig file contents][5]][6]
|
||||
|
||||
Copy this .sig file to a USB and take it to a Ubuntu system with internet access.
|
||||
|
||||
Create a directory (see example below) to hold the downloaded packages in the Ubuntu system with an internet connection.
|
||||
|
||||
Open a terminal and run the following command to download the required packages. Remember to change the download directory and .sig file path as per your system.
|
||||
|
||||
```
|
||||
apt-offline get -d ~/offline-data-dir offline-data.sig
|
||||
```
|
||||
|
||||
[![Download the packages to install offline][7]][8]
|
||||
|
||||
offline Ubuntu system
|
||||
|
||||
You should see the files are downloaded properly. Now copy the entire downloaded directory to the USB drive and plug it into the .
|
||||
|
||||
Then run the following command to install the downloaded packages to the offline system. Change the directory path as per your system.
|
||||
|
||||
```
|
||||
sudo apt-offline install offline-data-dir/
|
||||
```
|
||||
|
||||
[![Installing packages - offline update ubuntu][9]][10]
|
||||
|
||||
The update should run smoothly if all goes well, and you should have an updated Ubuntu system.
|
||||
|
||||
You must repeat the steps above to keep your Ubuntu system up-to-date offline whenever you need to update.
|
||||
|
||||
I hope this guide helps you to update your Ubuntu system in an offline mode. If you face any trouble, let me know in the comment box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://github.com/rickysarraf/apt-offline
|
||||
[2]: https://packages.ubuntu.com/focal/all/apt-offline/download
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/Create-the-sig-file-1024x204.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2021/03/Create-the-sig-file.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/sig-file-contents-1024x250.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/sig-file-contents.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2021/03/Download-the-packages-to-install-offline-1024x437.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2021/03/Download-the-packages-to-install-offline.jpg
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2021/03/Installing-packages-offline-update-ubuntu-1024x509.jpg
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2021/03/Installing-packages-offline-update-ubuntu.jpg
|
@ -0,0 +1,122 @@
|
||||
[#]: subject: "Why you should consider Rexx for scripting"
|
||||
[#]: via: "https://opensource.com/article/22/10/rexx-scripting-language"
|
||||
[#]: author: "Howard Fosdick https://opensource.com/users/howtech"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Why you should consider Rexx for scripting
|
||||
======
|
||||
|
||||
How do you design a programming language to be powerful yet still easy to use? Rexx offers one example. This article describes how Rexx reconciles these two seemingly contradictory goals.
|
||||
|
||||
### History of Rexx programming language
|
||||
|
||||
Several decades ago, computers were shifting from batch to interactive processing. Developers required a scripting or "glue" language to tie systems together. The tool needed to do everything from supporting application development to issuing operating system commands to functioning as a macro language.
|
||||
|
||||
Mike Cowlishaw, IBM Fellow, created a solution in a language he named Rexx. It is widely considered the first general-purpose scripting language.
|
||||
|
||||
Rexx was so easy to use and powerful that it quickly permeated all of IBM's software. Today, Rexx is the bundled scripting language on all of IBM's commercial operating systems (z/OS, z/VM, z/VSE, and IBM i). It's no surprise that in the 1990s, IBM bundled Rexx with PC-DOS and then OS/2. Rexx popped up in Windows in the XP Resource Kit (before Microsoft decided to lock in customers with its proprietary scripting languages, VBScript and PowerShell). Rexx also emerged as the scripting language for the popular Amiga PC.
|
||||
|
||||
### Open source Rexx
|
||||
|
||||
With Rexx spreading across platforms, standardization was needed. The American National Standards Institute (ANSI) stepped forward in 1996.
|
||||
|
||||
That opened the floodgates. Open source Rexx interpreters started appearing. Today, more than a half dozen interpreters run on every imaginable platform and operating system, along with many open source tools.
|
||||
|
||||
Two Rexx variants deserve mention. _Open Object Rexx_ is a compatible superset of procedural or "classic" Rexx. _ooRexx_ is message-based and provides all the classes, objects, and methods one could hope for. For example, it supports multiple inheritance and mixin classes.
|
||||
|
||||
Paralleling the rise in Java's popularity, Mike Cowlishaw invented _NetRexx_. NetRexx is a Rexx variant that fully integrates with everything Java (including its object model) and runs on the Java virtual machine.
|
||||
|
||||
ooRexx went open source in 2004; NetRexx in 2011. Today the [Rexx Language Association][1] enhances and supports both products. The RexxLA also supports _Regina_, the most popular classic Rexx interpreter, and _BSF4ooRexx_, a tool that fully integrates ooRexx with Java. Everything Rexx is open source.
|
||||
|
||||
### Layered design
|
||||
|
||||
So, back to the initial conundrum. How does a programming language combine power with ease of use?
|
||||
|
||||
One part of the solution is a _layered architecture_. Operators and a minimal set of instructions form the core of the classic Rexx language:
|
||||
|
||||
![Rexx layered design][2]
|
||||
|
||||
Image by:
|
||||
|
||||
(Howard Fosdick, CC BY-SA 4.0)
|
||||
|
||||
Surrounding the core are the language's 70-odd built-in functions:
|
||||
|
||||
- Arithmetic
|
||||
- Comparison
|
||||
- Conversion
|
||||
- Formatting
|
||||
- String manipulation
|
||||
- Miscellaneous
|
||||
|
||||
Additional power is added in the form of _external function libraries_. You can invoke external functions from within Rexx programs as if they were built in. Simply make them accessible by proper reference at the top of your script.
|
||||
|
||||
Function libraries are available for everything: GUIs, databases, web services, OS services, system commands, graphics, access methods, advanced math, display control, and more. The result is a highly-capable open source ecosystem.
|
||||
|
||||
Finally, recall that Open Object Rexx is a superset of classic Rexx. So you could use procedural Rexx and then transition your skills and code to object programming by moving to ooRexx. In a sense, ooRexx is yet another Rexx extension, this time into object-oriented programming.
|
||||
|
||||
### Rexx is human-oriented language
|
||||
|
||||
Rexx glues all its instructions, functions, and external libraries together in a consistent, dead-simple syntax. It doesn't rely on special characters, arcane syntax, or reserved words. It's case-insensitive and free-form.
|
||||
|
||||
This approach shifts the burden of programming from programmer to machine to the greatest degree possible. The result is a comparatively easy language to learn, code, remember, and maintain. Rexx is intended as a human-oriented language.
|
||||
|
||||
Rexx implements the _principle of least astonishment_, the idea that systems should work in ways that people assume or expect. For example, Rexx's default decimal arithmetic—with precision you control—means you aren't surprised by rounding errors.
|
||||
|
||||
Another example: All variables contain strings. If the strings represent valid numbers, one can perform arithmetic operations with them. This simple concept of dynamic typing makes all data visible and simplifies tracing and debugging.
|
||||
|
||||
Rexx capitalizes on the advantages of interpreters to simplify program development. Tracing facilities allow developers to direct and witness program execution in various ways. For example, one can single-step through code, inspect variable values, change them during execution, and more.
|
||||
|
||||
Rexx also raises common error conditions that the programmer can easily trap. This feature makes for more standardized, reliable code.
|
||||
|
||||
### Arrays
|
||||
|
||||
Rexx's approach to arrays (or tables) is a good example of how it combines simplicity with power.
|
||||
|
||||
Like all Rexx variables, you don't have to declare them in advance. They automatically expand to the size of available memory. This feature relieves programmers of the burden of memory management.
|
||||
|
||||
To form an array, a so-called _compound variable_ stitches together a _stem variable_ with one or more _subscripts_, as in these examples:
|
||||
|
||||
```
|
||||
my_array.1
|
||||
my_table.i.j
|
||||
my_list.index_value
|
||||
my_list.string_value
|
||||
my_tree.branch_one
|
||||
my_tree.branch_one.branch_two
|
||||
```
|
||||
|
||||
Subscripts can represent numeric values, as you may be accustomed to in standard table processing.
|
||||
|
||||
Alternatively, they can contain strings. String subscripts allow you to build _associative arrays_ using the same simple syntax as common tables. Some refer to associative arrays as _key-value pairs_ or _content addressable memory_. Allowing array contents to be accessed by arbitrary strings rather than simply numeric values opens up an entirely new world of algorithmic solutions.
|
||||
|
||||
With this flexible but consistent syntax, you can build almost any data structure: Lists, two- or three- or n-dimensional tables, key-value pairs, balanced trees, unbalanced trees, dense tables, sparse tables, records, rows, and more.
|
||||
|
||||
The beauty is in simplicity. It's all based on the notion of compound variables.
|
||||
|
||||
### Wrap up
|
||||
|
||||
In the future, I'll walk through some Rexx program examples. One real-world example will show how a short script using associative arrays reduced the runtime of a legacy program from several hours down to less than a minute.
|
||||
|
||||
You can join the Rexx Language Association for free. For free Rexx downloads, tools, tutorials, and more, visit [RexxInfo.org][3].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/rexx-scripting-language
|
||||
|
||||
作者:[Howard Fosdick][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/howtech
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: http://www.RexxLA.org
|
||||
[2]: https://opensource.com/sites/default/files/2022-10/rexx_layered_design.jpg
|
||||
[3]: http://www.RexxInfo.org
|
@ -0,0 +1,216 @@
|
||||
[#]: subject: "Setup Docker And Docker Compose With DockSTARTer"
|
||||
[#]: via: "https://ostechnix.com/setup-docker-and-docker-compose-with-dockstarter/"
|
||||
[#]: author: "sk https://ostechnix.com/author/sk/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Setup Docker And Docker Compose With DockSTARTer
|
||||
======
|
||||
|
||||
This guide explains **what is DockSTARTer**, how to **install DockSTARTer in Linux** and how to **setup Docker and Docker compose using DockSTARTer** to run containerized applications in Linux.
|
||||
|
||||
### What is DockSTARTer?
|
||||
|
||||
**DockSTARTer** is a TUI-based utility to easily install Docker and Docker compose in Linux and Unix systems. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker.
|
||||
|
||||
DockSTARTer has both TUI and CLI interfaces. So you can use either of these interfaces to quickly deploy multiple containerized apps in a single docker environment.
|
||||
|
||||
Please note that DockSTARTer is not a ready-made set of apps that run out of the box. You still need to choose what to run and how to run.
|
||||
|
||||
It also doesn't configure apps and storage for you. You may need to configure the settings of the apps and the storage manually by yourself.
|
||||
|
||||
As of writing this, we can run more than 100 docker apps using DockSTARter. Some of the popular apps are Adguard, Bitwarden, CloudFlare DDNS, Duplicacy, Emby, File Browser, Glances, Heimdall, InfluxDB, Jellyfin, Kiwix-serve, Lidarr, Minecraft Server, Nextcloud, openLDAP, Speedtest, Pihole, qBittorent, Rsnapshot, Syncthing, Time Machine, Uptimne Kuma, Vsftpd, Wireguard, youtubedl and a lot more.
|
||||
|
||||
DockSTARTer is free and opensource shell script. The source code of DockSTARTer is hosted in GitHub.
|
||||
|
||||
### Install DockSTARTer in Linux
|
||||
|
||||
DockSTARter can be installed in popular Linux operating systems.
|
||||
|
||||
To install DockSTARTer in Arch Linux and its variants such as EndeavourOS, and Manjaro Linux, run the following commands:
|
||||
|
||||
```
|
||||
$ sudo pacman -S curl docker git
|
||||
```
|
||||
|
||||
```
|
||||
$ bash -c "$(curl -fsSL https://get.dockstarter.com)"
|
||||
```
|
||||
|
||||
```
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
To install DockSTARTer in Debian, Ubuntu, Linux Mint, Pop OS, run:
|
||||
|
||||
```
|
||||
$ sudo apt install curl git
|
||||
```
|
||||
|
||||
```
|
||||
$ bash -c "$(curl -fsSL https://get.dockstarter.com)"
|
||||
```
|
||||
|
||||
```
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
To install DockSTARTer in Fedora, RHEL, CentOS, AlmaLinux and Rocky Linux, run:
|
||||
|
||||
```
|
||||
$ sudo dnf install curl git
|
||||
```
|
||||
|
||||
```
|
||||
$ bash -c "$(curl -fsSL https://get.dockstarter.com)"
|
||||
```
|
||||
|
||||
```
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
### Use DockSTARTer to setup Docker and Docker Compose
|
||||
|
||||
DockSTARTer allows you to install and configure various apps in Docker.
|
||||
|
||||
To run DockSTARTer for the first time, enter the following command:
|
||||
|
||||
```
|
||||
$ ds
|
||||
```
|
||||
|
||||
Choose "Configuration" from the main menu and press ENTER:
|
||||
|
||||
And then select "Full setup".
|
||||
|
||||
Choose which apps you would like to install. By default, Watchtower app is selected. Use UP and DOWN arrow keys to navigate to app list and press SPACEBAR to select or deselect apps.
|
||||
|
||||
Now, DockSTARTer will display the default settings of the selected apps. If you would like to keep these settings for the apps, choose "Yes" and hit ENTER. Or choose "No" and change the settings as you want.
|
||||
|
||||
If you like to keep the default settings for VPN, choose "Yes" or choose "No" to change the settings as you please.
|
||||
|
||||
Now you will see the global settings for DockSTARTer. Review the global settings such as docker config directory, docker storage directory, docker hostname and time zone etc. If you're OK with the default settings, simply choose "Yes" and hit ENTER. If you want to change these settings, select "No". I want to change the storage directory, hostname and time zone, so I choose "No".
|
||||
|
||||
If you chose "No" in the previous wizard, you will be prompted to set docker config directory. There will be 2 choices given. You can either choose to keep the currently selected directory or enter a new one by selecting "Enter New" option. I am going to keep the currently selected directory.
|
||||
|
||||
Choose "yes" to set appropriate permissions on the docker configuration directory.
|
||||
|
||||
In this step, you need to set a directory for Docker storage. By default, DockSTARTer will create a directory called "storage" in your $HOME directory. If you want to keep the default storage directory, choose "Keep Current". Or choose "Enter New".
|
||||
|
||||
Enter the path to your Docker storage directory and hit ENTER. If the directory doesn't exist, DockSTARTer will attempt to create it.
|
||||
|
||||
Set the hostname for your Docker system. DockSTARTer recommends system detected values. Here, I am going to choose "Use System" option's setting for my Docker hostname.
|
||||
|
||||
Set the user's group ID (PGID). If you're unsure, simply go with the **"Use System"** option.
|
||||
|
||||
Set your user account ID (PUID). If you're unsure, simply go with the **"Use System"** option.
|
||||
|
||||
Set your system timezone. The system detected values, so just choose "Use System" option and hit ENTER.
|
||||
|
||||
Next, you will prompted if you would you like to run compose. Choose "Yes" to do so.
|
||||
|
||||
This will pull the Docker images that you choose to install in one the previous steps.
|
||||
|
||||
Finally, you will an output something like below after the Docker compose installed all selected apps.
|
||||
|
||||
```
|
||||
[...] 2022-10-18 14:24:30 [WARN ] /home/ostechnix/.docker/compose/.env not found. Copying example template. 2022-10-18 14:24:30 [WARN ] Please verify that ~ is not used in /home/ostechnix/.docker/compose/.env file. 2022-10-18 14:24:30 [NOTICE] Preparing app menu. Please be patient, this can take a while. 2022-10-18 14:36:51 [NOTICE] /home/ostechnix/.docker/compose/.env does not contain any disabled apps. 2022-10-18 14:36:51 [NOTICE] Creating environment variables for enabled apps. Please be patient, this can take a while. 2022-10-18 15:55:29 [NOTICE] Creating environment variables for enabled apps. Please be patient, this can take a while. 2022-10-18 15:55:29 [NOTICE] Adding compose configurations for enabled apps. Please be patient, this can take a while. [+] Running 4/4 ⠿ watchtower Pulled 6.1s ⠿ 1045b2f97fda Pull complete 1.0s ⠿ 35a104a262d3 Pull complete 1.2s ⠿ 1a0671483169 Pull complete 3.1s [+] Running 2/2 ⠿ Network compose_default Created 0.0s ⠿ Container watchtower Started
|
||||
```
|
||||
|
||||
That's it. You can view the list of running Docker containers using command:
|
||||
|
||||
```
|
||||
$ docker ps
|
||||
```
|
||||
|
||||
**Sample output:**
|
||||
|
||||
```
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d3c34dc918f ghcr.io/containrrr/watchtower "/watchtower" 5 minutes ago Up 5 minutes 8080/tcp watchtower
|
||||
```
|
||||
|
||||
### Install new Apps
|
||||
|
||||
To install the other apps, just restart DockSTARTer again using the following command:
|
||||
|
||||
```
|
||||
$ ds
|
||||
```
|
||||
|
||||
Select "Configuration" and then "Select Apps".
|
||||
|
||||
You will see the list of available apps in the next screen. Just select the app you want to run and follow the on-screen instructions.
|
||||
|
||||
### Remove Apps
|
||||
|
||||
Removing apps is same as adding new apps.
|
||||
|
||||
First, make sure the container app is stopped.
|
||||
|
||||
```
|
||||
$ sudo docker stop <container-id>
|
||||
```
|
||||
|
||||
Start DockeSTARTer, go to **Configuration -> Select Apps** and **uncheck** the apps that you want to remove and choose OK to remove the apps.
|
||||
|
||||
### Update DockSTARTer
|
||||
|
||||
To update DockSTARTer, simply start it using **"`ds`"** command from the Terminal and then choose "Update DockSTARTer" option.
|
||||
|
||||
You can also do it from the commandline by running:
|
||||
|
||||
```
|
||||
$ sudo ds -u
|
||||
```
|
||||
|
||||
### Prune Docker system
|
||||
|
||||
To remove all unused containers, networks, volumes, images and build cache, start DockSTARTer and then choose **"Prune Docker System"** option.
|
||||
|
||||
You can prune your Docker system from commandline by running the following command as well.
|
||||
|
||||
```
|
||||
$ sudo ds -p
|
||||
```
|
||||
|
||||
**Sample output:**
|
||||
|
||||
```
|
||||
Deleted Containers: 9d3c34dc918fafa62d0e35283be4cbee46280a30dcd59b1aaa8b5fff1e4a085d Deleted Networks: compose_default Deleted Images: untagged: ghcr.io/containrrr/watchtower:latest untagged: ghcr.io/containrrr/watchtower@sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3 deleted: sha256:333de6ea525af9137e1f14a5c1bfaa2e730adca97ab97f74d738dfa99967f14f deleted: sha256:f493af3d0a518d307b430e267571c926557c85222217a8707c52d1cf30e3577e deleted: sha256:62651dc7e144aa8c238c2c2997fc499cd813468fbdc491b478332476f99af159 deleted: sha256:83fe5af458237288fe7143a57f8485b78691032c8c8c30647f8a12b093d29343 Total reclaimed space: 16.92MB
|
||||
```
|
||||
|
||||
### Change variables
|
||||
|
||||
You can adjust variables for running Docker containers at any time.
|
||||
|
||||
Start DockSTARTer by running **"`ds`"** command and choose "Configuration", and then choose the following settings:
|
||||
|
||||
- "Set App Variables" option for adjusting variables for all enabled apps,
|
||||
- "Set VPN Variables" option for adjusting VPN specific variables,
|
||||
- "Set Global Variables" option for adjusting global variables.
|
||||
|
||||
### Conclusion
|
||||
|
||||
DockSTARTer has made the process of running Docker apps much easier! DockSTARTer also has CLI interface, but you can quickly deploy Docker containers without memorizing any commands via the its Text-based interface.
|
||||
|
||||
**Resource:**
|
||||
|
||||
- **[DockSTARTer Website][1]**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://ostechnix.com/setup-docker-and-docker-compose-with-dockstarter/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://dockstarter.com/
|
@ -0,0 +1,283 @@
|
||||
[#]: subject: "Give Your Linux Desktop a Halloween Makeover"
|
||||
[#]: via: "https://itsfoss.com/linux-halloween-makeover/"
|
||||
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Give Your Linux Desktop a Halloween Makeover
|
||||
======
|
||||
|
||||
Halloween is around the corner. Boo!
|
||||
|
||||
Of course, there are ways to celebrate Halloween, and I believe you might have a few ideas of your own. How about giving your Linux desktop a spooky, dark makeover? Something like the screenshot below?
|
||||
|
||||
![ubuntu halloween theming final looks][1]
|
||||
|
||||
Customization is a high point of Linux, and there is no end to it. Earlier, we showed you[how to make your Linux look like macOS][2]. Today, I’ll share a few tips to keep up with the Halloween ‘spirit’.
|
||||
|
||||
This is possible with a combination of themes, icons, extensions, fonts, conky, etc. **_While you can do these things on any distribution and desktop environment, it’s not feasible for me to show them all in a single tutorial._**
|
||||
|
||||
Here, I have used Ubuntu with the GNOME desktop environment.
|
||||
|
||||
### Getting all the tools
|
||||
|
||||
You need several packages and tools. Make sure you have them all (or most of them) before you start the customization.
|
||||
|
||||
_It’s not mandatory to make all of the changes. But the more you do, the better look and feel you get._
|
||||
|
||||
**GNOME Tweaks and GMOME Extensions manager**
|
||||
|
||||
Get the Tweaks tool and the extension manager with this command:
|
||||
|
||||
```
|
||||
`sudo apt install gnome-tweaks gnome-extension-manager`
|
||||
```
|
||||
|
||||
In KDE-based systems, you don’t any tweak tool to change the look. But surely, you will need the **Kvantum-Manager** app that I discussed in the [KDE theming][3] guide.
|
||||
|
||||
**Conky**
|
||||
|
||||
This is actually optional. Since the conky-manager project is not receiving any maintenance, it will be a bit tricky to use conky. But anyway, let’s use it for the additional look-and-feel.
|
||||
|
||||
```
|
||||
`sudo apt install conky-all`
|
||||
```
|
||||
|
||||
**Neofetch or shell color scripts**
|
||||
|
||||
This step is also a personal choice. You can choose [neofetch][4] because it’s already available in the repository and can be used easily.
|
||||
|
||||
```
|
||||
`sudo apt install neofetch`
|
||||
```
|
||||
|
||||
[Shell-color scripts][5] are another excellent choice. The package is available in AUR and Arch Linux users can install it from there. In Ubuntu, you need to install it manually.
|
||||
|
||||
```
|
||||
`git clone https://gitlab.com/dwt1/shell-color-scripts.git cd shell-color-scripts sudo make install`
|
||||
```
|
||||
|
||||
**Themes, icons, fonts, and wallpaper**
|
||||
|
||||
I am using [Sweet][6] theme, [Beautiline][7] icon pack, [simple1e][8] cursors, and [Grey-Minimalistic][9] conky theme. Once downloaded, extract them. You should also get [Creepster][10] font.
|
||||
|
||||
Download a [spooky wallpaper][11] from the internet.
|
||||
|
||||
Alert! You’ll be doing a lot of customization and change. You can go back to the usual look by reverting all the changes you made. An easier way out would be to create a new user with admin access and make all these changes with this new user. This way, your original user account and appearance doesn’t get impacted. When Halloween is over, you can delete this additional user.
|
||||
|
||||
With all resources in hand, it’s time to utilize them.
|
||||
|
||||
### Install and use the extensions
|
||||
|
||||
Open the gnome-extensions app. In Ubuntu 22.04, you can install extensions from within the app, by using the browse section.
|
||||
|
||||
![install gnome shell extensions user themes blur my shell and dash to dock][12]
|
||||
|
||||
In other versions of Ubuntu and other GNOME distributions, you can [install shell extensions][13] through the browser. For our purpose, install the following extensions :
|
||||
|
||||
- [User Themes][14]
|
||||
- [Dash to Dock][15]
|
||||
- [Blur my Shell][16]
|
||||
|
||||
Also, make sure that all the extensions are enabled.
|
||||
|
||||
### Apply theme, icon, and font
|
||||
|
||||
You need to copy and paste the extracted theme folder to `~/.themes` directory and icon and cursor folder to the `~/.icons` directory.
|
||||
|
||||
Now open GNOME tweaks and apply the settings as shown in the screenshot below.
|
||||
|
||||
![set themes with gnome tweaks][17]
|
||||
|
||||
To use a [custom font in Ubuntu][18], right-click on the font file that you have downloaded and extracted and select open with Font manager. I am using [Creepster][10] font.
|
||||
|
||||
![right click on font file and select open with fonts][19]
|
||||
|
||||
Here, press the install button.
|
||||
|
||||
![install font using font manager application][20]
|
||||
|
||||
Note: In some systems, pressing the install button won’t show the “installed” prompt. In that case, you can just close the app because once you press the install button, it has been installed.
|
||||
|
||||
Now open the Tweaks app and move to the fonts section. Here, you can change the fonts of various sections as shown in the screenshot below.
|
||||
|
||||
![change system fonts using gnome tweaks][21]
|
||||
|
||||
Note that, for terminals, a monospace font is required. Here, I am using a regular font and thus it may give you a slightly disoriented look sometimes.
|
||||
|
||||
### Apply Dash to Dock Extension settings
|
||||
|
||||
First, you need to **turn off the Ubuntu Dock extension** using the GNOME Extensions application.
|
||||
|
||||
![Disable Ubuntu Dock][22]
|
||||
|
||||
Run the Dash to Dock extension if it’s not running already.
|
||||
|
||||
Now, right-click on the dash to dock application button appearing on the bottom and select dash to dock settings.
|
||||
|
||||
![select dash to dock settings][23]
|
||||
|
||||
Here, you need to tweak some small things.
|
||||
|
||||
First, reduce the icon size using the respective slider.
|
||||
|
||||
![setting dash to dock icon size][24]
|
||||
|
||||
After that, you need to reduce the opacity of the dock. I prefer a fully transparent dock.
|
||||
|
||||
For this, set the opacity to **fixed** and reduce it to zero with the slider, as shown in the screenshot below.
|
||||
|
||||
![opacity setting for dash to dock][25]
|
||||
|
||||
### GNOME terminal setting
|
||||
|
||||
The main tweak you want to get is a custom neofetch look (or a shell color script) with some blurred transparency.
|
||||
|
||||
On applying monospace font in GNOME-tweaks earlier, the font in the GNOME terminal is also changed.
|
||||
|
||||
First, create a new profile from **preferences**.
|
||||
|
||||
![select preferences from hamburger menu][26]
|
||||
|
||||
Here, Click + sign to create a new profile. Type in a name and press **create** as shown below:
|
||||
|
||||
![create new profile in gnome terminal][27]
|
||||
|
||||
Inside the new profile, change the transparency setting and set it around the middle, as shown in the screenshot:
|
||||
|
||||
![set transperancy to gnome terminal][28]
|
||||
|
||||
Once finished, set this profile as the default. To do this, click on the triangle button associated with the new profile and select **Set as Default**.
|
||||
|
||||
![set new profile as default in gnome terminal][29]
|
||||
|
||||
#### Setting blur effect
|
||||
|
||||
The above step will only create a transparent shell. But if you need a blur effect, which is good for better visibility, you need to go to the Blur my Shell extension settings.
|
||||
|
||||
![blur my shell extension settings][30]
|
||||
|
||||
Here, go to the **Application** tab. Now, ensure that the terminal is opened and placed conveniently on the desktop. Click on **Add Window** button and select gnome-terminal window, to set the blur effect. Note: This feature is in beta so expect minor glitches.
|
||||
|
||||
![applying blur effect to selected windows][31]
|
||||
|
||||
This same procedure can be repeated for other apps also, like the Nautilus file manager.
|
||||
|
||||
#### Customizing Neofetch
|
||||
|
||||
One of the best features of neofetch is its customizability. You can tweak the look with a wide range of methods. For Halloween, I choose a pumpkin image to appear in place of the distro logo.
|
||||
|
||||
Neofetch supports adding custom images in a variety of formats. For that purpose, there are a variety of backends supported. Here, I use the jp2a backend, which will use an [ASCII converted image][32].
|
||||
|
||||
```
|
||||
`neofetch --jp2a /path/to/your/image/file.png`
|
||||
```
|
||||
|
||||
![neofetch with custom backend][33]
|
||||
|
||||
The above code will create a neofetch instance with the custom image. You can write this code to your .bashrc file, for permanent placement.
|
||||
|
||||
_**Unfortunately, this didn’t work on my Wayland instance.**_
|
||||
|
||||
#### Customizing Shell Color Scripts
|
||||
|
||||
If you installed shell color scripts, you have a variety of shell scripts. To list the available scripts, use:
|
||||
|
||||
```
|
||||
``colorscript -l``
|
||||
```
|
||||
|
||||
![ghosts shell color script][34]
|
||||
|
||||
You can either get a random script each time by placing `colorscript random` in your .bashrc file. Or you can get any particular script by placing `colorscript -e <name>`
|
||||
|
||||
### Setting up Conky
|
||||
|
||||
I am using the [Grey-Minimalistic conky theme][9] from Deviantart. Each type of conky theme has a different installation method. So if you are using another conky file, follow its setup method, described in its README files.
|
||||
|
||||
Extract the conky theme file. Inside, we have several folders. First, you need to install the associated icons and fonts. That is, install the given font using font-manager. Copy and paste the icon folder to your ~/.icons folder.
|
||||
|
||||
![copy and paste conky files to home directory][35]
|
||||
|
||||
Now, go to the conky folder. Make sure that, you have [enabled viewing hidden files][36]. Now copy the `.conkyrc` file and `.conky-vision-icons` file to your Home directory, as shown above.
|
||||
|
||||
Now start conky to get a look like this.
|
||||
|
||||
![conky theme applied][37]
|
||||
|
||||
Add the conky to the [list of startup applications][38] so that it starts automatically at each boot.
|
||||
|
||||
![add conky to the list of startup applications][39]
|
||||
|
||||
### Change wallpaper
|
||||
|
||||
You are almost there. The only thing you need to do now is to [change the background wallpaper][40]. You have already downloaded the spooky wallpapers I believe.
|
||||
|
||||
![set image as wallpaper from nautilus][41]
|
||||
|
||||
### Behold the final look!
|
||||
|
||||
If you followed most of the steps above, you should get a desktop that looks like the one in the below screenshots.
|
||||
|
||||
![ubuntu halloween theme final look][42]
|
||||
|
||||
Is it scary enough for Halloween? What do you think? Let me know in the comments.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/linux-halloween-makeover/
|
||||
|
||||
作者:[Sreenath][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/sreenath/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theming-final-looks.jpg
|
||||
[2]: https://itsfoss.com/make-ubuntu-look-like-macos/
|
||||
[3]: https://itsfoss.com/properly-theme-kde-plasma/
|
||||
[4]: https://itsfoss.com/using-neofetch/
|
||||
[5]: https://gitlab.com/dwt1/shell-color-scripts
|
||||
[6]: https://www.gnome-look.org/p/1253385
|
||||
[7]: https://www.gnome-look.org/p/1425426
|
||||
[8]: https://www.gnome-look.org/p/1405210
|
||||
[9]: https://www.deviantart.com/bryantlloyd/art/Grey-Minimalistic-634726564
|
||||
[10]: https://fonts.google.com/specimen/Creepster?query=creepster
|
||||
[11]: https://www.wallpaperflare.com/search?wallpaper=spooky
|
||||
[12]: https://itsfoss.com/wp-content/uploads/2022/10/install-gnome-shell-extensions-user-themes-blur-my-shell-and-dash-to-dock.png
|
||||
[13]: https://itsfoss.com/gnome-shell-extensions/
|
||||
[14]: https://extensions.gnome.org/extension/19/user-themes/
|
||||
[15]: https://extensions.gnome.org/extension/307/dash-to-dock/
|
||||
[16]: https://extensions.gnome.org/extension/3193/blur-my-shell/
|
||||
[17]: https://itsfoss.com/wp-content/uploads/2022/10/set-themes-with-gnome-tweaks.png
|
||||
[18]: https://itsfoss.com/install-fonts-ubuntu/
|
||||
[19]: https://itsfoss.com/wp-content/uploads/2022/10/right-click-on-font-file-and-select-open-with-fonts.png
|
||||
[20]: https://itsfoss.com/wp-content/uploads/2022/10/install-font-using-font-manager-application.png
|
||||
[21]: https://itsfoss.com/wp-content/uploads/2022/10/change-system-fonts-using-gnome-tweaks.png
|
||||
[22]: https://itsfoss.com/wp-content/uploads/2020/06/disable-ubuntu-dock.png
|
||||
[23]: https://itsfoss.com/wp-content/uploads/2022/10/select-dash-to-dock-settings.png
|
||||
[24]: https://itsfoss.com/wp-content/uploads/2022/10/setting-dash-to-dock-icon-size.png
|
||||
[25]: https://itsfoss.com/wp-content/uploads/2022/10/opacity-setting-for-dash-to-dock.png
|
||||
[26]: https://itsfoss.com/wp-content/uploads/2022/10/select-preferences-from-hamburger-menu.png
|
||||
[27]: https://itsfoss.com/wp-content/uploads/2022/10/create-new-profile-in-gnome-terminal.png
|
||||
[28]: https://itsfoss.com/wp-content/uploads/2022/10/set-transperancy-to-gnome-terminal.png
|
||||
[29]: https://itsfoss.com/wp-content/uploads/2022/10/set-new-profile-as-default-in-gnome-terminal.png
|
||||
[30]: https://itsfoss.com/wp-content/uploads/2022/10/blur-my-shell-extension-settings.png
|
||||
[31]: https://itsfoss.com/wp-content/uploads/2022/10/applying-blur-effect-to-selected-windows.png
|
||||
[32]: https://itsfoss.com/ascii-image-converter/
|
||||
[33]: https://itsfoss.com/wp-content/uploads/2022/10/neofetch-with-custom-backend.png
|
||||
[34]: https://itsfoss.com/wp-content/uploads/2022/10/ghosts-shell-color-script.png
|
||||
[35]: https://itsfoss.com/wp-content/uploads/2022/10/copy-and-paste-conky-files-to-home-directory.png
|
||||
[36]: https://itsfoss.com/hide-folders-and-show-hidden-files-in-ubuntu-beginner-trick/
|
||||
[37]: https://itsfoss.com/wp-content/uploads/2022/10/conky-theme-applied.png
|
||||
[38]: https://itsfoss.com/manage-startup-applications-ubuntu/
|
||||
[39]: https://itsfoss.com/wp-content/uploads/2022/10/add-conky-to-the-list-of-startup-applications.png
|
||||
[40]: https://itsfoss.com/change-wallpaper-ubuntu/
|
||||
[41]: https://itsfoss.com/wp-content/uploads/2022/10/set-image-as-wallpaper-from-nautilus.png
|
||||
[42]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theme-final-look.jpg
|
@ -0,0 +1,140 @@
|
||||
[#]: subject: "Fedora 37: Top New Features and Release Wiki"
|
||||
[#]: via: "https://www.debugpoint.com/fedora-37/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Fedora 37: Top New Features and Release Wiki
|
||||
======
|
||||
|
||||
**An article about Fedora 37 and its new features, release details and everything you need to know.**
|
||||
|
||||
Fedora 37 development is wrapped up, and the BETA is [now out][1]. Hence the features and packages are final at this stage.
|
||||
|
||||
In this usual feature guide page, I have summarised the essential features you should know about Fedora 37 and get an idea of what to expect. But before that, here’s a tentative schedule.
|
||||
|
||||
- The beta was out on September 13, 2022.
|
||||
- **Final Fedora 37 is planned for release on October 25, 2022.**
|
||||
|
||||
![Fedora 37 Workstation with GNOME 43][2]
|
||||
|
||||
### Fedora 37: Top New Features
|
||||
|
||||
#### Kernel
|
||||
|
||||
**First** up are the critical items that make the core. Fedora 37 is powered by **Linux Kernel 5.19,** the latest mainline Kernel available now. Linux Kernel 5.19 brings essential features such as a fix for Ratbleed vulnerability, ARM support, Apple M1 NVMe SSD controller support and many such features, which you can read in our [Kernel feature guide][3].
|
||||
|
||||
The advantage of using the latest Kernel is that you can be assured that you are using the latest and greatest hardware support available at this moment in time.
|
||||
|
||||
**Next** up, the desktop environments are updated in this release.
|
||||
|
||||
#### Desktop Environment
|
||||
|
||||
Fedora 37 is the first distribution which brings the stunning **GNOME 43** desktop, which brings some excellent features such as:
|
||||
|
||||
- [Revamped quick settings][4] with pill-buttons
|
||||
- Files (nautilus) 43 with GTK4 and libadwaita port
|
||||
- Files with rubberband, emblems, responsive sidebar-like features
|
||||
- [Updated GNOME Web with WebExtension API support][5]
|
||||
|
||||
And many features you have been waiting for for years. Do check out my [GNOME 43 feature guide][6] to learn more.
|
||||
|
||||
Fedora 37 brings **KDE Plasma 5.26** desktop environment with tons of new features, performance improvements and bug fixes. The most noteworthy features of the KDE Plasma desktop include:
|
||||
|
||||
- An updated overview screen.
|
||||
- Dynamic wallpaper for dark and light themes.
|
||||
- Animated wallpaper support
|
||||
- Multi-button mouse support
|
||||
- Updated KDE Framework and applications.
|
||||
|
||||
…and much more which you can read in detail in my [KDE Plasma 5.26 feature guide][7].
|
||||
|
||||
Since the lightweight desktop LXQt gets a stable update, 1.1.0, it arrives in Fedora 37. **LXQt 1.1.0** brings a default colour palette for dark themes for a uniform look, two variants (simple and compact) of the application menu and re-arranged GTK settings. Furthermore, LXQt 1.1.0 also starts the initial work for the Qt 6.0 porting of desktop components. All these bug fixes and enhancements arrive in the Fedora LXQt edition.
|
||||
|
||||
In addition, other primary desktop flavours remain at their current releases since no significant new updates arrive, i.e. **Xfce 4.16 and MATE 1.26**for the respective Fedora flavours.
|
||||
|
||||
Let’s see what the system-wide changes in this release that impacts all the Fedora flavours are.
|
||||
|
||||
#### System wide changes
|
||||
|
||||
The most significant change is the official support for **Raspberry Pi 4** boards. Thanks to the works over the years, you can now enjoy Fedora 37 on your favourite Pi boards with out-of-the-box supports.
|
||||
|
||||
Fedora Linux is always a pioneer in advancing technology and adopting the latest features before any other distro. With that in mind, the **SDDM display manager now comes with default Wayland** in KDE Plasma (and Kinoite) and different flavours. This completes the Wayland transition from the Fedora distro aspect for this flavour.
|
||||
|
||||
As I [reported earlier][8], Fedora Linux 37 plans to provide us with a preview image of a **Web-based installer** for Anaconda. It might not be available immediately following the release. But it should be within a few days post-release.
|
||||
|
||||
Other noteworthy features include changing the **default hostname from “fedora” to “localhost”** to mitigate some third-party system configuration detection.
|
||||
|
||||
Other than that, the **Fedora Core OS** is made to be an official Fedora edition and now stands together with Server, IoT and cloud editions for better discovery and adoption. Fedora Core OS minimal footprint OS is primarily used for container workloads and brings auto updates and additional features.
|
||||
|
||||
Following the tradition, this release also features a [brand new wallpaper][9] with both night and day versions. I must say it looks awesome (see the above desktop image).
|
||||
|
||||
Finally, also in this release, Fedora **drops 32-bit Java** packages, including JDK 8, 11, and 17, since usage is low. In addition, the openssl1.1 package is also deprecated.
|
||||
|
||||
The toolchain, apps and programming stack are updated as follows:
|
||||
|
||||
- Glibc 2.36 and Binutils 2.38
|
||||
- Node.js 18.x
|
||||
- Perl 5.36
|
||||
- Python 3.11
|
||||
|
||||
### Summary of features in Fedora 37
|
||||
|
||||
So, that’s about it with the features of this release. Here’s a summary of the Fedora 37 features:
|
||||
|
||||
- Linux Kernel 5.19
|
||||
- GNOME 43
|
||||
- KDE Plasma 5.26
|
||||
- Xfce 4.16
|
||||
- MATE 1.24
|
||||
- LXQt 1.1.0
|
||||
- A preview image of the new web-based installer
|
||||
- The SDDM display manager defaults to Wayland (in KDE Plasma and others)
|
||||
- Official Raspberry Pi 4 support
|
||||
- Fedora Core OS becomes the official flavour
|
||||
- Key packages dropping 32-bit support
|
||||
- And associated toolchain and programming language updates.
|
||||
|
||||
If you have spare time, you can[give it a spin][10] or test drive. Just be cautious that it is still BETA.
|
||||
|
||||
Also, If you are daring enough, you can upgrade to this release with **caution** because, y’know it’s BETA. The commands below will help you to do that.
|
||||
|
||||
```
|
||||
sudo dnf install dnf-plugin-system-upgrade
|
||||
sudo dnf system-upgrade download --ref --releasever=37
|
||||
```
|
||||
|
||||
For Kinoite, Silverblue and other immutable versions, use:
|
||||
|
||||
```
|
||||
rpm-ostree rebase fedora:fedora/37/x86_64/silverblue
|
||||
```
|
||||
|
||||
**So, what’s your favourite feature of this release? Let me know in the comment section.**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/fedora-37/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://debugpointnews.com/fedora-37-beta/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2022/08/Fedora-37-Workstation-with-GNOME-43-1024x572.jpg
|
||||
[3]: https://www.debugpoint.com/linux-kernel-5-19/
|
||||
[4]: https://www.debugpoint.com/gnome-43-quick-settings/
|
||||
[5]: https://www.debugpoint.com/gnome-web-43-tab-view/
|
||||
[6]: https://www.debugpoint.com/gnome-43/
|
||||
[7]: https://www.debugpoint.com/kde-plasma-5-26/
|
||||
[8]: https://debugpointnews.com/fedora-37-anaconda-web-ui-installer/
|
||||
[9]: https://debugpointnews.com/fedora-37-wallpaper/
|
||||
[10]: https://getfedora.org/workstation/download/
|
@ -0,0 +1,89 @@
|
||||
[#]: subject: "How to Install Viber in Ubuntu and Other Linux"
|
||||
[#]: via: "https://www.debugpoint.com/install-viber-linux/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Install Viber in Ubuntu and Other Linux
|
||||
======
|
||||
|
||||
**Here’s a quick guide on how you can install Viber in Ubuntu and other Linux systems.**
|
||||
|
||||
[Viber][1] is a free, secure calling and messaging program for all popular mobile platforms and operating systems.
|
||||
|
||||
It has a rich set of features such as voice/video calls, text messages with GIFs, stickers, photos, and videos. In addition, Viber features group chats, group calls and disappearing messages.
|
||||
|
||||
Viber is a closed-source program, but available as free for Linux distributions with native executable clients.
|
||||
|
||||
Here’s how to install it.
|
||||
|
||||
### Install Viber on Linux
|
||||
|
||||
It is available as an AppImage executable, deb and rpm package. Follow the respective button below to download it directly. The average executable size is ~180MB.
|
||||
|
||||
[Download Appimage for all Linux distros][2]
|
||||
|
||||
[Deb executable for Ubuntu][3]
|
||||
|
||||
RPM package for Fedora
|
||||
|
||||
If you have downloaded AppImage, simply change the permission to executable from any file manager. Then run.
|
||||
|
||||
- For Ubuntu, Linux Mint, Debian and related distributions, you can install deb package via [many methods][4].
|
||||
|
||||
- You may double-click and open via the installed software manager. Or install via dpkg command as below.
|
||||
|
||||
```
|
||||
sudo dpkg -i viber.deb
|
||||
```
|
||||
|
||||
- For Fedora and RPM-based packages, you can install via the following command.
|
||||
|
||||
```
|
||||
sudo dnf localinstall viber.rpm
|
||||
```
|
||||
|
||||
For Arch Linux and other distributions, you can use the Appimage as I explained above.
|
||||
|
||||
### Usage
|
||||
|
||||
After you finish installing Viber, open it via the application menu. Here are a couple of things you need to remember.
|
||||
|
||||
Before you start using Viber from your Laptop/desktop, you need to set it up on your mobile phone. Download and install Viber for your mobile platform from the below links.
|
||||
|
||||
- [Google Play Store][5]
|
||||
- [Apple App Store][6]
|
||||
|
||||
Once installed, set up Viber. Remember, it requires your mobile number to register.
|
||||
|
||||
After setting up, open the app on the Linux desktop. And you should see a screen like the one below.
|
||||
|
||||
![Viber is Running in Linux][7]
|
||||
|
||||
Scan the QR code from your mobile phone app, and you should be ready to use Viber on your Linux desktop.
|
||||
|
||||
**Note:** Since it is a closed-source app, make sure you understand the terms of this app and privacy-related situations while using Viber.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/install-viber-linux/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.viber.com/
|
||||
[2]: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb
|
||||
[3]: https://download.cdn.viber.com/desktop/Linux/viber.rpm
|
||||
[4]: https://www.debugpoint.com/install-deb-files/
|
||||
[5]: https://play.google.com/store/apps/details?id=com.viber.voip&hl=en_IN&gl=US
|
||||
[6]: https://apps.apple.com/us/app/viber-messenger-chats-calls/id382617920
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Viber-is-Running-in-Linux-1.jpg
|
@ -0,0 +1,106 @@
|
||||
[#]: subject: "How to Clean Up Snap Versions to Free Up Disk Space"
|
||||
[#]: via: "https://www.debugpoint.com/clean-up-snap/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Clean Up Snap Versions to Free Up Disk Space
|
||||
======
|
||||
|
||||
**This quick guide with a script helps to clean up old snap versions and free some disk space in your Ubuntu systems.**
|
||||
|
||||
I was running out of disk space in my test system with Ubuntu. So I was investigating via GNOME’s Disk Usage Analyser to find out which package is consuming the precious SSD space. Apart from the usual cache and home directory – to my surprise, I found that Snap and Flatpak consume a considerable amount of storage space.
|
||||
|
||||
![Snap size - before cleanup][1]
|
||||
|
||||
Although, I always maintain a rule – not to use Snap or Flatpak unless necessary. This is mainly because of their installation size and other issues. I prefer vanilla deb and rpm packages. Over the years, I have installed and removed a certain amount of Snap packages in this test system.
|
||||
|
||||
The problem arises after uninstallation; Snap keeps some residue files in the system, unknown to the general users.
|
||||
|
||||
So I opened the Snap folder `/var/lib/snapd/snaps` and discovered that Snap is keeping track of older versions of previously installed/uninstalled packages.
|
||||
|
||||
For example, in the below image, you can see GNOME 3.28, 3.34, and Wine – all of these are removed long back. But they are still there. It’s happening because of the Snap design, which keeps versions of uninstalled packages after a proper uninstallation.
|
||||
|
||||
![Files under snaps directory][2]
|
||||
|
||||
Alternatively, you can get the same in the terminal using:
|
||||
|
||||
```
|
||||
snap list --all
|
||||
```
|
||||
|
||||
![snap list all][3]
|
||||
|
||||
The default value is 3 for several revisions for retention. That means Snap keeps three older versions of each package, including the active version. This is okay if you do not have constraints on your disk space.
|
||||
|
||||
But for servers and other use cases, this can easily run into cost issues, consuming your disk space.
|
||||
|
||||
However, you can easily modify the count using the following command. The value can be between 2 to 20.
|
||||
|
||||
```
|
||||
sudo snap set system refresh.retain=2
|
||||
```
|
||||
|
||||
### Clean Up Snap Versions
|
||||
|
||||
In a post in SuperUser, Popey, the ex-Engineering Manager at Canonical, [provided a simple script][4] that can clean up old versions of Snaps and keep the latest one.
|
||||
|
||||
Here’s the script we will use to clean the Snap up.
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
#Removes old revisions of snaps
|
||||
#CLOSE ALL SNAPS BEFORE RUNNING THIS
|
||||
set -eu
|
||||
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
|
||||
while read snapname revision; do
|
||||
snap remove "$snapname" --revision="$revision"
|
||||
done
|
||||
```
|
||||
|
||||
Save the above script as .sh in a directory (for example`clean_snap.sh`), give it executable permission and run.
|
||||
|
||||
```
|
||||
chmod +x clean_snap.sh
|
||||
```
|
||||
|
||||
When I ran the script, it reduced a lot of disk space. The script would also show the name of the package being removed.
|
||||
|
||||
![Executing the script][5]
|
||||
|
||||
![Snaps size after cleanup][6]
|
||||
|
||||
### Closing Notes
|
||||
|
||||
There are always debates on how efficient Snap’s design is. Many say it is broken by design, bloated, and heavy on systems. Some part of that argument is true, I would not deny it. The whole concept of sandboxing applications is great if implemented and enhanced properly. I believe, Flatpak does a better job compared to Snap.
|
||||
|
||||
That said, I hope this helps you clean up some disk space. Although it is tested in Ubuntu, it should work in all Linux distribution that supports Snap.
|
||||
|
||||
Also, check out our guide on [how to clean up Ubuntu][7] with additional steps.
|
||||
|
||||
Finally, if you are looking to clean up **Flatpak** apps, refer [this guide][8].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/clean-up-snap/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/03/Snap-size-before-cleanup.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/Files-under-snaps-directory.jpg
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/snap-list-all.jpg
|
||||
[4]: https://superuser.com/a/1330590
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/Executing-the-script.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/Snaps-size-after-cleanup.jpg
|
||||
[7]: https://www.debugpoint.com/2018/07/4-simple-steps-clean-ubuntu-system-linux/
|
||||
[8]: https://www.debugpoint.com/clean-up-flatpak/
|
@ -0,0 +1,164 @@
|
||||
[#]: subject: "How to Remove Snap Packages in Ubuntu Linux"
|
||||
[#]: via: "https://www.debugpoint.com/remove-snap-ubuntu/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Remove Snap Packages in Ubuntu Linux
|
||||
======
|
||||
|
||||
**A tutorial on how to remove Snap from Ubuntu Linux and getting a snap-free system.**
|
||||
|
||||
Snap packages developed by Canonical are beneficial for several use cases. It provides an easy and faster update of applications directly to the end-users. Not only that, it has several other benefits, such as it comes with all dependencies packaged and allows multiple installations of the same applications. Furthermore, it runs in a sandbox mode providing security and other benefits.
|
||||
|
||||
Among all these benefits, there are other debatable drawbacks of Snap tech. For example, almost every user who used Snap reported its slower performance, including its startup time, compared to native deb or RPM packages. In addition, due to its design, the application installation size is huge and costs disk space because it packages all the dependencies.
|
||||
|
||||
Not only that, but due to its sandbox nature, the Snap apps may not access several areas of your Linux desktop until managed with proper permission.
|
||||
|
||||
This guide explains how you can remove the snap from the Ubuntu system altogether.
|
||||
|
||||
These steps are tested in [Ubuntu 22.04 LTS Jammy Jellyfish][1]. However, it should work for all applicable Ubuntu versions.
|
||||
|
||||
Warning: These steps will remove Software and Firefox, the two critical applications in your Ubuntu system. Make sure you take backups of bookmarks and other Firefox settings before trying these steps.
|
||||
|
||||
### Remove Snap Packages in Ubuntu Linux
|
||||
|
||||
- Open a terminal and view the list of Snap packages installed in your system using the below command. It shows the snap packages such as Firefox, Software store, themes and other core packages installed by default.
|
||||
|
||||
```
|
||||
snap list
|
||||
```
|
||||
|
||||
![Snap list in Ubuntu][2]
|
||||
|
||||
- Remove snap packages in the following order. Firstly remove Firefox. Secondly, snap-store and the other packages that you see in the above command output in your system.
|
||||
|
||||
```
|
||||
sudo snap remove --purge firefoxsudo snap remove --purge snap-storesudo snap remove --purge gnome-3-38-2004
|
||||
```
|
||||
|
||||
```
|
||||
sudo snap remove --purge gtk-common-themessudo snap remove --purge snapd-desktop-integrationsudo snap remove --purge baresudo snap remove --purge core20sudo snap remove --purge snapd
|
||||
```
|
||||
|
||||
- Finally, remove the snap daemon via apt command.
|
||||
|
||||
```
|
||||
sudo apt remove --autoremove snapd
|
||||
```
|
||||
|
||||
[![remove snap and others][3]][4]
|
||||
|
||||
That’s not all. Even if you removed the snaps using the above command, the sudo apt update command again brings back the snap if you don’t stop the apt trigger.
|
||||
|
||||
- So, to stop that, we need to create an apt preference file in **/etc/apt/preferences.d/ **and create a new preference file to stop snap. Create a new file called **nosnap.pref** in /etc/apt/preferences.d/
|
||||
|
||||
```
|
||||
sudo gedit /etc/apt/preferences.d/nosnap.pref
|
||||
```
|
||||
|
||||
- And add the following lines, then save the file.
|
||||
|
||||
```
|
||||
Package: snapdPin: release a=*Pin-Priority: -10
|
||||
```
|
||||
|
||||
![create a pref file][5]
|
||||
|
||||
_The apt preference is a potent tool if you know how to use it. For example, in the above statements, the Pin-Priority -10 means preventing a package from installation._
|
||||
|
||||
_Unrelated to this tutorial, for example, if you want to give super high priority to all the packages from distribution code name=bullseye, then one may see these preferences. If you want to learn more, you can visit the [apt man pages][6]._
|
||||
|
||||
```
|
||||
Package: *Pin: release n=bullseyePin-Priority: 900
|
||||
```
|
||||
|
||||
- Returning to the topic, once you save and close the above file, run the below again from the terminal.
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
- Finally, the steps are complete for getting rid of the snap from Ubuntu.
|
||||
|
||||
### Installing Software and Firefox as deb files after removing Snap from Ubuntu
|
||||
|
||||
You removed Firefox and Sofware applications, so you need those for your work.
|
||||
|
||||
You can use the following command to install the apt version of the Gnome Software. Make sure you use the `--install-suggests`. Otherwise, it will install the snap version again!
|
||||
|
||||
```
|
||||
sudo apt install --install-suggests gnome-software
|
||||
```
|
||||
|
||||
And to install firefox, use the official PPA via the below commands.
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:mozillateam/ppa
|
||||
sudo apt update
|
||||
sudo apt install -t 'o=LP-PPA-mozillateam' firefox
|
||||
```
|
||||
|
||||
[![Add the PPA][7]][8]
|
||||
|
||||
[![Install Firefox as deb file from PPA][9]][10]
|
||||
|
||||
Once you have installed Firefox, enable the automatic update using the below commands. To learn more, [visit thi][11][s page][11].
|
||||
|
||||
```
|
||||
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
|
||||
```
|
||||
|
||||
Last but not least, create another preference file for Firefox to give super high priority to the above PPA while running apt. If you don’t do this, the apt update command again pulls back firefox snap and brings over its “snap friends”. 😂
|
||||
|
||||
```
|
||||
sudo gedit /etc/apt/preferences.d/mozillateamppa
|
||||
```
|
||||
|
||||
Finally, add these lines and save the file.
|
||||
|
||||
```
|
||||
Package: firefox*Pin: release o=LP-PPA-mozillateamPin-Priority: 501
|
||||
```
|
||||
|
||||
That’s it.
|
||||
|
||||
### Revert back to Snap in Ubuntu
|
||||
|
||||
If you change your mind, remove the preference file and install the applications using the below commands below.
|
||||
|
||||
```
|
||||
sudo rm /etc/apt/preferences.d/nosnap.prefsudo apt update && sudo apt upgradesudo snap install snap-storesudo apt install firefox
|
||||
```
|
||||
|
||||
### Closing Notes
|
||||
|
||||
Wrapping up the tutorial on removing snap in Ubuntu, I would say these are unnecessary efforts to eliminate Snap completely. Mainly these are difficult for new users. I hope this guide helps you to get rid of snap. Cheers.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/remove-snap-ubuntu/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/2022/01/ubuntu-22-04-lts/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2022/04/Snap-list-in-Ubuntu.jpg
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/remove-snap-and-others-1024x544.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/remove-snap-and-others.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2022/04/create-a-pref-file.jpg
|
||||
[6]: https://manpages.ubuntu.com/manpages/focal/man5/apt_preferences.5.html
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Add-the-PPA-1024x550.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Add-the-PPA.jpg
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Install-Firefox-as-deb-file-from-PPA-1024x548.jpg
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2022/04/Install-Firefox-as-deb-file-from-PPA.jpg
|
||||
[11]: https://www.debugpoint.com/2021/09/remove-firefox-snap-ubuntu/
|
@ -0,0 +1,113 @@
|
||||
[#]: subject: "How to Enable and Access USB Drive in VirtualBox"
|
||||
[#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Enable and Access USB Drive in VirtualBox
|
||||
======
|
||||
|
||||
**Here’s a precise guide on how you can enable USB in Oracle VirtualBox.**
|
||||
|
||||
When you work in a Virtual machine environment, the USB is usually plugged into the host system. But it is a little difficult to access that USB content from the guest system.
|
||||
|
||||
In VirtualBox, you need to install some extensions and enable some settings to access USB in. Here’s how.
|
||||
|
||||
This article assumes that you have already installed VirtualBox and also installed some Linux distribution or operating system inside it.
|
||||
|
||||
If not, check out the [articles here][1].
|
||||
|
||||
Please note that Oracle VM VirtualBox Extension Pack comes with Oracle’s Personal Use and Evaluation License (PUEL). This license is different from VirtualBox, which is under GPL. If you are using the below steps for commercial purposes, make sure you [read this page][2] carefully.
|
||||
|
||||
### Enable USB in VirtualBox 7.0
|
||||
|
||||
#### Install VirtualBox Extension Pack
|
||||
|
||||
- Open the VirtualBox download page and download the VirtualBox Extension pack for all supported platforms using [this link][3].
|
||||
|
||||
![Download the extension pack][4]
|
||||
|
||||
- Then Click on `File > Tools > Extension Pack Manager.`
|
||||
|
||||
- Click on the `Install` button in the toolbar and select the downloaded .vbox-extpak file.
|
||||
|
||||
- Hit `Install`. Accept the terms, and give the admin password for the installation.
|
||||
|
||||
![install extension pack manager][5]
|
||||
|
||||
![install extension pack manager after accepting terms][6]
|
||||
|
||||
- After successful installation, you can see it in the installed list.
|
||||
|
||||
- Restart your host system. Restarting is mandatory.
|
||||
|
||||
#### Enable USB in the guest box
|
||||
|
||||
- Plugin the USB stick into your host system – which you want to access from the guest virtual machine.
|
||||
|
||||
- Start VirtualBox and right-click on the VM name where you want to enable USB. Select Settings.
|
||||
|
||||
![Launch settings for the virtual machine][7]
|
||||
|
||||
- On the left pane, click on USB. Then select the controller version. For example, you can select USB 3.0. Then click on the small plus icon to add a USB filter.
|
||||
|
||||
- In this list, you should see your USB stick name (which you plugged in). For this example, I can see my Transcend Jetflash drive, which I plugged in.
|
||||
|
||||
- Select it and press OK.
|
||||
|
||||
[![Select the USB stick][8]][9]
|
||||
|
||||
- Now, start your virtual machine. Open the file manager, and you should see the USB is enabled and mounted on your virtual machine.
|
||||
|
||||
- In this demonstration, you can see the Thunar file manager of my [Arch-Xfce][10] virtual machine is showing the contents of my USB stick.
|
||||
|
||||
[![Enabling USB and accessing contents from VirtualBox][11]][12]
|
||||
|
||||
### Usage notes
|
||||
|
||||
Now, here are a couple of things you should remember.
|
||||
|
||||
- When you plug in the USB in the host system, keep it mounted. But do not open or access any file before launching the virtual machine.
|
||||
|
||||
unmounted in the host system
|
||||
|
||||
- Once you start your virtual machine, the USB will be and auto-mounted in the guest system, i.e. your virtual machine.
|
||||
|
||||
- After you finish with a USB stick, ensure to eject or unmount it inside a virtual machine. Then it will be accessible again inside your host system.
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
VirtualBox is a powerful utility and provides easy-to-use features to extensively set up your Virtual Machines. The steps are straightforward, and make sure your USB stick is detected properly in the host system to work.
|
||||
|
||||
Also, remember that USB stick detection via extension pack is not related to VirtualBox guest addition. They are completely unrelated and provide separate functions.
|
||||
|
||||
Finally, let me know if this guide helps you in the comment box.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/enable-usb-virtualbox/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/tag/virtualbox
|
||||
[2]: https://www.virtualbox.org/wiki/VirtualBox_PUEL
|
||||
[3]: https://www.virtualbox.org/wiki/Downloads
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Download-the-extension-pack.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager-after-accepting-terms.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Launch-settings-for-the-virtual-machine.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick-1024x399.jpg
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick.jpg
|
||||
[10]: https://www.debugpoint.com/xfce-arch-linux-install-4-16/
|
||||
[11]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox-1024x639.jpg
|
||||
[12]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox.jpg
|
@ -0,0 +1,91 @@
|
||||
[#]: subject: "How to Check: Xorg or Wayland Display Server?"
|
||||
[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Check: Xorg or Wayland Display Server?
|
||||
======
|
||||
|
||||
**Here’s how you can quickly check whether you are running Xorg or Wayland Display Server.**
|
||||
|
||||
With every passing day, the modern Wayland display server is making its way to all Linux distributions. Although the legacy Xorg is still relevant and will stay, Wayland is undoubtedly better in security and other performance aspects.
|
||||
|
||||
However, Xorg will not completely phase out anytime soon. Probably never.
|
||||
|
||||
If you are running any Linux distribution, how can you check whether you are running Xorg or Wayland? Here’s how.
|
||||
|
||||
### Wayland or Xorg: Which one are you running?
|
||||
|
||||
- Open a terminal window (CTRL+ALT+T) in your Linux distributions (e.g. Ubuntu, Fedora, Arch…etc.).
|
||||
|
||||
- Then type the following command and hit enter.
|
||||
|
||||
```
|
||||
echo $XDG_SESSION_TYPE
|
||||
```
|
||||
|
||||
- The output of the command will tell you whether the current session is Wayland or Xorg (X11).
|
||||
|
||||
```
|
||||
[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland
|
||||
```
|
||||
|
||||
![This command can give you details about Xorg or Wayland][1]
|
||||
|
||||
That’s simple. However, there are other ways as well.
|
||||
|
||||
### Other methods
|
||||
|
||||
#### Using Settings
|
||||
|
||||
If you want a graphical method, open your Linux distribution settings application. In the about section, you should see the Wayland/X11 mentioned under some label.
|
||||
|
||||
For example, in the GNOME Settings, you can find it under “Windowing system”, as shown below.
|
||||
|
||||
![In GNOME Settings you can find it][2]
|
||||
|
||||
#### Using session values
|
||||
|
||||
You can also find it out using `loginctl` which is the [systemd][3] login manager. Remember, it only works for systemd-based systems.
|
||||
|
||||
Open a terminal and run the below command. You can see the session id value. In this example `c2`.
|
||||
|
||||
```
|
||||
loginctl
|
||||
```
|
||||
|
||||
Now, pass the session id to the following command to get the display server type. Make sure to change c2 to your system spec.
|
||||
|
||||
```
|
||||
loginctl show-session c2 -p Type
|
||||
```
|
||||
|
||||
![Using loginctl to find out][4]
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
So, these are some of the ways you can find out whether you are running Systemd or Xorg in your Linux system. You can also use the above commands in your shell scripts for further process automation.
|
||||
|
||||
Cheers.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/check-wayland-or-xorg/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg
|
||||
[3]: https://www.debugpoint.com/tag/systemd/
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg
|
@ -0,0 +1,56 @@
|
||||
[#]: subject: "4 open source editors I use for my writing"
|
||||
[#]: via: "https://opensource.com/article/22/10/open-source-editors"
|
||||
[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
4 open source editors I use for my writing
|
||||
======
|
||||
|
||||
I've done a lot of writing throughout my career, mostly as an IT consultant creating product documentation as client deliverables. These documents generally provide instructions on installing various operating systems and software products.
|
||||
|
||||
Since 2018, I've contributed to opensource.com with articles about open source software. Of course, I use open source editors to write my pieces. Here are the four open source editors that I have used.
|
||||
|
||||
### 1. Vi
|
||||
|
||||
[Vi][1], also referred to as Vim, is the first open source editor that I learned. This was the editor taught by my computer science classes and that I used for all of my C programming. I have used it as my de facto command line editor since the mid-1990s. There are so many iterations of this tool that I could write a whole series on them. Suffice it to say that I stick to its basic command line form with minimal customization for my daily use.
|
||||
|
||||
### 2. LibreOffice Writer
|
||||
|
||||
Writer is part of the open source LibreOffice office suite. It is a full-featured word processor maintained by The Document Foundation. It supports industry-standard formats such as the Open Document Format (ODF), Open XML, and MS Office DOC, DOCX. [Learn more about Writer][2] on its official site.
|
||||
|
||||
### 3. Ghostwriter
|
||||
|
||||
Ghostwriter is a [text editor for Markdown][3]. It has a nice real-time viewer and syntax guide or cheat sheet feature. [Visit the official website][4] to discover more.
|
||||
|
||||
### 4. Gedit
|
||||
|
||||
Gedit is the basic graphical editor found in many Linux distributions and is described as "a small and lightweight text editor for the GNOME desktop." I have begun using it lately to create articles in the Asciidoc format. The benefit of using Asciidoc is that the syntax is easily manageable and importable into web rendering systems such as Drupal. [See the Gedit Wiki][5] for many tips and tricks.
|
||||
|
||||
### Editing text
|
||||
|
||||
An extensive list of editing software is available in the open source world. This list will likely grow as I continue writing. The primary goal for me is simplicity in formatting. I want my articles to be easy to import, convert, and publish in a web-focused platform.
|
||||
|
||||
Your writing style, feature needs, and target audience will guide you in determining your preferred tools.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/open-source-editors
|
||||
|
||||
作者:[Alan Formy-Duval][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/alanfdoss
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/20/12/vi-text-editor
|
||||
[2]: https://www.libreoffice.org/discover/writer/
|
||||
[3]: https://opensource.com/article/21/10/markdown-editors
|
||||
[4]: https://github.com/KDE/ghostwriter
|
||||
[5]: https://wiki.gnome.org/Apps/Gedit
|
@ -0,0 +1,91 @@
|
||||
[#]: subject: "How to find GNOME Shell version from the Terminal"
|
||||
[#]: via: "https://www.debugpoint.com/find-gnome-version/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to find GNOME Shell version from the Terminal
|
||||
======
|
||||
|
||||
**Here’s a quick guide on finding the GNOME desktop (or Shell) version via the command line and GUI.**
|
||||
|
||||
### Find GNOME Shell Version
|
||||
|
||||
You need to find the GNOME version number you are running for many use cases. For example, if you are a developer, you might want to find out compatible packages and ensure that all the dependencies are met.
|
||||
|
||||
So, to do that, here’s how you can find the GNOME version number.
|
||||
|
||||
Firstly, open a terminal. And run the following command.
|
||||
|
||||
```
|
||||
gnome-shell --version
|
||||
```
|
||||
|
||||
![version via terminal][1]
|
||||
|
||||
It will give you the GNOME shell version number currently running in your system.
|
||||
|
||||
Similarly, if you are using the desktop environment, then open Settings. Then click on the About tab.
|
||||
|
||||
Here you can see the GNOME Version at the bottom.
|
||||
|
||||
![version via settings window][2]
|
||||
|
||||
### Usage Notes
|
||||
|
||||
There might be situations where you use a different desktop environment (such as MATE or Xfce), which also uses GNOME components and packages.
|
||||
|
||||
Those desktop environments don’t use the gnome-shell package, of course. So, if you want to find out the GNOME packages and their version used in those specific cases, you can see the contents of this file below. This is for Ubuntu and Debian-based distros only.
|
||||
|
||||
```
|
||||
/var/lib/apt/extended_states
|
||||
```
|
||||
|
||||
For example, the file contains a below GNOME package.
|
||||
|
||||
Now that you know the package name, you can further find out its version installed in your system using the below command. Similar DNF command you can find in [this guide][3] for RPM-based distros.
|
||||
|
||||
```
|
||||
apt show gnome-weather
|
||||
```
|
||||
|
||||
**Sample output:**
|
||||
|
||||
```
|
||||
debugpoint@debugpoint-mate:~$ apt show gnome-weather
|
||||
Package: gnome-weather
|
||||
Version: 43.0-1
|
||||
Priority: optional
|
||||
Section: universe/gnome
|
||||
Origin: Ubuntu
|
||||
Maintainer: Ubuntu Developers [ubuntu-devel-discuss@lists.ubuntu.com][4]
|
||||
Original-Maintainer: Debian GNOME Maintainers [pkg-gnome-maintainers@lists.alioth.debian.org][5]
|
||||
```
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
This guide teaches you how to find the version of GNOME and some additional methods.
|
||||
|
||||
Cheers.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/find-gnome-version/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/version-via-terminal.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/version-via-settings-window.jpg
|
||||
[3]: https://www.debugpoint.com/dnf-commands-examples/
|
||||
[4]: https://www.debugpoint.commailto:ubuntu-devel-discuss@lists.ubuntu.com
|
||||
[5]: https://www.debugpoint.commailto:pkg-gnome-maintainers@lists.alioth.debian.org
|
@ -0,0 +1,117 @@
|
||||
[#]: subject: "How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic)"
|
||||
[#]: via: "https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic)
|
||||
======
|
||||
|
||||
**Here are the steps on how to upgrade your current Ubuntu 22.04 LTS Jammy Jellyfish to Ubuntu 22.10 Kinetic Kudu.**
|
||||
|
||||
Always stay with long-term support release. That is the thumb rule. So, the prior [Ubuntu 22.04 LTS][1] Jammy Jellyfish is supported until April 2027. That’s a long time.
|
||||
|
||||
In addition, LTS releases are super stable. They rarely break and become unstable. So, if you use your laptop/desktop or server installation with the LTS version, stay with it.
|
||||
|
||||
However, if you want the latest Kernel, GNOME 43, and new technology like Pipewire – you might want to make the jump and want to upgrade to [Ubuntu 22.10 Kinetic Kudu][2].
|
||||
|
||||
Here’s how.
|
||||
|
||||
### Upgrade Ubuntu 22.04 LTS (Jammy Jellyfish) to Ubuntu 22.10 (Kinetic Kudu)
|
||||
|
||||
**Note**: I hope you are not running Ubuntu 21.10 Impish Indri, released last October. Because that’s out of support. But for any reason, if you are still running it, I would recommend you do a fresh install of 22.10. Or, do a step upgrade to 22.04 and then 22.10.
|
||||
|
||||
#### Before you upgrade
|
||||
|
||||
Before you upgrade, do a little housekeeping. This is super important.
|
||||
|
||||
- Take backups of your `/home`, /`downloads` and other files to USB or any separate partition in case the upgrade fails.
|
||||
|
||||
- If you have added additional PPA over time, make sure you note them down. However, the upgrade process would disable the PPA before it starts. However, after the upgrade is complete, make sure to enable them manually.
|
||||
|
||||
- Note down and disable all the GNOME Extensions. Extensions tend to break after the upgrade if it’s not updated by the developer aligned with the GNOME version.
|
||||
|
||||
- Keep a LIVE USB stick handy.
|
||||
|
||||
#### Upgrade steps
|
||||
|
||||
- Open Software & Update.
|
||||
|
||||
- Go to the Updates tab.
|
||||
|
||||
- Select ‘`Notify me of a new Ubuntu version'`and change it to `'For any new version'.`
|
||||
|
||||
- This will tell the package manager to look for the Ubuntu 22.10 release details.
|
||||
|
||||
![Make sure to change the option for new Ubuntu 22.10 release][3]
|
||||
|
||||
- Open a terminal and run below.
|
||||
|
||||
```
|
||||
sudo apt updatesudo apt upgrade
|
||||
```
|
||||
|
||||
Alternatively, you can open the Software Updater as well. Install all the pending packages.
|
||||
|
||||
- Once both the commands are complete, open the ‘Software Updates’. And you will see a prompt to Upgrade to Ubuntu 22.10 (as shown in the below image).
|
||||
|
||||
![New version update prompt from the GUI method][4]
|
||||
|
||||
- Now click on the `Upgrade` button and follow the on-screen instructions. The upgrade process takes time, so be patient and wait until it finishes. Make sure you have stable internet connectivity for the entire upgrade process.
|
||||
|
||||
If you still don’t get the update, wait a day or two and try.
|
||||
|
||||
- If you do not see the above prompt, do a manual reboot of your system. Add try again.
|
||||
|
||||
**Via terminal**
|
||||
|
||||
- Open the following file via the nano file editor in the terminal.
|
||||
|
||||
```
|
||||
nano /etc/update-manager/release-upgrades
|
||||
```
|
||||
|
||||
- Change the `Prompt=LTS` to `Prompt=normal`. Note: If you have changed the updates tab to “For any new version” as mentioned above, then this file should be updated already. But verify once.
|
||||
|
||||
![Change the release upgrade file][5]
|
||||
|
||||
- Press CTRL+O and CTRL+X to save and exit.
|
||||
|
||||
- Finally, you can also run the below command to force the upgrade process from the terminal.
|
||||
|
||||
```
|
||||
sudo do-release-upgrade -c
|
||||
```
|
||||
|
||||
![New version update prompt from the terminal method][6]
|
||||
|
||||
The upgrade process will take some time (minimum half-hour or more) based on your internet connection and hardware. Wait until it is complete. Once done, restart and enjoy the Ubuntu 22.10 Kinetic Kudu.
|
||||
|
||||
![Upgrade is in progress][7]
|
||||
|
||||
While the upgrade process is in progress, take a look at the exciting articles we [recently published on Ubuntu 22.10][8].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/ubuntu-22-04-review/
|
||||
[2]: https://www.debugpoint.com/ubuntu-22-10/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Make-sure-to-change-the-option-for-new-Ubuntu-22.10-release.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-GUI-method2.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Change-the-release-upgrade-file.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-terminal-method.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Upgrade-is-in-progress.jpg
|
||||
[8]: https://www.debugpoint.com/tag/ubuntu-22-10
|
@ -0,0 +1,130 @@
|
||||
[#]: subject: "How to Install AWS CLI on Linux Step-by-Step"
|
||||
[#]: via: "https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/"
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Install AWS CLI on Linux Step-by-Step
|
||||
======
|
||||
|
||||
This post describes how to install latest version of AWS CLI on a linux system step-by-step. AWS CLI is a command line interface which allows us to interact with our AWS account. Developer and sysadmin use aws cli to perform day to day activities and automation.
|
||||
|
||||
##### Prerequisites
|
||||
|
||||
- Pre-Installed Linux System
|
||||
- Sudo User with admin rights
|
||||
- Internet Connectivity
|
||||
|
||||
Without any further delay, let’s jump into AWS Cli installations steps.
|
||||
|
||||
### 1) Download installation file
|
||||
|
||||
Open the terminal and run following curl command to download aws cli installation file,
|
||||
|
||||
```
|
||||
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
```
|
||||
|
||||
Above command will download file as ‘awscliv2.zip’ in current working directory.
|
||||
|
||||
Execute below [ls command][1] to verify downloaded file,
|
||||
|
||||
```
|
||||
$ ls -l awscliv2.zip -rw-rw-r-- 1 linuxtechi linuxtechi 47244662 Oct 20 10:53 awscliv2.zip $
|
||||
```
|
||||
|
||||
### 2) Unzip downloaded installation file
|
||||
|
||||
Run beneath [unzip command][2] to unzip the installer.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0');
|
||||
|
||||
```
|
||||
$ unzip awscliv2.zip
|
||||
```
|
||||
|
||||
It will create aws folder in present working directory and unzip all required files into it.
|
||||
|
||||
```
|
||||
$ ls -ld aws drwxr-xr-x 3 linuxtechi linuxtechi 4096 Oct 19 17:18 aws $
|
||||
```
|
||||
|
||||
### 3) Run install script
|
||||
|
||||
To install aws cli, run following install script,
|
||||
|
||||
```
|
||||
$ sudo ./aws/install
|
||||
```
|
||||
|
||||
Script will install all files under /usr/local/aws-cli and will create symbolic link in /usr/local/bin.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0');
|
||||
|
||||
### 4) Verify AWS CLI version
|
||||
|
||||
To verify the aws cli version, run
|
||||
|
||||
```
|
||||
$ aws --version aws-cli/2.8.4 Python/3.9.11 Linux/5.15.0-48-generic exe/x86_64.ubuntu.22 prompt/off $
|
||||
```
|
||||
|
||||
### 5) Configure AWS CLI
|
||||
|
||||
To verify the AWS Cli installation, let’s configure aws cli.
|
||||
|
||||
Login to your AWS management console and retrieve AWS access key id and secret access key.
|
||||
|
||||
In case it is not created yet then create access key ID and secret access key. Copy these keys somewhere safe.
|
||||
|
||||
Now head back to Linux terminal, run following aws command,
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0');
|
||||
|
||||
```
|
||||
$ aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxx Default region name [None]: us-west-2 Default output format [None]: json $
|
||||
```
|
||||
|
||||
Above credentials will be saved in following file,
|
||||
|
||||
```
|
||||
$ cat ~/.aws/credentials
|
||||
```
|
||||
|
||||
Output of above commands,
|
||||
|
||||
Run aws command to list s3 bucket and vpc of your account.
|
||||
|
||||
```
|
||||
$ aws s3 ls $ aws ec2 describe-vpcs
|
||||
```
|
||||
|
||||
Output,
|
||||
|
||||
Output above confirms that aws cli has been configured successfully.
|
||||
|
||||
That’s all from this post, please do post your queries and feedback in below comments sections.
|
||||
|
||||
if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0');
|
||||
|
||||
Also Read:[How to Setup EKS Cluster along with NLB on AWS][3]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/
|
||||
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.linuxtechi.com/author/pradeep/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.linuxtechi.com/linux-ls-command-examples-beginners/
|
||||
[2]: https://www.linuxtechi.com/linux-zip-unzip-command-examples/
|
||||
[3]: https://www.linuxtechi.com/how-to-setup-eks-cluster-nlb-on-aws/
|
@ -0,0 +1,82 @@
|
||||
[#]: subject: "Observability-driven development with OpenTelemetry"
|
||||
[#]: via: "https://opensource.com/article/22/10/observability-driven-development-opentelemetry"
|
||||
[#]: author: "Ken Hamric https://opensource.com/users/kenkubeshopio"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Observability-driven development with OpenTelemetry
|
||||
======
|
||||
|
||||
Observability-driven development (ODD) is being recognized as "necessary" for complex, microservice-based architectures. Charity Majors coined the term and has written about it in several articles, including [Observability: A Manifesto][1]. She explains the term in this quote:
|
||||
|
||||
> Do you bake observability right into your code as you're writing it? The best engineers do a form of "observability-driven-development" — they understand their software as they write it, include instrumentation when they ship it, then check it regularly to make sure it looks as expected. You can't just tack this on after the fact, "when it's done".
|
||||
|
||||
### OpenTelemetry provides the plumbing
|
||||
|
||||
The OpenTelemetry project has the industry backing to be the 'plumbing' for enabling observability across distributed applications. The OpenTelemetry project is [second only to Kubernetes][2] when measuring the size of its contributor community among [Cloud Native Computing Foundation (CNCF)][3] projects, and was formed when OpenTracing and OpenCensus projects merged in 2019. Since then, almost all of the major players in the industry have announced their support for OpenTelemetry.
|
||||
|
||||
[OpenTelemetry][4] covers three observability signals—logs, metrics, and distributed traces. It standardizes the approach to instrumenting your code, collecting the data, and exporting it to a backend system where the analyses can occur and the information can be stored. By standardizing the 'plumbing' to gather these metrics, you can now be assured that you don't have to change the instrumentation embedded in your code when switching from one vendor to another, or deciding to take the analysis and storage in-house with an open source solution such as OpenSearch. Vendors fully support OpenTelemetry as it removes the onerous task of enabling instrumentation across every programming language, every tool, every database, every message bus— and across each version of these languages. An open source approach with OpenTelemetry benefits all!
|
||||
|
||||
### Bridging the gap with Tracetest
|
||||
|
||||
So you want to do ODD, and you have a standard of how to instrument the code with OpenTelemetry. Now you just need a tool to bridge the gap and help you develop and test your distributed application with OpenTelemetry. This is why my team is building [Tracetest][5], an open source tool to enable the development and testing of your distributed microservice application. It's agnostic to the development language used or the backend OpenTelemetry data source that is chosen.
|
||||
|
||||
For years, developers have utilized tools such as Postman, ReadyAPI, or Insomnia to trigger their code, view the response, and create tests against the response. Tracetest extends this old concept to support the modern, observability-driven development needs of teams. Traces are front and center in the tool. Tracetest empowers you to trigger your code to execute, view both the response from that code and the OpenTelemetry trace, and to build tests based on both the response and the data contained in the trace.
|
||||
|
||||
![Image of Tracetest functionality.][6]
|
||||
|
||||
Image by:
|
||||
|
||||
(Ken Hamric, CC BY-SA 4.0)
|
||||
|
||||
### Tracetest: Trigger, trace, and test
|
||||
|
||||
How does Tracetest work? First, you define a triggering transaction. This can be a [REST][7] or gRPC call. The tool executes this trigger and shows the developer the full response returned. This enables an interactive process of altering the underlying code and executing the trigger to check the response. Second, Tracetest integrates with your existing OpenTelemetry infrastructure to pull in the trace generated by the execution of the trigger, and shows you the full details of the trace. Spans, attributes, and timing are all visible. The developer can adjust their code and add manual instrumentation, re-execute the trigger, and see the results of their changes to the trace directly in the tool. Lastly, Tracetest allows you to build tests based on both the response of the transaction and the trace data in a technique known as trace-based testing.
|
||||
|
||||
### What is trace-based testing?
|
||||
|
||||
Trace-based testing is a new approach to an old problem. How do you enable integration tests to be written against complex systems? Typically, the old approach involved adding lots of complexity into your test so it had visibility into what was occurring in the system. The test would need a trigger, but it would also need to do extra work to access information contained throughout the system. It would need a database connection and authentication information, ability to monitor the message bus, and even additional instrumentation added to the code to enable the test. In contrast, Trace-based testing removes all the complexity. It can do this because of one simple fact—you have already fully instrumented your code with OpenTelemetry. By leveraging the data contained in the traces produced by the application under the test, Tracetest can make assertions against both the response data and the trace data. Examples of questions that can be asked include:
|
||||
|
||||
- Did the response to the gRPC call have a 0 status code and was the response message correct?
|
||||
- Did both downstream microservices pull the message off the message queue?
|
||||
- When calling an external system as part of the process—does it return a status code of 200?
|
||||
- Did all my database queries execute in less than 250ms?
|
||||
|
||||
![Image of Observability driven development in Tracetest.][8]
|
||||
|
||||
Image by:
|
||||
|
||||
(Ken Hamric, CC BY-SA 4.0)
|
||||
|
||||
By combining the ability to exercise your code, view the response and trace returned, and then build tests based on both sets of data, Tracetest provides a tool to enable you to do observability-driven development with OpenTelemetry.
|
||||
|
||||
### Try Tracetest
|
||||
|
||||
If you're ready to get started, [download Tracetest][9] and try it out. It's open source, so you can [contribute to the code][10] and help shape the future of trace-based testing with Tracetest!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/observability-driven-development-opentelemetry
|
||||
|
||||
作者:[Ken Hamric][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/kenkubeshopio
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.honeycomb.io/blog/observability-a-manifesto/
|
||||
[2]: https://www.cncf.io/blog/2021/12/15/end-of-year-update-on-cncf-and-open-source-velocity-in-2021/
|
||||
[3]: https://www.cncf.io/
|
||||
[4]: https://opentelemetry.io/
|
||||
[5]: http://tracetest.io
|
||||
[6]: https://opensource.com/sites/default/files/2022-10/tracetest%20functionality.png
|
||||
[7]: https://www.redhat.com/en/topics/api/what-is-a-rest-api?intcmp=7013a000002qLH8AAM
|
||||
[8]: https://opensource.com/sites/default/files/2022-10/Tracetest-odd.png
|
||||
[9]: https://tracetest.io/download
|
||||
[10]: https://github.com/kubeshop/tracetest/issues
|
@ -0,0 +1,250 @@
|
||||
[#]: subject: "How to use journalctl to View and Analyze Systemd Logs [With Examples]"
|
||||
[#]: via: "https://www.debugpoint.com/systemd-journalctl/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to use journalctl to View and Analyze Systemd Logs [With Examples]
|
||||
======
|
||||
|
||||
**This guide explains the basics of the journalctl utility of [Systemd][1] and its various commands. You can use these commands for troubleshooting desktop and server logs in Linux. This is how you can use journalctl to view and analyze Systemd Logs with different examples.**
|
||||
|
||||
### Introduction
|
||||
|
||||
Many say that Systemd is not good, it is heavy on the system and it is a debated topic always. But you can not deny that it provides a well set of utilities to manage, troubleshoot a system. Imagine you end up with a broken system with no GUI. You probably messed up boot and GRUB as well. In those kinds of scenarios or in general – you can boot from a LIVE system, mount your Linux partition and explore the Systemd logs to find out about the problem.
|
||||
|
||||
Systemd has three basic components as follows –
|
||||
|
||||
- **systemd**: System and service manager for Linux operating systems.
|
||||
- **systemctl**: Command to introspect and control the state of the systemd system and service manager.
|
||||
- **systemd-analyze**: Provides system boot-up performance statistics and retrieve other state and tracing information from the system and service manager
|
||||
|
||||
Apart from these three, there are additional services that systemd provides such as – journald, logind, networkd, etc. In this guide we will talk about the journald service of systemd.
|
||||
|
||||
### journald – systemd journal daemon
|
||||
|
||||
By design, systemd provides a centralized way of handing all operating system logs from processes, applications, etc. All these logging events are handled by journald daemon of systemd. The journald daemon collects all logs from everywhere of the Linux operating systems and stores themes as binary data in files.
|
||||
|
||||
The advantages of centralized logging of events, system problems as binary data are many. For example, as the system logs are stored as binary and not text – you can translate in many ways such as text, JSON objects for various needs. Also, it is super easy to track down to a single event as the logs are stored sequentially via date/time manipulation of the logs.
|
||||
|
||||
Remember the log files that journald collects are in thousands of lines and it gets updated for every event, every boot. So if you have a long time running Linux operating system – the journal logs size should in GBs. As the logs are in thousands, it’s better to filter with basic commands to find out more about the system problems.
|
||||
|
||||
#### The journald Configuration File
|
||||
|
||||
The configuration file of the journald is present in the below path. It contains various flags on how the logging happens. You can take a look at the file and make the changes necessary. But I would recommend not to modify this file unless you know what you are doing.
|
||||
|
||||
```
|
||||
/etc/systemd/journald.conf
|
||||
```
|
||||
|
||||
#### Where journald stores the binary log files
|
||||
|
||||
The journald stores the logs in binary format. They are stored inside a directory under this path.
|
||||
|
||||
```
|
||||
/var/log/journal
|
||||
```
|
||||
|
||||
For example, in the below path there is a directory that contains all the system logs to date.
|
||||
|
||||
![journalctl log file path][2]
|
||||
|
||||
Do not use cat command or use nano or vi to open these files. They would not be displayed properly.
|
||||
|
||||
### Use journalctl to View and Analyze Systemd Logs
|
||||
|
||||
#### Basic journald command
|
||||
|
||||
The basic command to view logs using journal daemon is –
|
||||
|
||||
```
|
||||
journalctl
|
||||
```
|
||||
|
||||
![journalctl][3]
|
||||
|
||||
This gives you all the journal entries including errors, warnings, etc from all applications and processes. It shows the list with the oldest log at the top and current logs at the bottom. You need to keep pressing ENTER to scroll through it line by line. You can also use PAGE UP and PAGE DOWN keys to scroll. Press q to exit from this view.
|
||||
|
||||
#### How to view journal entries for time zones
|
||||
|
||||
By default, the journalctl shows the log time in the current system time zone. However, you can easily provide the timezone in your command to convert the same log to a different time zone. For example, to view the logs in UTC, use the below command.
|
||||
|
||||
```
|
||||
journalctl --utc
|
||||
```
|
||||
|
||||
![journalctl --utc][4]
|
||||
|
||||
#### How to view only errors, warnings, etc in journal logs
|
||||
|
||||
The logs that a system generates have different priorities. Some logs may be a warning which can be ignored or some may be critical errors. You might want to look at only errors, not warnings. That is also possible using the below command.
|
||||
|
||||
To view emergency system messages use:
|
||||
|
||||
```
|
||||
journalctl -p 0
|
||||
```
|
||||
|
||||
![journalctl -p 0][5]
|
||||
|
||||
Error codes
|
||||
|
||||
```
|
||||
0: emergency 1: alerts 2: critical 3: errors 4: warning 5: notice 6: info 7: debug
|
||||
```
|
||||
|
||||
When you specify the error code, it shows all messages from that code and above. For example, if you specify the below command, it shows all messages with priority 2, 1 and 0
|
||||
|
||||
```
|
||||
journalctl -p 2
|
||||
```
|
||||
|
||||
#### How to view journal logs for a specific boot
|
||||
|
||||
When you are running the journalctl command it shows the information from the current boot that is from the current session which you are running. But it is also possible to view information about past boots as well.
|
||||
|
||||
Journal logs keep on updating in every reboot. The journald keeps track of the logs in different boots. To view, the boot-wise logs use the below command.
|
||||
|
||||
```
|
||||
journalctl --list-boots
|
||||
```
|
||||
|
||||
![journalctl list-boots][6]
|
||||
|
||||
- The first number shows the unique journald boot track number which you can use in the next command to analyze that specific boot.
|
||||
- The second number the boot ID which also you can specify in the commands.
|
||||
- The next two date, time combinations are the duration of the logs stored in the respective file. This is super handy if you want to find out a log or error from a specific date, time.
|
||||
|
||||
To view a specific boot number you the first number or the boot ID as below.
|
||||
|
||||
```
|
||||
journalctl -b -45
|
||||
```
|
||||
|
||||
```
|
||||
journalctl -b 8bab42c7e82440f886a3f041a7c95b98
|
||||
```
|
||||
|
||||
![journalctl -b 45][7]
|
||||
|
||||
You can also use `-x` switch which can add an explanation of the systemd error messages in your display. This is a lifesaver in certain situations.
|
||||
|
||||
```
|
||||
journalctl -xb -p 3
|
||||
```
|
||||
|
||||
![journalctl -xb][8]
|
||||
|
||||
#### How to view journal logs for a specific time, date duration
|
||||
|
||||
The journalctl is powerful enough to provide “english” like argument in the command itself for time and date manipulation.
|
||||
|
||||
You can use`--since` switch with a combination of `“yesterday”, “today”, “tomorrow”, or “now”.`
|
||||
|
||||
Some of the examples of different commands below. You can modify them as per your need. They are self-explanatory. The date, time format in the below commands are `"YYYY-MM-DD HH:MM:SS"`
|
||||
|
||||
```
|
||||
journalctl --since "2020-12-04 06:00:00"
|
||||
```
|
||||
|
||||
```
|
||||
journalctl --since "2020-12-03" --until "2020-12-05 03:00:00"
|
||||
```
|
||||
|
||||
```
|
||||
journalctl --since yesterday
|
||||
```
|
||||
|
||||
```
|
||||
journalctl --since 09:00 --until "1 hour ago"
|
||||
```
|
||||
|
||||
![journalctl --since 09:00 --until][9]
|
||||
|
||||
You can combine the above with the error level switches as well.
|
||||
|
||||
#### How to see Kernel specific journal logs
|
||||
|
||||
The Linux Kernel messages can be extracted from journal logs as well. To view the Kernel messages from the current boot only use the below command.
|
||||
|
||||
```
|
||||
journalctl -k
|
||||
```
|
||||
|
||||
#### How to see journal logs for a service, PID
|
||||
|
||||
You can filter out specific logs from a systemd service unit only from the journald logs. For example, to find out the logs from NetworkManager service use the below command.
|
||||
|
||||
```
|
||||
journalctl -u NetworkManager.service
|
||||
```
|
||||
|
||||
![journalctl NetworkManager service][10]
|
||||
|
||||
If you do not know the service name, you can use the below command to list the systemd services in your system.
|
||||
|
||||
```
|
||||
systemctl list-units --type=service
|
||||
```
|
||||
|
||||
#### How to view journal logs for a user, group
|
||||
|
||||
If you are analyzing server logs this command is helpful where multiple users are logged in. You can first find out about the user id using the below command from the user name. For example, to find out the id of user “`debugpoint`” –
|
||||
|
||||
```
|
||||
id -u debugpoint
|
||||
```
|
||||
|
||||
Then use that ID with `_UID` switch to view the logs generated by the user.
|
||||
|
||||
```
|
||||
journalctl _UID=1000 --since today
|
||||
```
|
||||
|
||||
![journalctl _UID][11]
|
||||
|
||||
Similarly use `_GID` switch to find out the same for user groups.
|
||||
|
||||
#### How to view journal logs for an executable
|
||||
|
||||
You can also find out journald logs of a specific program or executable. For example, if you want to find out the messages of gnome-shell, you can run the below command.
|
||||
|
||||
```
|
||||
journalctl /usr/bin/gnome-shell --since today
|
||||
```
|
||||
|
||||
![journalctl gnome-shell][12]
|
||||
|
||||
### Closing notes
|
||||
|
||||
I hope this guide helps you to use journalctl to view analyze systemd logs on your Linux desktop or server troubleshooting. The systemd journal management extremely powerful if you know how to use the commands, it makes your life a bit easy during debugging time. All major mainstream Linux distribution uses Systemd these days. Ubuntu, Debian, Fedora, Arch – they all use systemd for their default OS offerings. In case if you are wondering about systemd-free Linux distributions, you might want to check out [MX-Linux][13], Gentoo, Slackware, Void Linux.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/systemd-journalctl/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://freedesktop.org/wiki/Software/systemd/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-log-file-path.jpg
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-utc.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-p-0.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-list-boots.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-b-45.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-xb.jpg
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-since-0900-until.jpg
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-NetworkManager-service.jpg
|
||||
[11]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-_UID.jpg
|
||||
[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-gnome-shell.jpg
|
||||
[13]: https://www.debugpoint.com/tag/mx-linux
|
@ -0,0 +1,92 @@
|
||||
[#]: subject: "PaperDE is a Touch-Friendly Linux Desktop Environment"
|
||||
[#]: via: "https://news.itsfoss.com/paperde/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
PaperDE is a Touch-Friendly Linux Desktop Environment
|
||||
======
|
||||
|
||||
PaperDE is a simple, and touch-friendly desktop environment to look out for.
|
||||
|
||||
![PaperDE is a Touch-Friendly Linux Desktop Environment][1]
|
||||
|
||||
Seeing that many desktop environments exist, you may ask, why do we need another?
|
||||
|
||||
Well, the answer is simple. It is good to have options.
|
||||
|
||||
Having various user experiences enables you to experiment with different setups until you find the perfect one. If you are new to the Linux world, you may want to check out some of the best desktop environments available:
|
||||
|
||||
So, what does PaperDE bring to the table?
|
||||
|
||||
### PaperDE: A Minimal Desktop Environment
|
||||
|
||||
![paperde desktop view][2]
|
||||
|
||||
[PaperDE][3] aims to be a simple, lightweight desktop environment with a touchscreen-friendly user interface.
|
||||
|
||||
Yes, it is not a wildly different idea. But, as per the official screenshots, it looks pretty.
|
||||
|
||||
When closely examined, PaperDE looks similar to a mix of desktop environments such as [GNOME][4] and [Budgie][5].
|
||||
|
||||
![paperde apps][6]
|
||||
|
||||
It is being made from the ground up, with Qt/Wayland and [Wayfire][7] at its core, and features [PipeWire][8] as the default audio/video stack.
|
||||
|
||||
Furthermore, the DE will feature a dock bar for easy access to pinned apps and support adding various widgets from the [C-Suite][9] apps to the main screen.
|
||||
|
||||
![paperde widgets][10]
|
||||
|
||||
When asked about its touchscreen and gesture support on Reddit, one of the developers ([rahmanshaber][11]) mentioned:
|
||||
|
||||
> No, gestures doesn't work in real life, as you may use it in a tablet where it didn't came with linux installed. We used UI/ UX design approach that makes it easier to navigate the DE using finger and touch.
|
||||
|
||||
### Can You Try PaperDE Now?
|
||||
|
||||
The short answer is, yes.
|
||||
|
||||
The long answer is, that it is still in the early stages of development.
|
||||
|
||||
> 💡They recently released PaperDE 0.2.0 a few days back, you can check out their GitLab [project][12] to learn more.
|
||||
|
||||
The developers say that it is only possible to test it out using Arch, and no Flatpak or Snap packages are available to install.
|
||||
|
||||
I did try using the AUR package, but it failed to build on Arch Linux.
|
||||
|
||||
The developers have said that PaperDE will also be made available in the [official repository][13] of Alpine Linux soon. But, for other packages, maintainers and contributors will have to help.
|
||||
|
||||
If you are looking for an experiment to test, you can try it out.
|
||||
|
||||
[PaperDE][12]
|
||||
|
||||
_💬 Are you excited to see a new desktop environment in the works? Or do you think you do not need another project like this?_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/paperde/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/paper-de.png
|
||||
[2]: https://news.itsfoss.com/content/images/2022/10/PaperDE-1.png
|
||||
[3]: https://cubocore.org/paperde.html
|
||||
[4]: https://www.gnome.org/
|
||||
[5]: https://ubuntubudgie.org/
|
||||
[6]: https://news.itsfoss.com/content/images/2022/10/paperde-apps.png
|
||||
[7]: https://github.com/wayfirewm/wayfire
|
||||
[8]: https://pipewire.org/
|
||||
[9]: https://cubocore.org/coreapps.html
|
||||
[10]: https://news.itsfoss.com/content/images/2022/10/PaperDE-2.png
|
||||
[11]: https://gitlab.com/rahmanshaber
|
||||
[12]: https://gitlab.com/cubocore/paper/paperde
|
||||
[13]: https://pkgs.alpinelinux.org/packages
|
@ -0,0 +1,94 @@
|
||||
[#]: subject: "Use open source commands in Powershell"
|
||||
[#]: via: "https://opensource.com/article/22/10/set-path-powershell"
|
||||
[#]: author: "Alan Smithee https://opensource.com/users/alansmithee"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Use open source commands in Powershell
|
||||
======
|
||||
|
||||
When you launch an application on an operating system, there are certain code libraries and utility applications that your OS needs to use for that app to run. Your OS knows how to find these libraries and utilities because it has a _system path,_ a map to common shared data that lots of apps need. Every OS has this, but users aren’t usually aware of it because they don’t usually need to care about it. However, when you start coding or using special network utilities or commands, you might care about your own PATH variable.
|
||||
|
||||
The PATH variable makes it so that you can save commands to a consistent location, and use them from anywhere on your system using the command prompt or the more powerful (and open source) [Powershell][1].
|
||||
|
||||
For instance, say you want to install the open source application `pscp.exe`, a command-line interface to the famous PuTTY OpenSSH client on Windows. You can download it to your hard drive, but how does your command-line know that it exists? Well at first, it doesn’t:
|
||||
|
||||
```
|
||||
PS> pscp
|
||||
pscp: The term 'pscp' is not recognized as the name of a cmdlet, script file, or operable program.
|
||||
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
|
||||
```
|
||||
|
||||
If you’re using an open source command line, such as Powershell or [Cmder][2], you get a useful error hinting that this might be a problem with your path (or the lack thereof). Here’s how to solve that problem.
|
||||
|
||||
### Setting a PATH
|
||||
|
||||
- First, create a folder called `App` on your Desktop.
|
||||
- Next, right-click on the Windows menu in the bottom left corner of your screen, and select **System**.
|
||||
|
||||
![Image of the Windows menu system.][3]
|
||||
|
||||
Image by:
|
||||
|
||||
(Alan Smithee, CC BY-SA 4.0)
|
||||
|
||||
- In the **System** window that appears, click the link to **Advanced system settings** on the left of the window.
|
||||
- In the **System properties** window that appears, click the **Environment variables** button at the bottom of the window.
|
||||
|
||||
![Image Windows system enviroment variables.][4]
|
||||
|
||||
Image by:
|
||||
|
||||
(Alan Smithee, CC BY-SA 4.0)
|
||||
|
||||
- In the **Environment variables** window, click the **New** button under the **User variables** panel.
|
||||
|
||||
![Image of new Windows enviroment variables.][5]
|
||||
|
||||
Image by:
|
||||
|
||||
(Alan Smithee, CC BY-SA 4.0)
|
||||
|
||||
- In the dialog box that appears, enter `PATH` for the **Variable name** field, and `%USERPROFILE\Desktop\App` for the **Variable value** field. Click the **OK** button to save your changes.
|
||||
|
||||
![Image of Windows path set.][6]
|
||||
|
||||
Image by:
|
||||
|
||||
(Alan Smithee, CC BY-SA 4.0)
|
||||
|
||||
Place commands and applications you want to have access to from a command prompt in `Desktop\Apps` and Powershell, Cmder, and even Cmd will find them:
|
||||
|
||||
```
|
||||
PS> pscp –version
|
||||
pscp: Release 0.XY
|
||||
Build platform: 64-bit x86 Windows
|
||||
PS>
|
||||
```
|
||||
|
||||
### Automatic PATH settings
|
||||
|
||||
Many applications get automatically added to the system path during installation. However, not all of them do, either because you missed a check box during the install process, or because the application developer expects you to add it yourself. When automatic paths fail, you now know how to forge your own path.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/set-path-powershell
|
||||
|
||||
作者:[Alan Smithee][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/alansmithee
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/18/2/powershell-people
|
||||
[2]: http://cmder.app/
|
||||
[3]: https://opensource.com/sites/default/files/2022-10/windows-menu-system.png
|
||||
[4]: https://opensource.com/sites/default/files/2022-10/windows-system-environment-variables.png
|
||||
[5]: https://opensource.com/sites/default/files/2022-10/windows-environment-variables-new.png
|
||||
[6]: https://opensource.com/sites/default/files/2022-10/windows-path-set.png
|
@ -0,0 +1,110 @@
|
||||
[#]: subject: "How to Recover Arch Linux Install via chroot"
|
||||
[#]: via: "https://www.debugpoint.com/recover-arch-linux/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "robsean"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How to Recover Arch Linux Install via chroot
|
||||
======
|
||||
|
||||
**This quick guide explains some of the steps which may come in handy to recover an Arch Linux Install.**
|
||||
|
||||
Being a rolling release, sometimes things break in Arch Linux. Not because of your own actions but hundreds of other reasons, such as a new Kernel vs your hardware or software compatibility. But still, Arch Linux is still better and provides the latest packages and applications.
|
||||
|
||||
But sometimes, it gives you trouble, and you end up with a blinking cursor and nothing else.
|
||||
|
||||
So, in those scenarios, instead of re-formatting or reinstalling, you may want to try to recover the installation, including the data, before giving up your hope. This guide outlines some steps in that direction.
|
||||
|
||||
### Recover Arch Linux Installation
|
||||
|
||||
- The first step is to create a bootable LIVE USB with Arch Linux. Download the .ISO from this link and create a bootable .ISO. You can check out this guide on how to create bootable .ISO using Etcher. Remember this step requires another working stable system, obviously, as your current system is not usable.
|
||||
|
||||
[download arch linux][1]
|
||||
|
||||
- You need to know on **which partition your Arch Linux** is installed. This is a crucial step. If you don’t know, you can use GParted to find out. Or check in your Grub menu, Or you can run the below command to find out. This will list all your disk partitions, size, and labels.
|
||||
|
||||
```
|
||||
sudo lsblk -o name,mountpoint,label,size,uuid
|
||||
```
|
||||
|
||||
- Once done, plug in the USB stick and boot from it. And you should see the Arch Linux prompt in the LIVE medium.
|
||||
|
||||
- Now, mount to the Arch Linux partition using the below. Change the `/dev/sda3` to your respective partition.
|
||||
|
||||
```
|
||||
mount /dev/sda3 /mnt
|
||||
arch-chroot /mnt
|
||||
```
|
||||
|
||||
- The arch-chroot command will mount your Arch Linux partition in the terminal, so log in using your Arch credentials. Now, you have the following options based on what you want at this stage.
|
||||
|
||||
- You can take backups of your data by going through /home folders. In case the troubleshooter doesn’t work. You may copy the files to an external USB or another partition.
|
||||
|
||||
- Verify the log files, especially the pacman logs, because an unstable system may be caused by upgrading some packages, such as graphics driver or any other driver. Based on the log, you may want to downgrade any specific package if you want.
|
||||
- You may use the below command to view the last 200 lines of the pacman log file to find out any failing items or dependency removal.
|
||||
|
||||
```
|
||||
tail -n 200 /var/log/pacman.log | less
|
||||
```
|
||||
|
||||
- The above command gives you 200 lines from the end of the pacman.log file to verify. Now, carefully check which of the packages were updated since your successful boot.
|
||||
|
||||
- And note down the package name and version somewhere. And you may try to downgrade packages one-by-one or if you think a specific package created a problem. Use the -U switch of pacman command to downgrade.
|
||||
|
||||
```
|
||||
pacman -U <package name>
|
||||
```
|
||||
|
||||
- You can run the following to start your Arch system after downgrading if any.
|
||||
|
||||
```
|
||||
exec /sbin/init
|
||||
```
|
||||
|
||||
- Check the status of your display manager and whether if there are any errors. Sometimes, the display manager creates a problem which can’t communicate with X Server. For example, if you are using lightdm, then you can check its status via the below.
|
||||
|
||||
```
|
||||
systemctl status lightdm
|
||||
```
|
||||
|
||||
- Or, you may want to start it via the below command and check the error.
|
||||
|
||||
```
|
||||
lightdm --test-mode --debug
|
||||
```
|
||||
|
||||
- Here is an example of lightdm failure, which caused an unstable Arch system.
|
||||
|
||||
![lightdm - test mode][2]
|
||||
|
||||
- Or check via kicking off the X server using `startx`.
|
||||
|
||||
- In my experience, if you see errors in the above command, try to install another display manager, such as **sddm** and enable it. It may eliminate the error.
|
||||
|
||||
- Try the above steps based on the state of your system, and troubleshoot. For errors specific to display manager lightdm, we have a [guide][3] which you may want to check out.
|
||||
- If you are using sddm, then check out [these troubleshooting steps][4] if something works.
|
||||
|
||||
### Closing Notes
|
||||
|
||||
Every installation is different. And above steps may/may not work for you. But it is worth a try, and as per my experience, it works. If it works, well, good for you. Either way, let me know how it goes in the comment box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/recover-arch-linux/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://archlinux.org/download/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg
|
||||
[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/
|
||||
[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting
|
@ -0,0 +1,202 @@
|
||||
[#]: subject: "Endless OS – Desktop Linux Done Right for the Masses"
|
||||
[#]: via: "https://www.debugpoint.com/endless-os-review-2021/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Endless OS – Desktop Linux Done Right for the Masses
|
||||
======
|
||||
|
||||
**We review the popular Endless OS as Linux Desktop with the new features and updates of the latest version 4.0.**
|
||||
|
||||
![Endless OS Desktop version 4.0][1]
|
||||
|
||||
Endless OS is a [OSTree based][2] free and open-source[Linux Distribution][3]. This Linux distribution is packaged from Debian/Ubuntu, but not directly based on it. OSTree is an atomic upgrade system for Linux-based OSes. This is a unique way to provide package updates to Linux-distribution, where OSTree packages everything in a server and then replicates to the client.
|
||||
|
||||
The main advantage is that your underlying Linux operating system always remain intact, and it is read-only. OSTree only operates in user space.
|
||||
|
||||
In that sense, Endless OS never breaks, and it remains fresh as you install for the first time. Today, only very few Linux Distribution are based on OSTree technology – such as Fedora SIlverblue and Fedora Kinoite.
|
||||
|
||||
That said, let take a deep dive on the Endless OS as a whole and check out the updates to the new version.
|
||||
|
||||
### Endless OS Review
|
||||
|
||||
#### Version 4.0 Updates
|
||||
|
||||
As of writing this post, Endless OS latest version is 4.0 which has been released on Nov 22, 2021. This release brings better app grid switching with indicators, switch user option and a Long term support model. With this new support model, this version 4.0 will continue to receive update even after Endless OS 5.0 released. You can learn more about the updates in this [post][4].
|
||||
|
||||
#### Downloading Endless OS
|
||||
|
||||
Before I go into the installer, I would like to spend a few words on the installer/.ISO of this distribution. Endless OS brings two separate installers. An .ISO file specifically designed for Windows system to install as dual-boot. This installer is an EXE file which you can download in Windows machine and start the installation! This something unique I found.
|
||||
|
||||
With all the Windows hate aside, this actually helps to adopt this Linux distribution far more easily for the average user. An average user may not even know what a partition or a GRUB is. So, in those situations, it downloads, does the partition and installs it without any complex user input. This is really impressive. You can learn more about the Windows installation [here][5].
|
||||
|
||||
Other .ISO images are dedicated to –
|
||||
|
||||
- Basic desktop installer with language selection
|
||||
- A specially designed .ISO for virtual machine
|
||||
- .ISO images for ARM hardware such as Raspberry Pi, Pinebook Pro etc.
|
||||
|
||||
Go ahead and open the below link and get your .ISO copy. Remember, the full installer ISO files are much larger > 10 GB. So, if you are planning to test, use the basic installer.
|
||||
|
||||
![Download options of Endless OS][6]
|
||||
|
||||
[download Endless OS][7]
|
||||
|
||||
#### Unique Installation of Endless OS
|
||||
|
||||
Apart from the Windows installation as described above, you need to know a couple of things. The Endless OS can not be installed at the moment as dual boot with other Linux distributions. What? Yes.
|
||||
|
||||
As per the information I found, the .ISO is not designed to handle other Linux distribution as dual boot. However, you can try it in virtual machine with any Linux host OS.
|
||||
|
||||
The basic installer gives you two options. Try in LIVE media or reformat the entire disk and install. Yes, entire disk. So be very careful if you’re trying to install in actual hardware.
|
||||
|
||||
During my test, I had to install it in a virtual machine ([virt-manager][8]) because I don’t want to reformat my entire SSD.
|
||||
|
||||
The installation went smooth. No error whatsoever. However, it took a little longer (probably 10 to 15 minutes extra) than other Linux distribution installation in same hardware.
|
||||
|
||||
![Two options to Install and Try Endless OS][9]
|
||||
|
||||
![This OS requires entire disk][10]
|
||||
|
||||
#### First Login and Setup
|
||||
|
||||
After the successful installation, you get to choose Language, user account, privacy options. These are standard GNOME options which we see in Fedora Workstation GNOME Edition. One of the important item is the terms of use. As this Linux is targeted for mass deployment for schools, non-profits or labs – you might want to go through the terms.
|
||||
|
||||
User creation dialog have an option to set up parental control for the user being created, which is neat.
|
||||
|
||||
#### How the Endless OS with GNOME desktop looks
|
||||
|
||||
When you first boot up, you see a desktop with icons and a search bar.
|
||||
|
||||
This is the application list menu, which is the default desktop screen. You can search any items in your desktop and launch them via the search bar. The search bar also gives you the option to directly search Google via Chromium, which is the default browser.
|
||||
|
||||
This default desktop screen contains preloaded applications and well organized app folders for native GNOME apps.
|
||||
|
||||
The bottom panel is awesome, really. It is well optimized in terms of looks and width. Not too narrow or wide. In the far left, you have Endless OS icon, which is a toggle for show applications and show desktop options.
|
||||
|
||||
Then, you have the favorites as icons. The favorites icons have the app indicator notifying that it is open. If some app is not marked as favorites, they also show up in the bottom panel when opened with app indicator. This is super neat.
|
||||
|
||||
To the right, the system tray is classified intro three sections. First one gives you the volume controls, network and Wi-Fi settings. In the middle you have date, time and calendar on mouse-hover. And at the extreme right you have the options to log out, switch user, power off and other information. All these menu comes up when you mouse-hover into it. You do not need to click them.
|
||||
|
||||
#### Hot Corner and Workspace
|
||||
|
||||
Endless OS is based on GNOME 3.38 version. Not GNOME. Hence, the workspace design is kind of unique. To the extreme right bottom – there is a hot corner. When you click on that, it brings up the current workspace with a list of running applications. When you mouse hover, you can close them or select them without leaving the view.
|
||||
|
||||
#### Things that I feel Endless OS done right with GNOME
|
||||
|
||||
If you have used GNOME in Ubuntu or Fedora, and then experienced it in Endless OS, you might find some UI tweaks works out of the box. You do not need to set up Extensions or change settings. Here are a couple of them I found that I wish GNOME with Fedora or Ubuntu would feature by default.
|
||||
|
||||
- Clicking on desktop empty section shows the desktop by minimizing all open applications. And pressing ALT+TAB brings up the open app windows again. You can’t imagine how comfortable this behavior is.
|
||||
- The show desktop and app toggle at the bottom right of the panel and its default mapping with Super key. This just works.
|
||||
- All windows have Minimize, Maximize, and Close icons at the top right by default. You do not need additional tweaks to get it working.
|
||||
- Hot corner implementation at the far right.
|
||||
- Panel design in terms of width, app icons with app indicators. They are all default implementations.
|
||||
- System tray menu popup in mouse over by default. You do not need an extra click to open it up. This is such a breathing while using the mouse.
|
||||
|
||||
Here’s a quick video showing all the above features.
|
||||
|
||||
#### Unique Features that make it perfect for non-technical users
|
||||
|
||||
Perhaps the unique selling point of this Linux desktop is minimal user intervention during installation + post-install tweaks. And you can start using this desktop without internet connection right away. A perfect desktop for those places where internet is not always available.
|
||||
|
||||
Think about a school at a remove place where Internet connectivity is costly or not available. But you need to have a stable, free and easy-to-use Linux Desktop for kids to learn the computing. You can burn a CD/DVD or create USB with language specific .ISO and deploy it offline.
|
||||
|
||||
And post-installation does not require any additional settings at all. All the options are well defaulted and just works.
|
||||
|
||||
#### Software and Applications
|
||||
|
||||
One point to note that, Endless OS use Flatpak to deploy applications. There is no way to install other than Flatpak. For example, you can not use apt or apt-get at all because the file system is read only.
|
||||
|
||||
That’s why, the .ISO itself is larger and contains all required applications, language packs preloaded. Ideal for schools, labs and other forms of deployments.
|
||||
|
||||
However, if you need additional applications, you can install it using the customized App Center for GNOME with internet connection.
|
||||
|
||||
The App Center have curated categories at the left which shows the Flatpak applications. The App center is configured to fetch application metadata directly from Flathub.
|
||||
|
||||
![App Center in Endless OS][11]
|
||||
|
||||
Oh, this OS supports NVIDIA cards out-of-the-box with either the proprietary driver for supported cards or nouveau for older ones.
|
||||
|
||||
#### Help Center
|
||||
|
||||
Think about a situation, where a student is learning computer for the first time using Endless OS. If the person want to change the login screen photo, how does he/she do?
|
||||
|
||||
Here comes the great built-in help center of this OS which I feel one of the important feature. All the person need to do is type something in the desktop search bar and pull up help.
|
||||
|
||||
This is so helpful, isn’t it?
|
||||
|
||||
![Trying Help in Endless OS-1][12]
|
||||
|
||||
![Trying Help in Endless OS-2][13]
|
||||
|
||||
#### How about the performance?
|
||||
|
||||
I have only managed to install it in a virtual machine. So, it has comfortable response time while using the desktop. The animations and other gestures are instant. I kept it running for more than 15 hours in a virtual machine.
|
||||
|
||||
After 15 hours, it was consuming around 1 to 2% CPU and 1 GB of memory. Most of the CPU is consumed by gnome-shell, followed by Xorg. I am not sure why gnome-shell was consuming so much, might be memory leak bug. Not sure though.
|
||||
|
||||
![Performance of Endless OS][14]
|
||||
|
||||
#### What about disk space?
|
||||
|
||||
As this Linux distribution plans to be a self-sufficient distro without internet, the installation size is a little larger compared to other distributions such as Ubuntu or Fedora. A default virtual machine installation takes around ~11 GB of disk space.
|
||||
|
||||
#### Is it a perfect Linux Distribution? Well, not really.
|
||||
|
||||
I try many Linux distributions and desktops for this blog and my work. Very few are perfect and ready to use just after installation. I mean, you don’t need to go over “10 things to do after installing **” with this Linux distribution.
|
||||
|
||||
But, some minor improvements are welcome from the team in the future. First item I feel, an .ISO which is dedicated to be installed side-by-side with Ubuntu, fedora and other Linux. This is really needed.
|
||||
|
||||
Probably some support for Snap packages in the future.
|
||||
|
||||
And the final drawback might be the availability of applications only as Flatpak. Not every app have an official flatpak version today. That limits its capability to some extent, but not more.
|
||||
|
||||
#### If things go wrong – how to get help and Support?
|
||||
|
||||
There’s a great online active community of Endless OS where you get support from its creators. And the documentation is also very impressive which contains all necessary details ranging from installation to usage. You can visit the community and documentation using the below links.
|
||||
|
||||
- [https://support.endlessos.org/en/home][15]
|
||||
|
||||
- [https://community.endlessos.com/][16]
|
||||
|
||||
### Closing Notes
|
||||
|
||||
Endless OS is one of those few Linux distributions which I felt really well thought of and designed. It is perfect for schools, labs, and remote/offline situations. And perfectly designed to be used by anyone without prior knowledge of much computing, even experience of Windows. Even the Windows users would feel comfortable using this modified GNOME desktop. That said, I am hoping that the team should bring up options to install it alongside other Linux distributions. Then it might be a daily driver distribution for many Linux users and get more attention it deserves.
|
||||
|
||||
If you want only one Linux operating system in your machine which is super stable and run for years, then go ahead and try this distribution. You will be amazed by how much time you save without worrying about terminal, commands, updates/upgrades and sudden package dependency surprises.
|
||||
|
||||
To wrap up this Endless OS review, what you think about Endless OS? Is it a perfect distro? Let me know in the comment box below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/endless-os-review-2021/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/Endless-OS-Desktop-version-4.0-1024x582.jpg
|
||||
[2]: https://ostree.readthedocs.io/en/stable/
|
||||
[3]: https://www.debugpoint.com/category/distributions
|
||||
[4]: https://support.endlessos.org/en/endless-os/release-notes/4-0
|
||||
[5]: https://support.endlessos.org/en/installation/windows-installer/dual-boot
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Download-options-of-Endless-OS.jpg
|
||||
[7]: https://endlessos.com/download/
|
||||
[8]: https://www.debugpoint.com/2020/11/virt-manager/
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Two-options-to-Install-and-Try-Endless-OS-1024x734.jpg
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2021/11/This-OS-requires-entire-disk.jpg
|
||||
[11]: https://www.debugpoint.com/wp-content/uploads/2021/11/App-Center-in-Endless-OS-1024x625.jpg
|
||||
[12]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-1-1024x576.jpg
|
||||
[13]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-2.jpg
|
||||
[14]: https://www.debugpoint.com/wp-content/uploads/2021/11/Performance-of-Endless-OS.jpg
|
||||
[15]: https://support.endlessos.org/en/home
|
||||
[16]: https://community.endlessos.com/
|
@ -0,0 +1,100 @@
|
||||
[#]: subject: "Enjoy the Classic Snake Game in Your Linux Terminal"
|
||||
[#]: via: "https://www.debugpoint.com/snake-game-linux-terminal/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
在你的 Linux 终端中享受经典的贪吃蛇游戏
|
||||
======
|
||||
这是你在 Linux 终端中安装和玩经典贪吃蛇的方法。
|
||||
|
||||
还记得老式手机经典简单的贪吃蛇吗?我记得玩了几个小时。嘿,当时没有其他选择,对吧?智能手机仍未上市。而你所拥有的就是这个。
|
||||
|
||||
![Nokia 3310 中的旧版贪吃蛇游戏][1]
|
||||
|
||||
但随着时间的推移,贪吃蛇被具有各种选项的更高级的图形游戏所取代。但没有什么能比得上经典贪吃蛇游戏。
|
||||
|
||||
如果我告诉你,你可以在 Linux 终端中玩这个游戏呢?无论你运行的是 Ubuntu Linux、Fedora Linux 还是 Arch Linux,都无关紧要。该游戏适用于大多数 [发行版][2]。
|
||||
|
||||
![nsnake - 主菜单][3]
|
||||
|
||||
### 安装 nSnake – Linux 终端的贪吃蛇
|
||||
|
||||
你可以使用以下方法通过终端安装[此游戏][4]。
|
||||
|
||||
对于 Ubuntu、Linux Mint 或其他相关发行版:
|
||||
|
||||
```
|
||||
sudo apt install nsnake
|
||||
```
|
||||
|
||||
对于 Fedora Linux 和其他:
|
||||
|
||||
```
|
||||
sudo dnf install nsnake
|
||||
```
|
||||
|
||||
对于 Arch Linux,此游戏可在 [Arch 用户仓库][5]中获得。你可以使用以下步骤安装它。
|
||||
|
||||
* [设置 Yay AUR 助手][6]
|
||||
* 然后打开终端并运行以下命令
|
||||
|
||||
```
|
||||
yay -S nsnake
|
||||
```
|
||||
|
||||
上面的命令会安装游戏的库存库版本,它可能不是最新的。但是,如果你想要最新版本,你可能需要通过 GitHub 编译源代码。我在本页末尾添加了编译说明供你参考。
|
||||
|
||||
### 玩游戏
|
||||
|
||||
玩游戏非常简单。在终端中输入 nsnake,这将启动游戏。
|
||||
|
||||
要立即退出,请按 q。
|
||||
|
||||
以下是默认键绑定。
|
||||
|
||||
* 箭头键 - 移动蛇
|
||||
* q – 退出游戏
|
||||
* p – 暂停游戏
|
||||
|
||||
你还可以通过主菜单以各种方式配置游戏。
|
||||
|
||||
![nsnake Linux 终端贪吃蛇设置][7]
|
||||
|
||||
完成了,享受吧!
|
||||
|
||||
##### 编译
|
||||
|
||||
要编译最新版本,请在所有 Linux 发行版中使用以下命令。
|
||||
|
||||
哦,确保你已经安装了 `git` 和 `ncurses-devel`,它们是编译所需的包。
|
||||
|
||||
```
|
||||
git clone https://github.com/alexdantas/nSnake.gitcd nsnakemakemake install
|
||||
```
|
||||
|
||||
那么,你喜欢贪吃蛇游戏吗?与其他基于终端的游戏相比,你更喜欢它吗?在下面的评论框中与其他读者分享你的观点。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/snake-game-linux-terminal/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/12/Nokia-3310-with-legacy-snake-game.jpg
|
||||
[2]: https://www.debugpoint.com/category/distributions
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Game-Main-Menu.jpg
|
||||
[4]: https://github.com/alexdantas/nsnake
|
||||
[5]: https://aur.archlinux.org/packages/nsnake/
|
||||
[6]: https://www.debugpoint.com/2021/01/install-yay-arch/
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Linux-Terminal-Snake-Game-Settings.jpg
|
@ -0,0 +1,160 @@
|
||||
[#]: subject: "Learn Bash base64 Encode and Decode With Examples"
|
||||
[#]: via: "https://www.debugpoint.com/bash-base64-encode-decode/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "chai001125"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
通过示例来学习 Bash base64 的编码和解码
|
||||
======
|
||||
你想了解 Base64 编码和解码的方法吗?在本教程中,我们使用 bash shell 脚本和各种示例解释了 Base64 编码和解码步骤。
|
||||
|
||||
![][1]
|
||||
|
||||
Base64 编码方法通过将二进制数据转换为文本,如此编码数据可以在任何通信媒体进行传输。这种编码方法主要用于电子邮件加密的过程。
|
||||
|
||||
总体而言,Base64 编码方法是一种二进制到文本的编码方案,以 ASCII 字符串格式表示 8 字节的二进制数据。使用这种编码方法在各种媒介之间传输数据时有几个优势,尤其是对于那些能可靠支持文本内容的媒介。因此,Base64 编码方法在万维网上被广泛使用。这种编码方案最常用于电子邮件附件的编码上。
|
||||
|
||||
根据 Base64 编码表,二进制数据可以经 Base64 编码后可以转换为 64 个不同的 ASCII 字符,包含大写字母 A 到 Z,小写字母 a 到 Z,数字 0 到 9 ,以及符号 + 和 /,这些字符在传输和打印上十分便捷。
|
||||
|
||||
这 64 个 ASCII 字符代表着从 `000000` 到 `111111` 的二进制值。每个非末尾的 Base64 编码后的 ASCII 字符恰好代表 6 位二进制值。
|
||||
|
||||
![Base64 Index Table][2]
|
||||
|
||||
### Bash base64 的编码和解码
|
||||
|
||||
#### 句法
|
||||
|
||||
在我们提供示例之前,首先介绍 Base64 的基本语法。
|
||||
|
||||
```
|
||||
base64 [OPTIONs] [INFILE] [OUTFILE]
|
||||
```
|
||||
|
||||
选项(Option):参照下面的表格,你可以提供任何的选项或组合多个选项。
|
||||
输入(INFILE):你可以从标准输入(如命令行)或文件中输入。
|
||||
输出(OUTFILE):你可以将输出重定向到标准输出,如终端或文件中。
|
||||
|
||||
| 选项 | 描述 |
|
||||
| :- | :- |
|
||||
| -e 或者 –encode | 此选项用于对标准输入的数据或从文件中读入的数据进行编码。这是默认选项。 |
|
||||
| -d 或者 –decode | 此选项用于对标准输入的数据或从文件中读入的已 base64 编码数据进行解码。 |
|
||||
| -n 或者 –noerrcheck | 默认情况下,base64 在解码数据时,会自动检查是否有错误。你可以使用 –n 或 –noerrcheck 选项,在解码时忽略检查。 |
|
||||
| -i, –ignore-garbage | 此选项用于在解码时忽略非字母字符。 |
|
||||
| -u 或者 –help | 此选项用于获取有关使用此命令的信息。 |
|
||||
|
||||
#### 示例 1:基本编码
|
||||
|
||||
在 Linux 中,默认已安装好 base64 软件包。因此,你可以轻松地从命令行使用 base64。要对一个字符串或文本进行编码,你可以通过管道将其传递到命令行,并获取待编码的文本。在下面的示例中,对字符串 debugpoint.com 进行了 base64 编码。
|
||||
|
||||
```
|
||||
echo "debugpoint.com" | base64
|
||||
```
|
||||
|
||||
![bash base64 encode and decode - example 1][3]
|
||||
|
||||
结果是经过 base64 编码后的字符串。
|
||||
|
||||
#### 解释
|
||||
|
||||
Base64 编码方法使用下面的几个步骤来转换输入的数据。首先,每个输入字符转换为 8 位二进制值,接着,二进制字符串拆分为一组组 6 位的二进制值,然后,每个 6 位的二进制值被转换为十进制值。
|
||||
|
||||
最后,每个十进制值都通过 base64 编码索引表转换为 base64 字符。
|
||||
|
||||
在上面的示例中,第一个字符 `d` 被转换为二进制 `01100100`。前 6 位是 `011001`,转换为十进制是 `25`。`25` 在 base64 编码索引表中对应着 `Z`。整个输入的文本流都像如此编码。请参阅以下编码过程的示例。
|
||||
|
||||
![Base64 Encode and Decode – inner working][4]
|
||||
|
||||
#### 示例 2:基本解码
|
||||
|
||||
要解码字符串,需要将编码值传递给 base64,选项为 `--decode`,它将输出你之前输入的字符串。
|
||||
|
||||
![bash base64 encode and decode - example 2 (decode the same example)][5]
|
||||
|
||||
#### 示例 3:对文本文件进行编码
|
||||
|
||||
示例 1 中的同一命令也可用于编码文本文件,并将输出重定向到另一个文本文件。方法如下。
|
||||
|
||||
```
|
||||
base64 example3.txt > example3-encoded.txt
|
||||
```
|
||||
|
||||
![Encode a text file][6]
|
||||
|
||||
#### 示例 4:对文本文件进行解码
|
||||
|
||||
要解码使用 base64 编码的文本文件,只需使用 `--decode` 或 `-d` 选项,并传递文本文件名。
|
||||
|
||||
```
|
||||
base64 -d example3-encoded.txt
|
||||
```
|
||||
|
||||
#### 示例 5:对用户输入的数据进行编码
|
||||
|
||||
使用 bash shell 编程,你可以通过终端接收用户的输入,并对其进行 base64 编码。你需要先编写一个简单的 shell 脚本,并在授予可执行权限后执行。
|
||||
|
||||
以下就是一个简单的示例,它从用户那里获得输入,然后进行 base64 编码,最终显示编码的字符串。
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
#Sample program to take input, encode to base64 and display on terminal
|
||||
#Example by www.debugpoint.com
|
||||
echo "Enter text for encoding to base64:"
|
||||
read input_text
|
||||
output_text=`echo -n $input_text | base64`
|
||||
echo "The Base64 Encoded text is: $output_text"
|
||||
```
|
||||
|
||||
![Custom input - base64 encode and decode using script][7]
|
||||
|
||||
#### 示例 6:用 base64 进行简单的身份认证
|
||||
|
||||
你可以运用上述的编码和解码方法,实现一个简单的身份验证系统。你可以让用户输入密码或密码,然后将密码存储在文件中。或者进行实时比较。
|
||||
|
||||
如果存储的编码字符串与用户输入的文本再编码的字符串相匹配,则用户可以通过验证。虽然这是一种检查身份验证的很简单的方法,但有时这对一些简单的业务案例很有用。
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
#Sample program to take input, encode to base64 and display on terminal
|
||||
#Example by www.debugpoint.com
|
||||
echo "Type your password"
|
||||
read pwd1
|
||||
decoded_text=`echo 'U2lsZW5jZSBpcyBnb2xkZW4h' | base64 --decode`
|
||||
if [[ $pwd1 == $decoded_text ]]
|
||||
then
|
||||
echo "You are a valid user."
|
||||
else
|
||||
echo "You are NOT a valid user."
|
||||
fi
|
||||
```
|
||||
|
||||
![A Simple Authentication using bash base64][8]
|
||||
|
||||
### 结论
|
||||
|
||||
我希望你能通过这些示例,学会 [Base64][9] 编码和解码的基础知识。此外,你也了解到 Base64 的内部编码方式。如果这对你很有帮助,或你还需要有关此主题的其他教程,请在下面的评论区中告诉我吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/bash-base64-encode-decode/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[chai001125](https://github.com/chai001125)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/base64example-1024x576.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Index-Table.png
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-1.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Encode-and-Decode-inner-working.png
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-2-decode-the-same-example.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Encode-a-text-file.png
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Custom-input-base64-encode-and-decode-using-script.png
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/A-Simple-Authentication-using-bash-base64.png
|
||||
[9]: https://linux.die.net/man/1/base64
|
@ -0,0 +1,69 @@
|
||||
[#]: subject: "Can Kubernetes help solve automation challenges?"
|
||||
[#]: via: "https://opensource.com/article/22/10/kubernetes-solve-automation-challenges"
|
||||
[#]: author: "Rom Adams https://opensource.com/users/romdalf"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Kubernetes 能否帮助解决自动化挑战?
|
||||
======
|
||||
组织层面的自动化一直是一个难以实现的目标,但 Kubernetes 或许能够改变这一切。
|
||||
|
||||
当我在 2002 年采用 Gentoo Linux 作为我的主要操作系统时,我开始了我的自动化之旅。二十年后,自动化还没有完成。当我与客户和合作伙伴会面时,他们分享了团队内部的自动化胜利,但他们也描述了在组织层面实现类似成功所面临的挑战。
|
||||
|
||||
大多数 IT 组织都能够端到端地配置虚拟机,从而将过去 4 周的交付周期缩短到仅 5 分钟。这种级别的自动化本身就是一个复杂的工作流程,需要网络(IP 地址管理、DNS、代理、网络区域等)、身份访问管理、[hypervisor][2]、存储、备份、更新操作系统、应用最新的配置文件、监控、安全和强化以及合规性基准测试。哇!
|
||||
|
||||
满足高速、可扩展和按需自动化的业务需求并不容易。例如,考虑使用经典的网上商店或在线政府服务来提交纳税申报表。工作负载有明确的峰值需要吸收。
|
||||
|
||||
处理此类负载的一种常见方法是拥有一个超大的服务器集群,以供 IT 专业人员的特定团队使用,监控客户或公民的季节性涌入。每个人都希望及时部署整个栈。他们希望基础架构在混合云场景的上下文中运行工作负载,使用“构建-消耗-垃圾”模型来优化成本,同时从无限弹性中受益。
|
||||
|
||||
换句话说,每个人都想要乌托邦式的“云体验”。
|
||||
|
||||
### 云真的能交付吗?
|
||||
|
||||
一切都没有丢失,这主要归功于 [Kubernetes][3] 的设计方式。 Kubernetes 的指数级采用推动了创新,取代了管理平台和应用的标准传统做法。 Kubernetes 需要使用 Everything-as-Code (EaC) 来定义所有资源的期望状态,从简单的计算节点到 TLS 证书。 Kubernetes 强制使用三种主要的设计结构:
|
||||
|
||||
* 一个标准接口,以减少内部和外部组件之间的整合问题
|
||||
* API 优先及仅 API 的方法来标准化其所有组件的 CRUD(创建、读取、更新、删除)操作
|
||||
* 使用 [YAML][4] 作为通用语言,以简单易读的方式定义这些组件的所有所需状态
|
||||
|
||||
这三个关键组成部分基本上是选择自动化平台的相同要求,至少如果你想让跨职能团队轻松采用。这也模糊了团队之间的职责分工,有助于提高跨孤岛的协作,这是一件好事!
|
||||
|
||||
事实上,采用 Kubernetes 的客户和合作伙伴正在加速进入超自动化状态。 Kubernetes 有机地推动团队采用多种 [DevOps 基础和实践][5],如: EaC、[使用 Git 进行版本控制][6]、同行评审、[文档即代码][7]并鼓励跨职能协作。这些实践有助于提高团队的自动化技能,并帮助团队在处理应用生命周期和基础架构的 GitOps 和 CI/CD 管道方面获得良好的开端。
|
||||
|
||||
### 让自动化成为现实
|
||||
|
||||
你没看错!网络商店或政府报告等复杂系统的整个栈可以用清晰、可理解、通用的术语定义,可以在任何本地或云提供商上执行。可以定义具有自定义指标的自动伸缩器以触发所需栈的即时部署,以解决季节性高峰期间客户或市民的涌入问题。当指标恢复正常,且云计算资源不再有存在的理由时,你将它们回收并恢复常规运营,一组核心资产在本地接管业务,直到下一次激增。
|
||||
|
||||
### 鸡和蛋的悖论
|
||||
|
||||
考虑到 Kubernetes 和云原生模式,自动化是必须的。但它提出了一个重要的问题:一个组织可以在解决自动化战略之前采用 Kubernetes 吗?
|
||||
|
||||
似乎从 Kubernetes 开始可以激发更好的自动化,但这并不是一个定局。工具不是对技能、实践和文化问题的解决方案。但是,设计良好的平台可以成为 IT 组织内学习、变革和跨职能协作的催化剂。
|
||||
|
||||
### 开始使用 Kubernetes
|
||||
|
||||
即使你觉得自己错过了自动化列车,也不要害怕从简单、不复杂的栈上开始使用 Kubernetes。当你[掌握了初始步骤][8],就可以拥抱这个出色的编排器的简单性,并根据更复杂的需求进行迭代。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/10/kubernetes-solve-automation-challenges
|
||||
|
||||
作者:[Rom Adams][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/romdalf
|
||||
[b]: https://github.com/lkxed
|
||||
[2]: https://www.redhat.com/en/topics/virtualization/what-is-a-hypervisor?intcmp=7013a000002qLH8AAM
|
||||
[3]: https://www.redhat.com/en/topics/containers/what-is-kubernetes?intcmp=7013a000002qLH8AAM
|
||||
[4]: https://opensource.com/article/21/9/yaml-cheat-sheet
|
||||
[5]: https://opensource.com/resources/devops
|
||||
[6]: https://opensource.com/life/16/7/stumbling-git
|
||||
[7]: https://opensource.com/article/21/3/devops-documentation
|
||||
[8]: https://opensource.com/article/17/11/getting-started-kubernetes
|
@ -0,0 +1,110 @@
|
||||
[#]: subject: "Install Gedit on Ubuntu 22.10 and Make it Default Text Editor"
|
||||
[#]: via: "https://itsfoss.com/install-gedit-ubuntu/"
|
||||
[#]: author: "Abhishek Prakash https://itsfoss.com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
# 在 Ubuntu 22.10 上安装 Gedit 并将其设为默认文本编辑器
|
||||
|
||||
[GNOME 有一个全新的文本编辑器][1]来取代旧的 Gedit 编辑器。
|
||||
|
||||
虽然 GNOME 42 已经可以使用它,但 Ubuntu 22.04 依赖于 Gedit。
|
||||
|
||||
这在 Ubuntu 22.10 中发生了变化。 GNOME 文本编辑器是默认程序,甚至没有安装 Gedit。
|
||||
|
||||
![搜索文本编辑器只出现 GNOME 文本编辑器][2]
|
||||
|
||||
虽然新编辑器足够好,但并不是每个人都喜欢它。如果你将 Gedit 与其他插件一起频繁使用,则尤其如此。
|
||||
|
||||
如果你属于这些人,让我向你展示如何在 Ubuntu 上安装 Gedit。我还将分享如何将其设为默认文本编辑器。
|
||||
|
||||
### 在 Ubuntu 上安装 Gedit
|
||||
|
||||
这实际上是不费吹灰之力的。虽然默认未安装 Gedit,但它仍然可以在 Ubuntu 仓库中找到。
|
||||
|
||||
所以,你所要做的就是使用 apt 命令来安装它:
|
||||
|
||||
```
|
||||
sudo apt install gedit
|
||||
```
|
||||
|
||||
Gedit 也可以在软件中心中找到,但它是 snap 包。如果你愿意,你可以安装它。
|
||||
|
||||
![Gedit 也可以在 Ubuntu 的 Snap 商店中找到][3]
|
||||
|
||||
#### 安装 Gedit 插件(可选)
|
||||
|
||||
默认情况下,Gedit 为你提供访问一些插件的选项。你可以从 menu->preference->plugins 启用或禁用插件。
|
||||
|
||||
![在 Gedit 中访问插件][4]
|
||||
|
||||
你可以在这里看到可用的插件。检查已安装或正在使用的插件。
|
||||
|
||||
![查看 Gedit 中可用和已安装的插件][5]
|
||||
|
||||
但是,你可以通过安装 gedit-plugins 元数据包将插件选择提升到一个新的水平。
|
||||
|
||||
```
|
||||
sudo apt install gedit-plugins
|
||||
```
|
||||
|
||||
这将使你可以访问其他插件,如书签、括号补全、Python 控制台等。
|
||||
|
||||
![其他 Gedit 插件][6]
|
||||
|
||||
**提示**:如果你发现 Gedit 因缺少底角而显得有些格格不入,你可以安装一个名为 [Round Bottom Corner][7] 的 GNOME 扩展。这将为包括 Gedit 在内的所有应用强制圆底角。
|
||||
|
||||
### 使 Gedit 成为默认文本编辑器
|
||||
|
||||
好了!你已经安装了 Gedit,但文本文件仍然在双击操作后使用 GNOME 文本编辑器打开。要使用 Gedit 打开文件,你需要右键单击,然后选择“打开方式”选项。
|
||||
|
||||
如果你希望一直使用 Gedit 打开文本文件,你可以将其设置为默认程序。
|
||||
|
||||
右键单击文本文件并选择“打开方式”选项。在此处选择 Gedit 并从底部启用“始终用于此文件类型”选项。
|
||||
|
||||
![设置 Gedit 为默认文本编辑器][8]
|
||||
|
||||
### 删除 Gedit
|
||||
|
||||
觉得 Gedit 没达到预期么?这很少见,但我不会评判你。要从 Ubuntu 中删除 Gedit,请使用以下命令:
|
||||
|
||||
```
|
||||
sudo apt remove gedit
|
||||
```
|
||||
|
||||
你也可以尝试从软件中心卸载它。
|
||||
|
||||
### 总结
|
||||
|
||||
GNOME 文本编辑器是下一代从头开始创建的编辑器,它与新的 GNOME 完美融合。
|
||||
|
||||
对于简单的文本编辑来说已经足够了。然而,Gedit 有一个插件生态系统,赋予它更多功能。
|
||||
|
||||
对于那些将它广泛用于编码和其他事情的人来说,安装 Gedit 仍然是 Ubuntu 中的一个选项。
|
||||
|
||||
那你呢?你会坚持使用默认的新文本编辑器还是回到旧的 Gedit?
|
||||
|
||||
---
|
||||
|
||||
via: https://itsfoss.com/install-gedit-ubuntu/
|
||||
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者 ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://itsfoss.com/gnome-text-editor/
|
||||
[2]: https://itsfoss.com/wp-content/uploads/2022/10/text-editor-ubuntu.png
|
||||
[3]: https://itsfoss.com/wp-content/uploads/2022/10/install-gedit-from-ubuntu-software-center.png
|
||||
[4]: https://itsfoss.com/wp-content/uploads/2022/10/access-plugins-in-gedit.png
|
||||
[5]: https://itsfoss.com/wp-content/uploads/2022/10/plugins-in-gedit.png
|
||||
[6]: https://itsfoss.com/wp-content/uploads/2022/10/additional-plugins-gedit.png
|
||||
[7]: https://extensions.gnome.org/extension/5237/rounded-window-corners/
|
||||
[8]: https://itsfoss.com/wp-content/uploads/2022/10/set-gedit-default.png
|
@ -0,0 +1,197 @@
|
||||
[#]: subject: "10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]"
|
||||
[#]: via: "https://www.debugpoint.com/things-to-do-ubuntu-22-10/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "chai001125"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
安装 Ubuntu 22.10 后要做的 10 件事
|
||||
======
|
||||
|
||||
**以下是我们安装 Ubuntu 22.10 “Kinetic Kudu”(GNOME 版)后,推荐做的 10 件事列表。**
|
||||
|
||||
![][1]
|
||||
|
||||
Ubuntu 22.10 带来了很多令人兴奋的新功能,例如 GNOME 43、最新的内核、重新设计的托盘菜单、文件功能和 Pipewire 等 [新功能][2]。
|
||||
|
||||
我相信你已经迫不及待地想尝试 Ubuntu 22.10 上的这些新功能了。
|
||||
|
||||
但是请先等一等。
|
||||
|
||||
在你前往享受你新安装的 Ubuntu 22.10 之前,我要向你推荐一个不容错过的 Ubuntu 定制技巧列表。
|
||||
|
||||
### 安装 Ubuntu 22.10 后要做的 10 件事
|
||||
|
||||
#### 1、更新你的系统
|
||||
|
||||
安装好 Ubuntu 22.10 后,第一件要做的事就是更新你的系统。因为时差的原因,最新的 ISO 镜像通常不会包括所有的系统更新。所以,你要打开一个终端窗口,并运行以下命令,来更新你的系统。
|
||||
|
||||
```
|
||||
sudo apt update && sudo apt upgrade
|
||||
```
|
||||
|
||||
上述命令执行完成后,你就可以进行下一步啦。
|
||||
|
||||
#### 2、删除 Firefox Snap,并安装 Flatpak 或者 deb 版本的 Firefox
|
||||
|
||||
自去年发布的 Ubuntu 21.10 版本以来,默认的网页浏览器 Firefox 开始以 Snap 软件包的形式出现。如果你是普通用户,这可能不是一个问题或者需要担心的事情。但是出于几个原因,例如 Snap 软件包的 Firefox 启动时间较长、且当 Firefox 有后端更新时,会有不必要的 Snap 更新通知等等原因,导致许多用户不太喜欢 Firefox 的 Snap 软件包。
|
||||
|
||||
因此,你可以按照 [我写的另一篇操作指南][3],来完全删除 Firefox 的 Snap 软件包。这一过程有点复杂,需要花费一点时间。删除完成后,再从个人软件包存档(PPA)安装 deb 版本的 Firefox,或者使用 [Flatpak 版本][4] 的 Firefox。
|
||||
|
||||
这是一个可选的动作,你也可以跳过这一步骤。
|
||||
|
||||
#### 3、安装并启用 Flatpak
|
||||
|
||||
虽然,几乎所有最近的 linux 发行版都会默认安装 Flatpak,但是 Ubuntu 并没有默认安装 Flatpak,这是因为 Ubuntu 使用了它自己的沙箱技术 Snap。
|
||||
|
||||
但 Flatpak 这一应用程序还是最适合于每个人。Flatpak 能够帮助你快速安装多个应用程序,并在使用过程中无需担心依赖性和其他事情。
|
||||
|
||||
大多数 Flatpak 应用程序都在集中的仓库 @ Flathub 中。
|
||||
|
||||
要在 Ubuntu 22.10 中启用 Flatpak 应用程序,请按照以下命令进行操作。
|
||||
|
||||
```
|
||||
sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot
|
||||
```
|
||||
|
||||
如果你想进一步了解关于此安装过程的更多信息,请阅读我们不久前发布的 [指南][5]。
|
||||
|
||||
#### 4、查看隐私设置
|
||||
|
||||
我建议你在安装 Ubuntu 后,手动退出任何数据收集项。大家都知道,无论怎么努力尝试,在互联网上保护自己的隐私都很困难。因此,这些小步骤很重要。
|
||||
|
||||
要配置隐私项,请打开设置并选择**隐私**。然后查看隐私菜单下列出的项目。
|
||||
|
||||
此外,请确保禁用对 Ubuntu 服务器的后端报告。需要运行以下命令来手动禁用,因为在设置中没有禁用它的选项。
|
||||
|
||||
```
|
||||
sudo ubuntu-report -f send no
|
||||
```
|
||||
|
||||
![Turn off location services in Ubuntu 22.10][6]
|
||||
|
||||
#### 5、探索 GNOME 43 的功能
|
||||
|
||||
在 Ubuntu 22.10 版本中,最具视觉和功能性的变化是 GNOME 43。因为 GNOME 43 有一些根本性和核心变化,所以它会影响每个人和他们的工作。GNOME 43 带来了一个新的药丸形状的托盘菜单,并更新了具有文件和 GNOME Web 等新功能的原生应用程序。
|
||||
|
||||
请查看更为详细的 [GNOME 43 功能][7] 一文,以了解更多信息,或者你也可以自己探索 GNOME 43。
|
||||
|
||||
![Quick Settings Demo in GNOME 43][8]
|
||||
|
||||
#### 6、确保音频与 Pipewire 配合使用
|
||||
|
||||
如果你经常使用音频,或者你的工作范围涉及到声音捕获、播放等内容,请确保在 Ubuntu 22.10 中,你的音频在有线或蓝牙情况下都能正常工作。
|
||||
|
||||
因为 Ubuntu 22.10 这个版本中的音频服务器是多年来第一次发生了变化,传统的 PulseAudio 被现代的 Pipewire 所取代。因此,请务必进行验证音频是否能正常使用。
|
||||
|
||||
#### 7、安装其他软件包
|
||||
|
||||
确保你可以在 Ubuntu 桌面上,播放所有视频和音频格式是很重要的。如果你在设置期间跳过了额外的软件包安装,可以通过以下命令进行安装。
|
||||
|
||||
```
|
||||
sudo apt install ubuntu-restricted-extras
|
||||
```
|
||||
|
||||
这可以解决 Ubuntu 中的任何视频或音频的播放问题,特别是 GNOME 视频无法播放的情况(因为GNOME 视频在默认情况下将无法播放任何内容)。
|
||||
|
||||
#### 8、安装基本的应用程序
|
||||
|
||||
带有 GNOME 的基础 Ubuntu 版本只有非常基本的应用程序。因此,在你使用 Ubuntu 之前,你需要安装一些其他必要的应用程序。
|
||||
|
||||
由于每个人的工作范围不同,每个人所需的应用程序也都不同。因此,在这里我仅提供一个通用的应用程序的列表,我认为你可以把这些应用程序都安装上,因为这些应用程序对所有人来说都很常用。
|
||||
|
||||
- GIMP – 进阶的照片编辑器
|
||||
- VLC – 无需额外编解码器即可播放任何内容的媒体播放器
|
||||
- Leafpad – 轻量级文本编辑器(甚至比默认的文本编辑器 gedit 还要更轻量级)
|
||||
- Synaptic – 更好的软件包管理器
|
||||
|
||||
安装这些应用程序的命令:
|
||||
|
||||
```
|
||||
sudo apt install -y gimp vlc leafpad synaptic
|
||||
```
|
||||
|
||||
#### 9、获取一些 GNOME 扩展
|
||||
|
||||
你可以使用几个很酷的扩展程序,来扩展 GNOME 43 的功能,包括自定义顶部栏、托盘、更改 adwaita 外观等等。首先,使用下面的命令通过 Flatpak 来安装 GNOME 扩展管理器。
|
||||
|
||||
```
|
||||
flatpak install flathub com.mattjakeman.ExtensionManager
|
||||
```
|
||||
|
||||
安装完成后,你就可以在 GNOME 扩展管理器中搜索你想要的任何扩展了。以下是一些必要扩展,你可以用它们来快速扩展 GNOME 43 的功能,我认为它们非常适合你全新的 Ubuntu 桌面。你只需在扩展管理器应用程序中,搜索这些名称即可。
|
||||
|
||||
- Caffeine
|
||||
- Custom Hot Corners
|
||||
- Dash to Dock
|
||||
- Blur my shell
|
||||
- Gradients
|
||||
- Hide Activities Button
|
||||
- Net speed simplified
|
||||
|
||||
#### 10、准备备份
|
||||
|
||||
我们总是在我们遇到困难时,才觉得有必要备份。所以,请确保从一开始你就为备份做好了准备。理想的备份应用程序是 Timeshift,它很容易安装和使用。
|
||||
|
||||
以下是你可以从终端安装 Timeshift 的一组命令。安装完成后,你可以打开 Timeshift,并按照屏幕上的说明,设置备份了。
|
||||
|
||||
```
|
||||
sudo add-apt-repository -y ppa:teejee2008/ppasudo apt-get updatesudo apt-get install timeshift
|
||||
```
|
||||
|
||||
### 额外小贴士
|
||||
|
||||
如果你想进一步定制你新安装的 Ubuntu 系统,以下是一些额外的小贴士。
|
||||
|
||||
#### 安装漂亮的字体
|
||||
|
||||
字体是一个很小却影响很大的设置项。虽然,Ubuntu 自带有好用的“Ubuntu regular”字体。
|
||||
|
||||
但是,你也可以从 Ubuntu 的官方仓库中安装一些其他漂亮的字体。以下是安装字体的一些命令。
|
||||
|
||||
```
|
||||
sudo apt install fonts-roboto fonts-cascadia-code fonts-firacode
|
||||
```
|
||||
|
||||
安装完成后,你可以使用 [GNOME Tweak 工具][9],来更改字体。
|
||||
|
||||
#### 安装 TLP
|
||||
|
||||
如果你经常使用笔记本电脑,那么你要好好爱惜电脑的电池。虽然电池用久了总是会损坏的,但你可以采取一些步骤,来减缓电池的老化。TLP 是 Linux 中自动优化电池使用、减缓电池老化的最好的程序之一。你可以使用以下命令来安装 TLP。
|
||||
|
||||
```
|
||||
sudo apt install tlp
|
||||
```
|
||||
|
||||
我建议你将电池的电量始终保持在 50% 至 80% 之间。不要过度充电或让电池电量消耗到 50% 以下,也不要给电脑连续插电。
|
||||
|
||||
### 总结
|
||||
|
||||
以上就是安装桌面 Ubuntu 22.10 后要做的 10 件事啦。
|
||||
|
||||
我希望这篇文章会对你有帮助,你能够通过本文的方法来定制和调整你的 Ubuntu 桌面。那么你认为在安装好 Ubuntu 后,什么事是最推荐做的呢?请在评论区中告诉我吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/things-to-do-ubuntu-22-10/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[chai001125](https://github.com/chai001125)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/u2210-things-hd-1024x576.jpg
|
||||
[2]: https://www.debugpoint.com/ubuntu-22-10/
|
||||
[3]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/
|
||||
[4]: https://flathub.org/apps/details/org.mozilla.firefox
|
||||
[5]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Turn-off-location-services-in-Ubuntu-22.10.jpg
|
||||
[7]: https://www.debugpoint.com/gnome-43/
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/Quick-Settings-Demo-in-GNOME-43.gif
|
||||
[9]: https://www.debugpoint.com/customize-your-ubuntu-desktop-using-gnome-tweak/
|
@ -0,0 +1,144 @@
|
||||
[#]: subject: "How to Install Python 3.10 in Ubuntu and Other Related Linux"
|
||||
[#]: via: "https://www.debugpoint.com/install-python-3-10-ubuntu/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
如何在 Ubuntu 和其他相关 Linux 中安装 Python 3.10
|
||||
======
|
||||
|
||||
**计划为工作安装 Python 3.10?以下是在 Ubuntu 和相关发行版中安装 Python 3.10 的方法。**
|
||||
|
||||
Python 3.10 于 2021 年 10 月 25 日发布,具有附加功能和更新。此版本带来了更好的错误消息处理、新的模式匹配功能、TypeAlias、用户定义的类型保护等。你可以在[此处][1]阅读发布亮点。
|
||||
|
||||
在编写本指南时,大多数当前发行版都采用 Python 3.10。例如,Ubuntu 22.04 LTS 和 Fedora 36 默认都有 Python 3.10。
|
||||
|
||||
也就是说,如果你现在需要任何不支持的版本中的 Python 3.10,你可以使用[下面的可靠 PPA][2]在 Ubuntu 中安装最新的 Python 3.10。下面是方法。
|
||||
|
||||
### 如何在 Ubuntu 上安装 Python 3.10
|
||||
|
||||
此 PPA 可用于 Ubuntu 21.10、Ubuntu 21.04、Ubuntu 20.04 LTS、Ubuntu 18.04 LTS 和 Linux Mint 20.x、Elementary OS 6 和其他相关的基于 Ubuntu 的发行版。大多数默认情况下不支持 3.10。
|
||||
|
||||
- 打开终端并添加以下 PPA。
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||
```
|
||||
|
||||
- 使用以下命令刷新缓存。
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
- 并使用以下命令安装 Python 3.10。
|
||||
|
||||
```
|
||||
sudo apt install python3.10
|
||||
```
|
||||
|
||||
### 设置 Python 版本
|
||||
|
||||
将 Python 3.10 设置为默认值需要一些额外的步骤。请跟上。
|
||||
|
||||
**警告**:你的 Ubuntu 系统中的许多应用程序依赖于 Python 3.9 的库存版本。因此,请确保你的工作应用(例如 GIMP、GNOME 终端等)与 Python 3.10 兼容。所以,要小心。
|
||||
|
||||
**快速提示:** 如果要检查已安装的系统包中的哪些依赖于特定版本,请使用 `apt-cache` 命令的 `rdepends` 开关。在下面的示例中,我检查哪些已安装的包依赖于 Python 3.8。
|
||||
|
||||
```
|
||||
apt-cache rdepends python3.8
|
||||
```
|
||||
|
||||
```
|
||||
[~]$ apt-cache rdepends python3.8
|
||||
python3.8
|
||||
Reverse Depends:
|
||||
python3.8-dbg
|
||||
virtualbox
|
||||
python3.8-venv
|
||||
python3.8-full
|
||||
libpython3.8-testsuite
|
||||
libglib2.0-tests
|
||||
idle-python3.8
|
||||
idle-python3.8
|
||||
python3.8-minimal
|
||||
python3.8-doc
|
||||
python3.8-dev
|
||||
python3.8-dbg
|
||||
python3-uno
|
||||
gedit
|
||||
virtualbox
|
||||
stimfit
|
||||
python3.8-venv
|
||||
python3-stfio
|
||||
python3-escript-mpi
|
||||
python3-escript
|
||||
python3-csound
|
||||
pitivi
|
||||
obs-studio
|
||||
liferea
|
||||
libpython3.8-testsuite
|
||||
libglib2.0-tests
|
||||
kitty
|
||||
kdevelop-python
|
||||
idle-python3.8
|
||||
idle-python3.8
|
||||
rhythmbox-plugins
|
||||
python3.8-minimal
|
||||
python3.8-doc
|
||||
python3.8-dev
|
||||
python3
|
||||
python3-uno
|
||||
python3-all
|
||||
cluster-glue
|
||||
gedit
|
||||
[~]$
|
||||
```
|
||||
|
||||
#### 使用 Python 3.10 作为默认 Python3
|
||||
|
||||
- 首先,使用终端中的以下命令检查当前默认版本。
|
||||
|
||||
```
|
||||
python3 --version
|
||||
```
|
||||
|
||||
- 使用 `update-alternatives` 创建指向 python3 的符号链接。
|
||||
|
||||
```
|
||||
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
|
||||
```
|
||||
|
||||
```
|
||||
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
|
||||
```
|
||||
|
||||
- 并通过以下命令选择使用哪一个作为 Python3:
|
||||
|
||||
```
|
||||
sudo update-alternatives --config python3
|
||||
```
|
||||
|
||||
![在 Ubuntu 中安装 Python 3.10][3]
|
||||
|
||||
这就是所有步骤。现在,你可以开始在当前的 Ubuntu 版本中使用最新的 Python 进行工作/学习。你可以使用上述命令切换到库存版本并在任何时间更改版本号。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/install-python-3-10-ubuntu/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://docs.python.org/3.10/whatsnew/3.10.html
|
||||
[2]: https://github.com/deadsnakes
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2021/10/Installed-Python-3.10-in-Ubuntu-1024x472.jpeg
|
Loading…
Reference in New Issue
Block a user