如何将浏览器配置文件同步到Linux中的TMPFS(内存)

时间:2020-03-21 11:45:01  来源:igfitidea点击:

本教程解释了如何将浏览器配置文件同步到TMPFS(内存)以提高Linux中的浏览器速度。
我们可以手动同步配置文件或者使用一些工具。
在本教程中,我们将使用一个名为profile-sync-daemon(不久psd)的这样的工具来执行它。
Profile-Sync-DaeMon工具只不过是Bash脚本,旨在管理TMPFS中的浏览器的配置文件,并在RSync到HDD和/或者SSD的帮助时会周期性地同步它们。
正如我们所知道的那样,TMPFS是驻留在内存或者交换分区中的临时文件系统。
因此,移动的浏览器的配置文件将有效地提高浏览器的整体性能。

将浏览器的个人资料移动到内存提供了两个显着优势:

  • 减少硬盘读/写,特别是改进了SSD中的I/O操作。
  • 提高Web浏览器的速度和响应能力。

这种方法的一个警告是它将减速登录,因为浏览器的配置文件在登录时将复制到内存。

支持的浏览器

Profile-Sync-Daemon脚本允许我们管理几乎所有Web浏览器的配置文件,包括以下内容:

  • Aurora
  • Chromium
  • Conkeror
  • Epiphany
  • Firefox
  • Firefox-trunk
  • Google Chrome
  • Icecat
  • Iceweasel
  • Inox
  • Luakit
  • Midori
  • Opera, Opera-Beta, Opera-Developer, and Opera-Legacy
  • Otter-browser
  • Palemoon
  • QupZilla
  • Qutebrowser
  • Rekonq
  • Seamonkey
  • Surf
  • Vivaldi-browser and Vivaldi-browser-snapshot

在Linux上安装Profile-Sync-守护程序

由于Profile-sync-emon只是bash脚本,它可以安装在许多Linux发行版上。
好事是它在一些Linux发行版的官方存储库中提供。

在Arch Linux及其像Manjaro Linux这样的变体上,使用以下Pacman安装PSD。

$sudo pacman -S profile-sync-daemon

在Debian Sid/10/9,Ubuntu 19.10/18.04:

$sudo apt install profile-sync-daemon

在Fedora 31/30,CentOS 8和具有DNF的其他发行版:

$sudo dnf copr enable szasza/Profile-sync-daemon
$sudo dnf install profile-sync-daemon

在其他分布中,确保安装了以下依赖项:

  • Bash> = 4.0
  • Coreutils.
  • Finduils.
  • kmod.
  • rsync.
  • systemd.

然后从版本页面下载Profile-Sync-Daemon最新版本并手动安装。

请参阅安装文件中包含的安装文本文档以了解如何安装它。
从源安装通常如下:

$make
$sudo make install

备份浏览器配置文件

在首次开始使用PSD之前,强烈建议备份浏览器的配置文件。
例如,如果我们使用的是Mozilla Firefox,所有书签,保存的密码,扩展名和插件都存储在一个名为Profile的特殊文件夹中。
它通常存储在除了Firefox安装目录之外的单独的位置。
因此,如果Firefox崩溃或者出现问题,则可以轻松恢复配置文件夹。

在Linux桌面中,Firefox配置文件文件夹通常将存储在~/.mozilla位置。

$ls ~/.mozilla
extensions firefox systemextensionsdev

转到此位置并备份整个Firefox文件夹,并保持安全的位置。

此外,请参阅Firefox的官方文档页面备份和还原配置文件。

对于其他浏览器,请参阅其官方文档。

使用profile-sync-daemon将浏览器配置文件同步到Linux中的TMPFS(内存)

首先,通过运行命令创建PSD配置文件:

$psd

这将在/home/wuser/.config/psd/目录中创建psd.conf文件。

First time running psd so please edit /home/sk/.config/psd/psd.conf to your liking and run again.

现在编辑PSD配置文件:

$nano /home/sk/.config/psd/psd.conf

更换/主页/sk /使用。

找到浏览器行,取消注释它通过删除符号并将浏览器添加到空格分隔。

[...]
BROWSERS="chromium firefox"
[...]

我们可以通过提及空间分开,添加尽可能多的浏览器。
如果没有定义的浏览器,PSD将同步所有支持的浏览器。
保存并关闭文件。

请注意,只有在PSD服务启动和/或者重新启动后,才会应用对PSD.conf文件所做的任何更改。

启用和启动PSD服务:

$systemctl --user enable psd
$systemctl --user start psd

验证PSD服务是否已启动:

