SK 发布的文章

正如你可能已经知道的那样,运行级别 在许多最近的 Linux 发行版(如 RHEL 7 和 Ubuntu 16.04 LTS)中被 systemd 的目标 替换。有关它们的更多详细信息,请参阅这个指南。在这个简短的教程中,我们将看到如何启动救援模式以及紧急模式。本指南在 Ubuntu 18.04 LTS 中进行了测试,但是下面给出的步骤适用于大多数使用 systemd 作为默认服务管理器的 Linux 发行版。在进一步讨论之前,让我澄清什么是救援模式和紧急模式以及这两种模式的目的是什么。

什么是救援模式?

救援模式相当于使用 SysV 作为默认的服务管理器的 Linux 发行版中的 单用户模式。在救援模式下,将挂载所有本地文件系统,仅启动一些重要服务。但是,不会启动正常服务(例如网络服务)。救援模式在系统无法正常启动的情况下很有用。此外,我们可以在救援模式下执行一些重要的救援操作,例如重置 root 密码

什么是紧急模式?

与救援模式相比,在紧急模式中不启动任何东西。没有服务启动、没有挂载点、没有建立套接字,什么也没有。你所拥有的只是一个原始的 shell。紧急模式适用于调试目的。

在 Ubuntu 18.04 LTS 中进入救援模式

启动你的 Ubuntu 系统。出现 Grub 菜单时,选择第一条并按下 e 进行编辑。

如果你没有看到 Grub 菜单,只需在 BIOS 的 logo 消失后立即按下 ESC 键。

找到以单词 linux 开头的行,并在该行的末尾添加以下内容(要到达末尾,只需按下 CTRL+e 或使用 END 键或左右箭头键):

systemd.unit=rescue.target

添加完成后,只需按下 CTRL+xF10 即可继续启动救援模式。几秒钟后,你将以 root 用户身份进入救援模式(单用户模式)。以下是 Ubuntu 18.04 LTS 服务器版中救援模式的样子:

接下来,输入以下命令将根 (/) 文件系统重新挂载成读/写模式。

mount -n -o remount,rw /

启动到紧急模式

将 Ubuntu 引导到紧急模式与上述方法相同。你只需在编辑 Grub 菜单时将 systemd.unit=rescue.target 替换为 systemd.unit=emergency.target 即可。

添加 systemd.unit=emergency.target 后,按下 Ctrl+xF10 继续启动到紧急模式。

最后,你可以使用以下命令将根文件系统重新挂载成读/写模式:

mount -n -o remount,rw /

在救援模式和紧急模式之间切换

如果你处于救援模式,则不必像上面提到的那样编辑 Grub 条目。相反,只需输入以下命令即可立即切换到紧急模式:

systemctl emergency

同样,要从紧急模式切换到救援模式,请输入:

systemctl rescue

你现在知道了什么是救援模式和紧急模式以及如何在 Ubuntu 18.04 中启动这些模式。就像我已经提到的,这里提供的步骤将适用于许多使用 systemd 的 Linux 版本。

就是这些了。希望这篇文章有用。

还有更多好东西。敬请期待!

干杯!


via: https://www.ostechnix.com/how-to-boot-into-rescue-mode-or-emergency-mode-in-ubuntu-18-04/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

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

今天,我在升级我的 Ubuntu 18.04 LTS 系统。不幸的是,在更新 Ubuntu 时中途断电,系统关机。电源恢复后,我再次启动系统。在登录页面输入密码后,它变成空白并且没有响应。键盘和鼠标也没有作用。我只看到一个空白的屏幕!值得庆幸的是,它只是一台测试机,并且没有重要的数据。我可以直接擦除整个系统然后重新安装。但是,我不想这样做。由于我没有什么可失去的,我只是想不重装修复我损坏的 Ubuntu 系统,并且我成功了!如果你发现自己处于像我这样的境地,不要惊慌。这个简短的教程描述了如何在不丢失数据的情况下轻松修复损坏的 Ubuntu 系统,而无需重新安装。

