Arindam 发布的文章

以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “sudo command not found” 错误的方法。

有时,当你第一次设置或安装 Linux 发行版 时,你在用 sudo 尝试一些命令时,会出现 “sudo command not found” 的错误。

sudo 命令是 “superuser do” 的缩写,它是一个允许用户以管理员权限执行命令的程序。sudo 命令帮助你像管理员用户一样运行程序/命令。

此外,用 sudo 运行命令的用户必须是 sudo 组的一部分。

你看到这个错误的主要原因是该软件包本身没有安装。然而,大多数现代 Linux 发行版都默认提供了这个功能,但有些则没有。

下面是解决这个问题需要遵循的步骤。

故障排除 #1

首先,安装 sudo 包来解决这个问题。打开一个终端,刷新你的系统,并运行以下命令来安装 sudo

对于 Ubuntu、Debian 和相关发行版:

su -apt updateapt install sudo

对于 Arch Linux:

pacman -S sudo

对于 Fedora、RHEL 等:

su -dnf updatednf install sudo

上述安装完成后,你必须使用以下命令将用户添加到 sudo 组中。

usermod -aG sudo <yourusername>

然后从终端运行 visudo,并运行以下行。按 CTRL+OCTRL+X 来保存和退出。

使用 visudo 更新 sudoers 文件

退出并再次登录使变化生效。

故障排除 #2

在做了上述改变之后,如果你仍然收到错误信息,那么请按照以下步骤操作。

确保你的 $PATH 变量包含 sudo 可执行文件的正确路径。如果 sudo 已经安装,但 $PATH 不正确,你也会得到这个错误。理想情况下,你的路径应该包含以下所有的路径。

echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

要改变路径变量,使用以下命令。例如,如果 /usr/bin 不存在,那么你可以通过以下方式添加它。

export PATH=$PATH:/usr/bin

然后注销并登录查看效果。

总结

我希望这个指南能帮助你解决 Linux 发行版中的 sudo 错误。表面上的解决方案很简单,真的。

如果有帮助,或者如果你有任何问题,请在下面留言。

参考

via: https://www.debugpoint.com/sudo-command-not-found/

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

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

在 Ubuntu 和其他 Linux 中安装最新的 LibreOffice 版本的快速指南。

自由开源的办公套件 LibreOffice 有两个版本:社区版和企业版。“社区” 版是为那些希望获得最新的尖端软件技术的早期采用者准备的。而 “企业” 版本更加稳定,可能不包括所有的最新功能,但它是生产环境和专业工作的理想选择。

在 Ubuntu 和其他 Linux 中安装最新的 LibreOffice

1、删除预安装的 LibreOffice

Ubuntu 和其他的 Linux 发行版带有预安装的 LibreOffice。这可能不是最新的,这是因为发行版有特定的发行周期。在进行新安装之前,你可以通过以下命令删除 Ubuntu 及其衍生发行版中的的旧版本。

打开一个终端并运行以下命令,以删除 Ubuntu 和相关发行版中的已安装的 LibreOffice。对于其他发行版,你可以使用发行版的软件包管理器将其删除。

sudo apt remove –purge libreoffice*
sudo apt autoclean
sudo apt autoremove

然后重启以确保一切正常(尽管你也可以跳过这一步)。

2、从网站上下载安装

前往 官方下载页面. 并通过从下拉菜单中选择类型下载 “最新的” 版本。对于 Ubuntu 和其他衍生产品,请选择 .deb 文件。

LibreOffice download and install from official website

下载后,提取文件;你应该看到下面的所有软件包。

Extracted LibreOffice DEB files

在提取文件的位置打开终端,并按顺序运行以下命令。首先,你需要安装 ure 包,其次是核心包,然后是所有的基本包。最后,就是主要的 LibreOffice 软件包。下面是一组典型的命令。你需要更改为具体版本的版本号。

sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb
sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb
sudo dpkg -i libobasis7.0*
sudo dpkg -i libreoffice7.0*

如果你使用的是 Fedora Linux 或 Red Hat Linux,请按照上述相同的顺序使用 dnf 命令

Install LibreOffice via dpkg

等待安装完成。完成后,你可以通过应用程序菜单找到 LibreOffice。

Latest LibreOffice in Menu