$systemctl --user status psd
● psd.service - Profile-sync-daemon
   Loaded: loaded (/usr/lib/systemd/user/psd.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2017-03-18 15:45:54 IST; 8s ago
     Docs: man:psd(1)
           man:profile-sync-daemon(1)
           https://wiki.archlinux.org/index.php/Profile-sync-daemon
  Process: 11172 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 11172 (code=exited, status=0/SUCCESS)
Mar 18 15:45:54 theitroad systemd[3824]: Starting Profile-sync-daemon...
Mar 18 15:45:54 theitroad systemd[3824]: Started Profile-sync-daemon.

PSD服务已启用并启动!

从现在开始,Profile-Sync-守护程序将浏览器的配置文件复制到启动时的TMPFS(内存),并将在HDD/SSD和内存周期性之间同步它们。
它还维护了物理磁盘中的配置文件备份。

预览配置文件同步 - 守护程序设置

我们可以通过选项-p预览PSD正在进行的。

$psd p

示例输出:

Profile-sync-daemon v6.31 on Ubuntu 18.04.4 LTS
 Systemd service is currently active.
 Systemd resync-timer is currently active.
 Overlayfs technology is currently inactive.
Psd will manage the following per /home/sk/.config/psd/psd.conf:
 browser/psname:  chromium/chromium
 owner/group id:  sk/1000
 sync target:     /home/sk/.config/chromium
 tmpfs dir:       /run/user/1000/sk-chromium
 profile size:    32M
 recovery dirs:   none
 browser/psname:  firefox/firefox
 owner/group id:  sk/1000
 sync target:     /home/sk/.mozilla/firefox/htoypxlg.default-1563118799416
 tmpfs dir:       /run/user/1000/sk-firefox-htoypxlg.default-1563118799416
 profile size:    245M
 recovery dirs:   none

正如我们所看到的,PSD在我的Ubuntu 18.04桌面上运行的是,例如管理两个浏览器的配置文件:Chromium和Firefox。
它还显示其他有用的详细信息,例如浏览器名称,所有者/组ID,配置文件大小,同步目标和TMPFS目录路径。

验证profile-sync-daemon是否正常工作

要验证Profile-Sync-Daemon实际同步浏览器的配置文件,请检查TMPFS目录路径。
在我的情况下,它是/运行/用户/1000。
我们可以在"PSD P"命令的输出中找到TMPFS的路径。

$ls /run/user/1000

示例输出:

bus     gnome-shell  psd.pid                                    snapd-session-agent.socket
dbus-1  gnupg        pulse                                      systemd
dconf   gvfs         sk-chromium                                update-notifier.pid
gdm     keyring      sk-firefox-htoypxlg.default-1563118799416

查看文件管理器中的TMPFS Sync目录:

让我们在TMPFS中检查配置文件夹的大小:

$du -sh /run/user/1000/sk-firefox-htoypxlg.default-1563118799416/
236M /run/user/1000/sk-firefox-htoypxlg.default-1563118799416/

..And大小的Firefox的默认配置文件文件夹:

$du -sh ~/.mozilla/firefox/htoypxlg.default-1563118799416
0 /home/sk/.mozilla/firefox/htoypxlg.default-1563118799416

如我们所见,TMPFS中的配置文件夹大小为236米,但默认配置文件夹的大小为零。
因为,它只是一个符号链接,指向TMPF的另一个目录,例如:/run/user/1000/sk-firefox-htoypxlg.default-1563118799416/。

我们可以使用命令验证它:

$readlink ~/.mozilla/firefox/htoypxlg.default-1563118799416
/run/user/1000/sk-firefox-htoypxlg.default-1563118799416

因此,Firefox浏览器的配置文件已加载到TMPF(即内存)中。

重新启动系统时,配置文件将同步到物理磁盘,然后再次登录时复制回内存。

建议阅读:

  • 如何在Linux中挂载内存中的临时分区
  • 如何在Linux中使用log2ram在内存中编写日志文件
  • 如何改进Linux中的应用启动时间

更改同步间隔

默认情况下,Profile-sync-emon每一个小时运行一次。
但是,我们可以通过为PSD设置Cron作业来根据愿望进行更改。

$crontab -e

设置要运行PSD的时间:

*/15 * * * *     /usr/bin/profile-sync-daemon sync &> /dev/null

上面的工作将在每个星期一小时(即每15分钟)运行PSD。
有关详细信息,请参阅我们的Cron作业手册。

清理恢复快照

要删除所有恢复快照,请运行:

$psd c

如果我们不再需要快照,请执行此操作。