修复损坏的 Ubuntu 系统

首先,尝试使用 live cd 登录并在外部驱动器中备份数据。以防这个方法没用,你仍然可以获取数据并重新安装系统!

在登录页上,按下 CTRL+ALT+F1 切换到 tty1。你可以在此处了解有关在 TTY 之间切换的更多信息。

现在,逐个输入以下命令来修复损坏的 Ubuntu Linux。

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend
$ sudo dpkg --configure -a
$ sudo apt clean
$ sudo apt update --fix-missing
$ sudo apt install -f
$ sudo dpkg --configure -a
$ sudo apt upgrade
$ sudo apt dist-upgrade

最后,使用命令重启系统:

$ sudo reboot

你现在可以像往常一样登录到你的 Ubuntu 系统。

我做完这些步骤后,我 Ubuntu 18.04 测试系统中的所有数据都还在,一切都之前的一样。此方法可能不适用于所有人。但是,这个小小的技巧对我有用,并且比重装节省了一些时间。如果你了解其他更好的方法,请在评论区告诉我。我也会在本指南中添加它们。

这是这些了。希望这篇文章有用。

还有更多好东西。敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-fix-broken-ubuntu-os-without-reinstalling-it/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

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

在这个现代化的互联网时代,你一定在许多网站上有多个账户,它可能是个人或官方邮箱账户、社交或专业网络账户、GitHub 账户和电子商务账户等。因此,对于不同的账户,你应该设置多个不同的密码。我相信你应该已经意识到为多个账户设置相同的密码是件疯狂又危险的事情。如果攻击者设法破解了你的一个账户,那么他/她很可能尝试使用相同的密码访问你的其他账户。所以,强烈建议为不同的账户设置不同的密码

不过,记住好几个密码是很困难的。你可以把它们写在纸上,但那也不是一个有效的方法,你可能会在一段时间后失去它们。这时密码管理器就派上用场了。密码管理器就像一个存储库,你可以在其中存储不同账户的所有密码,并用一个主密码将其锁定。这样,你需要记住的就只剩下主密码了。之前我们介绍过一个叫 KeeWeb 的开源密码管理器,今天,我们将介绍另外一款密码管理器 ——— Buttercup。

关于 Buttercup

Buttercup 是一个自由、开源、安全、跨平台的密码管理器,使用 NodeJS 编写。它可以帮助你将不同账户的所有登录凭证存储到加密存档中,该存档可以保存在本地系统或任何远程服务(如 DropBox、OwnCloud、NextCloud 和基于 WebDAV 的服务)中。它使用强大的 256 位 AES 加密算法,用主密码保存你的敏感数据。所以,除了拥有主密码的人以外,没有人可以访问你的登录信息。Buttercup 目前支持 Linux、Mac OS 和 Windows,还提供了一个浏览器扩展和移动应用程序。因此,你也可以在 Android 和 iOS 设备中的桌面应用程序和浏览器扩展程序中使用相同的存档。

安装 Buttercup 密码管理器

Buttercup 目前在 Linux 平台上有 .deb、.rpm 软件包、可移植的 AppImage 和 tar 归档文件等安装包。转到其 发布页 下载安装你想要的版本。

Buttercup 桌面应用程序在 AUR 中也可用,你可以使用 AUR 帮助程序(如 Yay)在基于 Arch 的系统上安装,如下所示:

$ yay -S buttercup-desktop

如果你已经下载了方便的 AppImage 文件,使用如下命令让它执行:

$ chmod +x buttercup-desktop-1.11.0-x86_64.AppImage

然后,使用命令启动它:

$ ./buttercup-desktop-1.11.0-x86_64.AppImage

运行此命令后,会提示是否要将 Buttercup AppImage 集成到你的系统中。如果选择 “Yes”,则会将其添加到应用程序菜单并安装图标。如果不这样做,你仍然可以通过双击 AppImage 或在终端中使用上述命令启动应用程序。