这应该完成安装最新 LibreOffice 的步骤。如果你不想遵循上述方法,请参阅以下选项。

通过 PPA 安装

如果你想通过 PPA 安装它,请按照以下步骤操作。确保在上面的第 1 步中删除现有的 LibreOffice。

sudo add-apt-repository ppa:libreoffice/ppa

最后,运行以下命令从这个官方 PPA 安装最新的 LibreOffice 5.4 系列。

sudo apt update
sudo apt install libreoffice

安装后,你可以通过 Dash 搜索启动 LibreOffice。

LibreOffice 5.4.2 Running in Ubuntu

通过 Snap 和 Flatpak 安装

如果你是 Linux 用户,你可以尝试 LibreOffice 独立的可执行文件,它在 Snap 或 Flatpak 等沙箱中运行。

要通过 Flatpak 安装 LibreOffice ,请访问 这个页面 进行设置,然后运行以下命令进行安装:

flatpak install flathub org.libreoffice.LibreOffice

同样,对于 Snap 版本,使用以下命令进行安装:

sudo snap install libreoffice

如何升级到最新的 LibreOffice 版本?

如果你不想删除 LibreOffice 但想升级到最新版本,请阅读我们下面的完整指南。

在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice

如果你在安装最新的 LibreOffice 时遇到问题,请随时留言。


via: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/

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

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

我们点评了为程序员和开发人员提供的十大最佳 Linux 发行版(2022 版),以帮助他们完成工作和个人项目。

程序员和开发人员在其工作或项目中会使用各种工具和应用程序,包括代码编辑器、编程语言编译器、附加组件、数据库等。如果你对现代开发者的工作流程进行分类,它包含以下典型的工作流程:

  • 访问代码库
  • 编程
  • 调试
  • 测试
  • 部署

而这种典型的工作流程可能需要各种工具。一个标准的清单可能是这样的:

  • 代码编辑器
  • 简单的文本编辑器
  • 网页浏览器(网页开发者需要所有变体)
  • 数据库引擎
  • 一个本地服务器
  • 编程语言相应的编译器
  • 调试器
  • 监测或剖析工具(可执行文件或网络版)

可以说,与 Windows 相比,Linux 是编程的最佳选择。(出于几个原因,我在本文中不对 macOS 进行比较。)Linux 是最佳选择的主要原因是,与 Windows 相比,在 Linux 发行版中已经预装具有现代技术的软件包和应用程序,或非常容易安装。

因此,在这篇文章中,我们想列出 2022 年最适合程序员的 Linux 发行版。

2022 年适合程序员的十大 Linux 发行版

1、Fedora Workstation

Fedora 35 Workstation

也许这个名单中最完美的 Linux 发行版是 Fedora Linux。它用于桌面的默认 Workstation 版通过其选择的软件包带来了正宗的 GNOME 桌面体验。

Fedora Linux 的默认安装为你提供了所有主要的开发包,开箱即用。它们包括 PHP、OpenJDK、PostgreSQL、Django、Ruby on Rails、Ansible 等。

通过 dnf 软件包管理器安装更多的应用程序是非常简单的,如 VS Code 编辑器和其他软件包。你也可以借助“ 软件 Software ”应用来安装,这是一个应用商店,你只需点击一个按钮就可以搜索和安装应用程序。

Fedora Linux 支持 Snap 和 Flatpak,这给了你更多的灵活性。你也可以利用 Fedora 中的 RPM Fusion 仓库,这个仓库让你可以访问许多自由和非自由的软件包。由于许可证和其他明显的原因,Fedora Linux 不想在他们的主仓库中包括这些包。

你可以在下面的官网上查看最新的 Fedora Linux。

下载 Fedora

2、Ubuntu Linux

Ubuntu 桌面是一个适合程序员的完美的Linux发行版

本列表中的第二个 Linux 发行版是 Ubuntu Linux。Ubuntu Linux 是目前在服务器和桌面上使用最多的 Linux 发行版。Ubuntu 提供长期支持(LTS)版本,有五年的官方支持(另外还有五年的维护支持),期间还有短期支持版本供高级用户使用。

由于它很流行,所有最新的软件包和应用程序供应商都提供 Ubuntu(.deb)版本。因其流行,也带来了论坛和文档的大量支持,这对开发者来说是完美的,特别是当你在开发阶段被错误困住的时候。在下面的链接中了解更多关于 Ubuntu 的信息。

下载 Ubuntu

3、openSUSE

openSUSE 是全球在关键系统中使用的最稳定和最专业的 Linux 发行版之一。这个 Linux 发行版是企业级工作负载的首选解决方案之一,包括台式机、服务器和瘦客户机。

它比 Ubuntu 和 Fedora 有一些优势。首先,它有两个变种:Leap 和 Tumbleweed。openSUSE Leap 是一个长期支持版本(LTS),提供最新的稳定性。openSUSE Tumbleweed 是一个滚动发布的软件,提供尖端的软件包。

如果你的开发需要最新的软件包和硬件支持,那么 Tumbleweed 就是你的选择。如果你需要稳定性和一个运行时间较长、维护量较小的系统,请选择 openSUSE Leap。

使用 openSUSE 进行开发工作的优势之一是其软件包管理器 YaST。使用 YaST 软件包管理器,你可以轻松地将许多事情自动化。

除此之外,openSUSE 的软件交付方式也很出色。它的软件门户在网上,你可以访问它,搜索一个软件包,然后点击安装。

如果与新用户相比,你对 Linux 有一定的经验,请选择 openSUSE 进行开发工作。

下载 openSUSE

4、Manjaro Linux

Manjaro Linux 是一个基于 Arch Linux 的发行版,它使 Arch 的安装变得简单。它基于 Arch Linux,但带来了一些功能,如像 Ubuntu 或 Linux Mint 那样的图形化安装程序、 pamac 安装程序、精心策划的软件仓库等。Manjaro 有三种主要的桌面风格:GNOME、KDE Plasma 和 Xfce,可以满足几乎所有用户的需求。

如果你想用 Arch Linux 和它的滚动发布包来满足你的开发需求,但又不想陷入安装原生 Arch 的麻烦,Manjaro 是你的完美选择。

下载 Manjaro

5、Arch Linux

虽然 Manjaro 和其他基于 Arch 的易于安装的 Linux 发行版已经出现,但你可能还是想用 原生 Arch 来亲手定制你的桌面。

这更多的是针对那些想要更多控制权和为项目或需求建立自定义 Linux 操作系统的资深开发者或程序员。在这些情况下,你可能想用你最喜欢的桌面安装 Arch Linux 来设置你的开发操作系统。

假设你对 Arch Linux 和计算机有一定的经验。在这种情况下,这是所有选择中最好的,因为它可以让你完全控制定制的 Linux 操作系统中的每个软件包。

下载 Arch Linux

6、Pop OS

Pop OS(写作 Pop!\_OS )是由计算机制造商 System76 为其系列硬件开发的。Pop OS 是自由开源的,基于 Ubuntu。它遵循 Ubuntu 的发布周期,同时带来额外的调整,以及为用户定制的软件包。

Pop OS 21.10 桌面 Linux 发行版

Pop OS 是程序员的完美选择,因为它原生支持许多 Ubuntu 支持的编程语言。它因其打造的软件中心而在计算机科学家和程序员中广受欢迎,该软件中心有一个专门的部分介绍开发和编程的应用程序。

除此之外,Pop OS 中的 COSMIC 桌面(一个定制的 GNOME 桌面)为程序员提供了独特的体验,包括自动平铺、可爱的调色板、原生的深色模式和丰富的设置。

如果你需要一个基于 Ubuntu、稳定的、并对程序员友好的 Linux 发行版,那么请选择 Pop OS。

下载 POP OS

7、KDE Neon

如果你是一个很习惯 KDE Plasma 桌面的开发者,并且想要一个基于 Qt 的开发环境,那么 KDE Neon 就非常适合你。

KDE Neon 是一个基于 Ubuntu LTS 版本的 Linux 发行版,带有最新的 KDE Plasma 桌面和 KDE 框架包。因此,在 KDE Neon 中,你可以得到 Ubuntu LTS 的稳定性和带有 Qt 的最新 KDE 软件包。

如果你需要一个拥有开箱即用的应用程序的快速系统、一个友好的用户界面和巨大的社区支持,这是一个完美的 Linux 发行版。