添加存档

第一次启动时,会看到下面的欢迎界面:

我们还没有添加任何存档,所以让我们添加一个吧。单击 “New Archive File” 按钮,输入存档文件的名称,并选择它的保存位置。

你可以随意命名。我把它命名为 “mypass”,存档将以 .bcup 为扩展名保存在你选择的位置。

如果你已经创建了一个,只需单击 “Open Archive File” 来选择它。

接下来,Buttercup 将提示你为新创建的存档输入主密码,建议提供一个强级别的密码,以保护存档不会被未经授权访问。

现在我们已经创建了一个存档并使用主密码对其进行了保护。类似地,你可以创建任意数量的存档,并使用密码保护它们。

让我们继续在存档中添加账户的详细信息。

在存档中添加条目(登录凭证)

创建或打开存档后,你将看到下面的界面。

它就像一个保险库,我们将保存不同账户的登录凭证。如你所见,我们并没有添加任何条目。让我们添加一些。

点击右下角的 “ADD ENTRY” 按钮来添加新的条目,输入你想要保存的账户的信息。

在每个条目下面都有一个 “ADD NEW FIELD” 选项,可以用来添加其他的细节。只需点击它,然后添加要包含在条目中的字段。

添加完所有条目后,你将在 Buttercup 界面的右侧窗格中看到它们。

添加新的分组

你还可以将登录的详细信息分组到不同的名称下,以便于识别。例如,你可以将所有邮箱账户分组到一个名为 “my\_mails” 的名称下。默认情况下,你的登录详细信息将保存在 “General” 群组下。要创建新的群组,请点击 “NEW GROUP” 按钮并输入名称。在新的群组中创建新条目时,与上述的步骤相同,只需单击组名并开始添加条目。

管理和访问登录的详细信息

存储在存档中的数据可以随时编辑、移动到其他组或彻底删除。例如,如果要将用户名或密码复制到剪切板,请右击该条目,然后选择 “Copy to Clipboard”。

要进一步编辑/修改数据,只需点击所选条目下的 “Edit” 按钮。

在远程保存存档

默认情况下,Buttercup 会将数据保存在本地系统上。但是,你可以将它们保存在不同的远程服务(例如 Dropbox、OwnCloud、NextCloud 和基于 WebDAV 的服务)上。

要连接这些服务,请点击 “File -> Connect Cloud Sources”。

接下来,选择要连接的服务并对其授权以保存数据。

你还可以在添加存档时在 Buttercup 的欢迎界面连接这些服务。

导入/导出

Buttercup 允许你向其他密码管理器(例如 1Password、Lastpass 和 KeePass)导入导出数据。你也可以导出数据,在另一个系统或设备(例如 Android)中访问它们。你还可以将 Buttercup 保险库导出为 CSV 格式文件。

Buttercup 是一个简单但成熟、功能齐全的密码管理器。多年来它一直在积极开发。如果你需要密码管理器,Buttercup 可能是个不错的选择。有关更多的详细信息,请参阅项目网站和 GitHub 页面。

那就介绍到这里,希望它对你有用。更多的精彩内容即将到来,敬请关注!

谢谢!

资源


via: https://www.ostechnix.com/buttercup-a-free-secure-and-cross-platform-password-manager/

作者:SK 选题:lujun9972 译者:seriouszyx 校对:wxy

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

在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址,Netplan 是一个新的命令行网络配置工具。其实在 Ubuntu 17.10 的时候 Ubuntu 开发者就已经介绍过 Netplan 了。接下来要介绍的新的 IP 配置方法不会再用到 /etc/network/interfaces 这个文件,取而代之的是一个 YAML 文件。默认的 Netplan 配置文件一般在 /etc/netplan 目录下。 在这篇教程中,我们会去学习在 Ubuntu 18.04 LTS 的最小化服务器中配置静态 IP 和动态 IP 。

在 Ubuntu 18.04 LTS 中配置静态 IP 地址

首先先找到 Netplan 默认的网络配置文件所在之处:

$ ls /etc/netplan/
50-cloud-init.yaml

我们可以看到,默认的网络配置文件是 50-cloud-init.yaml ,这是一个 YAML 文件。

然后我们再看一下这个文件的内容是什么:

$ cat /etc/netplan/50-cloud-init.yaml

我在之前安装 Ubuntu 18.04 的时候为了从 DHCP 服务器获取 IP 地址已经已经做过了网卡的相关配置,所以详细配置直接看下图:

可以看到这边有两个网卡,分别是 enp0s3enp0s8 ,并且这两个网卡都配置为从 DHCP 服务器中获取 IP。

现在我们给这两个网卡都配置为静态 IP 地址,先用任意一种编辑器来编辑配置文件。

$ sudo nano /etc/netplan/50-cloud-init.yaml

接下来我们分别添加 IP 地址、子网掩码、网关、DNS 服务器等配置。分别用 192.168.225.50 作为网卡 enp0s3 的 IP 地址, 192.168.225.51 作为网卡 enp0s8 的 IP 地址, 192.168.225.1 作为网关地址, 255.255.255.0 作为子网掩码。然后用 8.8.8.88.8.4.4 这两个 DNS 服务器 IP。

要注意的一点是,在 Ubuntu 18.04 里,这个配置文件的每一行都必须靠空格来缩进,不能用 TAB 来代替,否则配置会不起作用。如上图所示的配置文件中每行的缩进都是靠空格键实现的。

同时,在 Ubuntu 18.04 中,我们定义子网掩码的时候不是像旧版本的那样把 IP 和子网掩码分成两项配置。在旧版本的 Ubuntu 里,我们一般配置的 IP 和子网掩码是这样的:

address = 192.168.225.50
netmask = 255.255.255.0

而在 netplan 中,我们把这两项合并成一项,就像这样:

addresses : [192.168.225.50/24]

配置完成之后保存并关闭配置文件。然后用下面这行命令来应用刚才的配置:

$ sudo netplan apply

如果在应用配置的时候有出现问题的话,可以通过如下的命令来查看刚才配置的内容出了什么问题。

$ sudo netplan --debug apply

这行命令会输出这些 debug 信息:

** (generate:1556): DEBUG: 09:14:47.220: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:1556): DEBUG: 09:14:47.221: starting new processing pass
** (generate:1556): DEBUG: 09:14:47.221: enp0s8: setting default backend to 1
** (generate:1556): DEBUG: 09:14:47.222: enp0s3: setting default backend to 1
** (generate:1556): DEBUG: 09:14:47.222: Generating output files..
** (generate:1556): DEBUG: 09:14:47.223: NetworkManager: definition enp0s8 is not for us (backend 1)
** (generate:1556): DEBUG: 09:14:47.223: NetworkManager: definition enp0s3 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device enp0s3 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp0s3
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:device enp0s8 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp0s8

如果配置正常且生效的话,我们可以用下面这个命令来查看一下 ip:

$ ip addr

在我的 Ubuntu 18.04 中配置完之后执行命令输出的信息如下:

到此为止,我们已经成功地在 Ubuntu 18.04 LTS 中用 Netplan 完成了静态 IP 的配置。

更多关于 Netplan 的信息,可以在用 man 命令在手册中查看:

$ man netplan

在 Ubuntu 18.04 LTS 中配置动态 IP 地址

其实配置文件中的初始配置就是动态 IP 的配置,所以你想要使用动态 IP 的话不需要再去做任何的配置操作。如果你已经配置了静态 IP 地址,想要恢复之前动态 IP 的配置,就把在上面静态 IP 配置中所添加的相关配置项删除,把整个配置文件恢复成上面的图 1 所示的样子就行了。

现在你已经学会在 Ubuntu 18.04 中配置静态和动态 IP 地址了。个人而言,我其实不太喜欢这种方式,旧的配置方式反而来得简单。你们觉得呢 ?