下载 KDE Neon

8、Debian

Debian GNU/Linux 无需介绍。Debian 的稳定分支是 Ubuntu 及其所有衍生品的基础。因此,它是主要和稳定的 Linux 之一。它是你的开发环境的完美选择,因为它为你提供了终极稳定性和多年的支持。

不过,Debian 的稳定分支在采用最新软件包方面略显保守。Debian 的维护者会仔细检查和合并软件包,因为整个世界(嗯,几乎)都依赖于 Debian 的稳定性。

对于高级用户和系统管理员来说,如果你想要一个稳定的、长期运行的开发环境,并且维护工作量较少,那么它是一个完美的编程环境。

下载 Debian Linux

9、Kali Linux

Kali Linux 是由 Offensive Security 开发的,主要针对寻找网络漏洞的道德黑客和渗透测试人员。它预装了大量的黑客工具和应用程序。

如果你有足够的经验,它可以成为程序员和开发人员的一个完美的 Linux 发行版。如果你对 Linux 很熟悉,并且在处理错误和依赖关系方面有一定的经验,就可以选择 Kali Linux。

下载 Kali Linux

10、Fedora 实验室

而这个名单上的最后一个 Linux 发行版是 Fedora Linux 的发行版组合。

Fedora 实验室 Labs 为程序员、科学家和学生提供了专门策划的 Linux 发行版,并预装了应用程序、相应的软件包和实用程序。很多人都不知道这些,如果配置得当,它们可以作为完美的现成 Linux 发行版为你服务。

下面是对它们的总结:

Fedora 科学

  • 科学和数值开源工具与 KDE Plasma 桌面的结合
  • 应用列表包括:

    • 用于 C/C++ 的 GNU 科学库
    • 与 MATLAB 兼容的 MGNU Octave
    • LaTeX
    • Maxima 计算机代数系统
    • 用于绘制二维和三维图形的 Gnuplot
    • 用于数据科学的 Pandas Python 库
    • IPython
    • 用于 Java 和 R 编程语言的软件包
  • 关于 Fedora 科学,在此下载 和了解更多。

Fedora 计算神经科学

  • 带有 GNOME 桌面环境的开源神经科学应用程序和软件包。
  • 了解更多并 在此下载

Fedora 机器人套件

  • 这个完美的 Linux 发行版结合了最好的开源机器人应用程序和软件包,针对初级和经验丰富的机器人科学家和程序员。
  • 了解更多并 在此下载

来自 Fedora Linux 的其他解决方案包括 Fedora 安全实验室Fedora 天文学Fedora Python 教室,你或许想看看这些解决方案。

这些 Fedora 实验室选项可以成为编程项目或在特定科学领域工作的完美 Linux 发行版。

总结

那么,你如何在这份最适合程序员的 Linux 发行版名单中选择你的最爱?

如果你不确定,并希望以最小的努力来建立和运行一个开发系统,那就选择 Fedora Workstation 或 Ubuntu。

如果你有空闲时间,或者想对你的系统有更多的控制,喜欢做实验,对偶尔出现的错误也不在意,那么就选择基于 Arch Linux 的系统。

对于刚进入 Linux 生态系统的新开发者来说,Pop OS 也是一个不错的选择。对于特定的需求,请到 Fedora 实验室选择。

我希望这份 2022 年最适合程序员的 Linux 发行版清单能给你一些指导,让你选择最喜欢的 Linux 发行版进行编程和开发。

干杯。


via: https://www.debugpoint.com/top-linux-distributions-programmers-2022/

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

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

以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “bash: wget command not found” 的错误。

著名的 wget 工具被用来通过终端从 URL 下载任何文件。它是 Linux 终端中最流行和最快速的工具之一。

作为一个 GNU 工具,wget 带来了一些奇妙的功能。你可以实现各种目的,如从网上提取信息、下载文件、暂停/恢复等。

然而,许多 Linux 发行版 在默认安装时并没有附带这个工具。因此,当你想用 wget 下载一些文件时,你会得到 wget 命令未找到的错误。

修复它其实很容易。

修复 wget 命令未找到

你所需要做的就是打开终端,运行以下命令来安装 wget

对于 Ubuntu、Linux Mint、elementaryOS、Debian 和相关发行版:

sudo apt install wget

Arch Linux:

pacman -S wget

对于 Fedora(虽然它默认包括):

sudo dnf install wget

安装后,你就可以使用 wget 程序了。你也可以通过检查其版本来验证它是否正确安装。

wget --version

如何使用 wget

下面是一些关于如何使用 wget 的例子。

命令的语法如下:

wget [选项]… [URL]…

例如,如果我想下载 Ubuntu 的 ISO 文件,那么我可以运行下面的命令,用 URL 直接下载。

wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso

如何使用 wget 的例子

同样,你也可以使用上述命令下载,或者,通过下面描述的几个开关组合。你也可以通过 wget --help 命令得到这个:

  • -t, --tries=NUMBER 设置重试次数为 NUMBER(0 为不限)
  • --retry-connrefused 即使连接被拒绝,也要重试
  • --retry-on-http-error=ERRORS 逗号分隔的 HTTP 错误列表,以便重试
  • -O, --output-document=FILE 将文件写入 FILE
  • --nc, --no-clobber 跳过那些会下载到现有文件的下载(即覆盖它们)
  • --no-netrc 不要试图从 .netrc 中获取证书
  • -c, --continue 继续已部分下载的文件
  • --start-pos=OFFSETOFFSET 位置开始下载
  • --progress=TYPE 选择进度条类型
  • --show-progress 在详细模式下显示进度条
  • --N, --timestamping 不重新获取文件,除非比本地文件新
  • --no-if-modified-since 在时间戳模式下不使用条件性的 if-modified-since 获取请求的资源
  • --no-use-server-timestamps 不以服务器上的时间戳来设置本地文件的时间戳
  • --S, --server-response 打印服务器响应
  • --spider 不下载任何东西
  • -T, --timeout=SECONDS 设置所有的超时值为 SECONDS
  • --dns-timeout=SECS 将 DNS 查询超时设置为 SECS
  • --connect-timeout=SECS 将连接超时设置为 SECS
  • --read-timeout=SECS 设置读取超时为 SECS
  • --w, --wait=SECONDS 在两次检索之间等待 SECONDS 秒(适用于检索的 URL 超过 1个)
  • --waitretry=SECONDS 在检索的重试之间等待 1 到 SECONDS 秒(适用于检索的 URL 超过 1 个)
  • --random-wait 在两次检索之间等待 0.5WAIT1.5WAIT 秒(适用于检索的 URL 超过 1 个)

总结

我希望这个指南能帮助你解决 Linux 发行版中的 wget 错误。显然方案是非常简单的。

如果有帮助或者你有任何问题,请在下面留言。

参考

via: https://www.debugpoint.com/wget-not-found-error/

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

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

本教程讲述了在 Ubuntu 和其他 Linux 系统中安装 FFmpeg 所需的步骤。

FFmpeg 是一系列用于操作多媒体文件的库和软件程序。整个 FFmpeg 是一组强大的库,允许你转换、推流和操作音频和视频文件。许多前端 Linux 应用程序将其用作后端并依赖它。例如,屏幕录制应用程序可能需要 FFmpeg 将录制的流转换为 Gif 图像。

主流的应用程序和服务,如 VLC 媒体播放器、YouTube、Blender、Kodi、Shotcut 和 Handbrake 等,都使用 FFmpeg。

趣事:NASA 2020 年发射的毅力号火星探测器使用 FFmpeg 完成和处理图像和视频,然后将其发送回地球!

关于 FFmpeg 包

FFmped 是一个强大的命令行工具。它支持 Linux、Windows 和 macOS,并支持多种架构。它是用 C 和汇编编写的,提供了强大的性能和跨平台实用性。

核心

FFmpeg 的核心是命令行实用程序。它们可以在命令行上使用,也可以从任何编程语言中调用。例如,你可以从 Shell 程序、Python 脚本等程序中使用它们。

  • ffmpeg:用于转换音频和视频流,包括来自 TV 卡等实时流的源
  • ffplay:此软件包中捆绑的媒体播放器,用于播放媒体
  • ffprobe:命令行工具,用于显示媒体信息 - 可以以 txt、csv、xml、json 格式输出

FFmpeg 安装

在 Ubuntu 和其他 Linux 发行版中安装 FFmpeg 很容易。打开终端并运行以下命令以安装。

Ubuntu 以及相似的发行版

sudo apt install ffmpeg

Fedora

对于 Fedora Linux,你需要添加 RPM Fusion repo。Fedora 官方仓库没有 FFmpeg 包。

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-
sudo dnf install ffmpeg

Arch Linux

pacman -S ffmpeg

在安装完成后,你可以使用以下命令验证安装。

ffmpeg --version

Ubuntu Linux 中安装的 FFmpeg

示例:ffmpeg 的基础用法

首先,让我给你一个简单的例子。考虑以下示例。它只是将 mp4 文件转换为 mkv 文件。

1、转换一个基本的视频文件

ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv

当然,这是最简单的方法,但它不完整,因为它没有转换所需的视频文件的比特率、分辨率和其他属性。

2、转换一个音频文件

其次,你可以使用类似的命令转换音频文件。

ffmpeg -i sunny_day.ogg sunny_day.mp3

3、使用音频和视频编解码器转换

最后,以下示例可以使用指定的编解码器转换视频文件。参数 -c 带有的 av 分别定义音频和视频。下面的命令使用 libvpx 视频和 libvorbis 音频编解码器进行转换。

ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm

如何找出系统中可用的编解码器,编码器和解码器?

列出所有编解码器

要列出所有可用的编解码器,请运行以下命令:

ffmpeg -codecs

该命令列出了所有可用的编解码器及其功能,是否支持解码或编码等。此外,它们根据下表的位置进行标识。

D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression

FFmpeg 编解码器列表

列出所有编码器

通过以下命令列出所有编码器:

ffmpeg -encoders

列出所有解码器

同样的,你可以通过以下命令获取解码器列表:

ffmpeg -decoders

详细信息

你还可以使用参数 -h 获取编码器或解码器的更多详细信息。

ffmpeg -h decoder=mp3

总结

我希望你学会了 FFmpeg 和它的命令的基础知识。你可以通过 官方文档 了解更多有关该程序的信息。


via: https://www.debugpoint.com/install-ffmpeg-ubuntu/

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

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

你可以通过以下方式确定你的 Linux 发行版中是否正在运行 systemd 或其它初始化系统。

首个进程在你启动 Linux 发行版时开始运行,它称为初始化进程 init( 初始化 initialization 的缩写)。它的进程标识符为 1(即 pid=1)。基于 Unix 的系统中的所有进程和应用程序都是这个初始化进程的后代。

根据功能和特性,存在不同类型的初始化进程。例如,systemd、Runit、OpenRC、sysVinit 等。其中,systemd 是最流行和最现代的一种,被包括 Ubuntu 和 Fedora 在内的所有现代 Linux 发行版使用和采用。

与传统的基于 Unix 的初始化系统相比,systemd 及其性能一直存在争议。但这就是另外一个话题了。

让我们看看如何确定在 Linux 发行版中运行的是 systemd 还是其它初始化系统。

systemd 还是其它初始化系统?

不幸的是,没有直接的命令可以找到它。你可以从初始化进程追溯它,它基本上是到 /sbin/init 的符号链接,即 pid=1。

使用 strings 命令打印嵌入在二进制文件 /sbin/init 中的文本并使用以下命令搜索 init

strings /sbin/init | grep init

示例 1

在下面的输出中,它是一个运行 Debian(Peppermint OS)的 sysVinit 系统。如你所见,它清楚地显示了 init 进程名称。

strings /sbin/init | grep init

显示使用 sysVinit 而不是 systemd 的示例

如果在上述同一个系统中找 systemd,那么不会有任何结果。因此,你可以得出结论,你正在运行 sysVinit 而不是 systemd。

示例 2

如果你在 systemd 系统中运行上述命令,你可以在输出的第一行轻松看到 systemd 及其版本。

strings /sbin/init | grep systemd

显示它使用 systemd 的示例

示例 3

你也可以尝试使用 pstree 命令打印进程树,它应该会显示第一个进程名称。它应该是 systemdinit,如下例所示。

pstree

pstree 显示使用 systemd

pstree 显示使用 init

这就好了。这样你就可以轻松找出你的发行版是使用 systemd 还是其他的。


via: https://www.debugpoint.com/systemd-or-init/

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

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