via: https://www.ostechnix.com/how-to-configure-ip-address-in-ubuntu-18-04-lts/

作者:SK 选题:lujun9972 译者:chenxinlong 校对:wxy

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

在 GitHub 和 GitLab 上,不断有来自世界各地的开源应用程序和工具涌现。其中有全新的应用程序,也有针对现有各种被广泛使用的 Linux 程序的替代方案。在本文档中,我会介绍一些针对 top 工具(也就是命令行任务管理器程序)的替代方案。

top 工具的替代方案

在本文中,将会介绍以下 6 种 top 工具的替代方案:

  1. Htop
  2. Vtop
  3. Gtop
  4. Gotop
  5. Ptop
  6. Hegemon

如果后续有更多类似的工具,原作者会在原文进行更新。如果你对此有兴趣,可以持续关注。

Htop

htop 是一个流行的开源跨平台交互式进程管理器,也是我最喜欢的系统活动监控工具。htop 是对原版 top 工具的扩展。它最初只是用于 Linux 系统,后来开发者们不断为其添加对其它类 Unix 操作系统的支持,包括 FreeBSD 和 Mac OS。htop 还是一个自由开源软件,它基于 ncurses 并按照 GPLv2 发布。

和原版的 top 工具相比,htop 工具有这些优势:

  • htoptop 启动更快
  • htop 支持横向滚动和纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行
  • top 工具中进行杀死进程、更改进程优先级这些操作时,需要输入进程 ID,而在 htop 工具中则不需要输入
  • htop 中可以同时杀死多个进程
  • top 中每次输入一个未预设的键都要等待一段时间,尤其是在多个键组成转义字符串的时候就更麻烦了

在很多 Linux 发行版的默认软件仓库中,都带有了 htop

在基于 Arch 的操作系统中则可以执行以下命令来安装 htop

$ sudo pacman -S htop

在基于 Debian 的操作系统使用以下命令:

$ sudo apt install htop

在使用 RPM 软件管理的操作系统使用以下命令:

$ sudo dnf install htop

或者

$ sudo yum install htop

在 openSUSE 系统中:

$ sudo zypper in htop

用法

不带任何参数执行 htop 时,会显示如下画面:

$ htop

从图上可以看出,htop 会在界面顶部显示内存、交换空间、任务总数、系统平均负载、系统正常运行时间这些常用指标,在下方则和 top 一样显示进程列表,并且将进程的 ID、用户、进程优先级、进程 nice 值、虚拟内存使用情况、CPU 使用情况、内存使用情况等信息以多列显示出来。如果你想详细了解这些数据的含义,可以在这里阅读参考。

top 不同的是,htop 支持对不同的操作使用专有的按键。以下列出一些用于与 htop 交互的快捷键:

  • F1h?:进入帮助界面。
  • F2Shift+s:进入设置界面。在设置界面中可以配置仪表板界面顶部显示哪些数据,以及设置颜色方案、显示列、显示顺序等等多种参数。
  • F3/:在进程列表中进行搜索。
  • F4\:进入筛选模式。输入一个字符串,筛选出包含这个字符串的进程。进入筛选模式后再按一次 F4 或者 ESC 可以退出筛选模式。
  • F5t:切换默认显示模式和树型显示模式,在树型显示模式下按 + 可以查看子树。
  • F6<>:依次按照进程 ID、用户、进程优先级、进程 nice 值、CPU 使用率、内存使用率排序显示。
  • F7]:提高所选进程的优先级。
  • F8[:降低所选进程的优先级。
  • F9k:杀死所选进程。可以用 / 键选择不同的进程并按 F9 杀死进程。
  • F10q: 退出 htop

以上这些快捷键都在 htop 界面底部显示。

需要注意的是,这其中有一些快捷键可能会与已有的快捷键发生冲突。例如按 F2 之后可能没有进入 htop 的设置界面,而是开始了对终端窗口的重命名。在这种情况下,你可能要更改一下快捷键的设置。

除了以上列出的快捷键以外,还有一些带有其它功能的快捷键,例如:

  • u 可以选择显示某个用户的进程。
  • Shift+m 可以按照内存使用量对进程列表排序。
  • Shift+p 可以按照 CPU 使用量对进程列表排序。
  • Shit+t 可以按照进程启动时间对进程列表排序。
  • CTRL+l 刷新界面。

htop 的所有功能都可以在启动后通过快捷键来调用,而不需要在启动的时候带上某个参数。当然,htop 也支持带参数启动。

例如按照以下方式启动 htop 就可以只显示某个用户的进程:

$ htop -u <username>

更改界面自动刷新的时间间隔:

$ htop -d 10

看,htop 确实比 top 好用多了。

想了解 htop 的更多细节,可以查阅它的手册页面:

$ man htop

也可以查看它的项目主页GitHub 仓库

Vtop

vtoptop 工具的另一个替代方案。它是一个使用 NodeJS 编写的、自由开源的命令行界面系统活动监视器,并使用 MIT 许可证发布。vtop 通过使用 unicode 中的盲文字符来绘制 CPU 和内存使用情况的可视化图表。

在安装 vtop 之前,需要先安装 NodeJS。如果还没有安装 NodeJS,可以按照这个教程进行安装。

NodeJS 安装完毕之后,执行以下命令安装 vtop

$ npm install -g vtop

安装好 vtop 就可以执行以下命令开始监控了。

$ vtop

显示界面如下:

如上图所示,vtop 界面和 tophtop 都有所不同,它将不同的内容分别以多个框的布局显示。另外在界面底部也展示了用于与 vtop 交互的所有快捷键。

vtop 有这些快捷键:

  • dd :杀死一个进程。
  • k:向上移动。
  • j:向下移动。
  • h :放大图表。
  • l:缩小图表。
  • g :跳转到进程列表顶部。
  • Shift+g :跳转到进程列表底部。
  • c :以 CPU 使用量对进程排序。
  • m :以内存使用量对进程排序。

想要了解更多关于 vtop 的细节,可以查阅它的项目主页或者 GitHub 仓库

Gtop

gtopvtop 一样,都是一个使用 NodeJS 编写、在 MIT 许可下发布的系统活动监视器。

执行以下命令安装 gtop

$ npm install gtop -g

然后执行以下命令启动:

$ gtop

显示界面如下:

gtop 有一个优点,就是它会以不同的颜色来显示不同的模块,这种表现形式非常清晰明了。

主要的快捷键包括:

  • p:按照进程 ID 对进程排序。
  • c:按照 CPU 使用量对进程排序。
  • m:按照内存使用量对进程排序。
  • qCtrl+c:退出。

想要了解更多关于 gtop 的细节,可以查阅它的 GitHub 仓库

Gotop

gotop 也是一个完全自由和开源的图表式系统活动监视器。顾名思义,它是在受到 gtopvtop 的启发之后用 Go 语言编写的,因此也不再对其展开过多的赘述了。如果你有兴趣了解这个项目,可以阅读《gotop:又一个图表式系统活动监视器》这篇文章。

Ptop

有些人对 NodeJS 和 Go 语言的项目可能不太感冒。如果你也是其中之一,你可以试一下使用 Python 编写的 ptop。它同样是一个自由开源的、在 MIT 许可下发布的系统活动监视器。

ptop 同时兼容 Python2.x 和 Python3.x,因此可以使用 Python 的软件包管理器 pip 轻松安装。如果你没有安装 pip,也可以参考这个教程进行安装。

安装 pip 之后,执行以下命令就可以安装 ptop

$ pip install ptop

又或者按照以下方式通过源代码安装:

$ git clone https://github.com/darxtrix/ptop
$ cd ptop/
$ pip install -r requirements.txt # install requirements
$ sudo python setup.py install

如果需要对 ptop 进行更新,可以这样操作:

$ pip install --upgrade ptop

即使你不执行更新,ptop 也会在第一次启动的时候提示你是否需要更新到最新的版本。

现在可以看一下启动 ptop 后的界面。

$ ptop

就像下面这样:

ptop 的快捷键包括以下这些:

  • Ctrl+k:杀死一个进程。
  • Ctrl+n:按照内存使用量对进程排序。
  • Ctrl+t:按照进程启动时间对进程排序。
  • Ctrl+r:重置所有数据。
  • Ctrl+f:对进程进行筛选,输入进程的名称就能够筛选出符合条件的进程。
  • Ctrl+l:查看所选进程的详细信息。
  • g:跳转到进程列表顶部。
  • Ctrl+q:退出。

ptop 还支持更改显示主题。如果你想让 ptop 更好看,可以选择你喜欢的主题。可用的主题包括以下这些:

  • colorful
  • elegant
  • simple
  • dark
  • light

如果需要更换主题(例如更换到 colorful 主题),可以执行以下命令:

$ ptop -t colorful

使用 -h 参数可以查看帮助页面:

$ ptop -h

想要了解更多关于 ptop 的细节,可以查阅它的 GitHub 仓库

Hegemon

hegemon 是一个使用 Rust 编写的系统活动监视器,如果你对 Rust 感兴趣,也可以了解一下。我们最近有一篇关于 hegemon文章,想要详细了解的读者不妨阅读。

总结

以上就是关于 top 工具的 6 个替代方案。我并不会说它们比 top 更好或者可以完全替代 top,但多了解一些类似的工具总是好的。你有使用过这些工具吗?哪个是你最喜欢的?欢迎在评论区留言。


via: https://www.ostechnix.com/some-alternatives-to-top-command-line-utility-you-might-want-to-know/

作者:SK 选题:lujun9972 译者:HankChow 校对:wxy

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

今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友。我知道这个 PDF 文件的密码,但是我不想透露密码。作为代替,我只想移除密码并发送文件给他。我开始在因特网上查找一些简单的方法来从 PDF 文件中移除密码保护。在快速 google 搜索后,在 Linux 中,我带来四种方法来从一个 PDF 文件中移除密码。有趣的事是,在几年以前我已经做过这事情但是我忘记了。如果你想知道,如何在 Linux 中从一个 PDF 文件移除密码,继续读!它是不难的。

在Linux中从一个PDF文件中移除密码

方法 1 – 使用 Qpdf

Qpdf 是一个 PDF 转换软件,它被用于加密和解密 PDF 文件,转换 PDF 文件到其他等效的 PDF 文件。 Qpdf 在大多数 Linux 发行版中的默认存储库中是可用的,所以你可以使用默认的软件包安装它。

例如,Qpdf 可以被安装在 Arch Linux 和它的衍生版,使用 pacman ,像下面显示。

$ sudo pacman -S qpdf

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install qpdf

现在,让我们使用 qpdf 从一个 pdf 文件移除密码。

我有一个受密码保护的 PDF 文件,名为 secure.pdf。每当我打开这个文件时,它提示我输入密码来显示它的内容。

我知道上面 PDF 文件的密码。然而,我不想与任何人共享密码。所以,我将要做的事是简单地移除 PDF 文件的密码,使用 Qpdf 功能带有下面的命令。

$ qpdf --password='123456' --decrypt secure.pdf output.pdf

相当简单,不是吗?是的,它是!这里,123456secure.pdf 文件的密码。用你自己的密码替换。

方法 2 – 使用 Pdftk

Pdftk 是另一个用于操作 PDF 文件的好软件。 Pdftk 可以做几乎所有的 PDF 操作,例如:

  • 加密和解密 PDF 文件。
  • 合并 PDF 文档。
  • 整理 PDF 页扫描。
  • 拆分 PDF 页。
  • 旋转 PDF 文件或页。
  • 用 X/FDF 数据 填充 PDF 表单,和/或摧毁表单。
  • 从 PDF 表单中生成 PDF数据模板。
  • 应用一个背景水印,或一个前景印记。
  • 报告 PDF 度量标准、书签和元数据。
  • 添加/更新 PDF 书签或元数据。
  • 附加文件到 PDF 页,或 PDF 文档。
  • 解包 PDF 附件。
  • 拆解一个 PDF 文件到单页中。
  • 压缩和解压缩页流。
  • 修复破损的 PDF 文件。

Pddftk 在 AUR 中是可用的,所以你可以在 Arch Linux 和它的衍生版上使用任意 AUR 帮助程序安装它。

使用 Pacaur

$ pacaur -S pdftk

使用 Packer

$ packer -S pdftk

使用 Trizen

$ trizen -S pdftk

使用 Yay

$ yay -S pdftk

使用 Yaourt

$ yaourt -S pdftk

在 Debian、Ubuntu、Linux Mint 上,运行:

$ sudo apt-get instal pdftk

在 CentOS、Fedora、Red Hat 上:

首先,安装 EPEL 仓库:

$ sudo yum install epel-release

$ sudo dnf install epel-release

然后,安装 PDFtk 应用程序,使用命令:

$ sudo yum install pdftk

或者

$ sudo dnf install pdftk

一旦 pdftk 安装,你可以从一个 PDF 文档移除密码,使用命令:

$ pdftk secure.pdf input_pw 123456 output output.pdf

用你正确的密码替换 123456。这个命令解密 secure.pdf 文件,并创建一个相同的名为 output.pdf 的无密码保护的文件。

参阅:

方法 3 – 使用 Poppler

Poppler 是一个基于 xpdf-3.0 代码库的 PDF 渲染库。它包含下列用于操作 PDF 文档的命令行功能集。

  • pdfdetach – 列出或提取嵌入的文件。
  • pdffonts – 字体分析器。
  • pdfimages – 图片提取器。
  • pdfinfo – 文档信息。
  • pdfseparate – 页提取工具。
  • pdfsig – 核查数字签名。
  • pdftocairo – PDF 到 PNG/JPEG/PDF/PS/EPS/SVG 转换器,使用 Cairo 。
  • pdftohtml – PDF 到 HTML 转换器。
  • pdftoppm – PDF 到 PPM/PNG/JPEG 图片转换器。
  • pdftops – PDF 到 PostScript (PS) 转换器。
  • pdftotext – 文本提取。
  • pdfunite – 文档合并工具。

因这个指南的目的,我们仅使用 pdftops 功能。

在基于 Arch Linux 的发行版上,安装 Poppler,运行:

$ sudo pacman -S poppler

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install poppler-utils

在 RHEL、CentOS、Fedora 上:

$ sudo yum install poppler-utils

一旦 Poppler 安装,运行下列命令来解密密码保护的 PDF 文件,并创建一个新的相同的名为 output.pdf 的文件。

$ pdftops -upw 123456 secure.pdf output.pdf

再一次,用你的 pdf 密码替换 123456

正如你在上面方法中可能注意到,我们仅转换密码保护的名为 secure.pdf 的 PDF 文件到另一个相同的名为 output.pdf 的 PDF 文件。技术上讲,我们并没有真的从源文件中移除密码,作为代替,我们解密它,并保存它为另一个相同的没有密码保护的 PDF 文件。

方法 4 – 打印到一个文件

这是在所有上面方法中的最简单的方法。你可以使用你存在的 PDF 查看器,例如 Atril 文档查看器、Evince 等等,并打印密码保护的 PDF 文件到另一个文件。

在你的 PDF 查看器应用程序中打开密码保护的文件。转到 “File - > Print” 。并在你选择的某个位置保存 PDF 文件。

于是,这是全部。希望这是有用的。你知道/使用一些其它方法来从从 PDF 文件中移除密码保护吗?在下面的评价区让我们知道。

更多好东西来了。敬请期待!

谢谢!


via: https://www.ostechnix.com/how-to-remove-password-from-a-pdf-file-in-linux/

作者:SK 选题:lujun9972 译者:robsean 校对:wxy

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