Linux 启动时自动将 Google Chrome 缓存目录移动到 RAM 磁盘

Linux 启动时自动将 Google Chrome 缓存目录移动到 RAM 磁盘

操作系统:Linux Mint 19 Cinnamon 64 位。


我知道如何创建 RAM 磁盘( ),实际上我已经像这样tmpfs安装它:/etc/fstab

none    /ramdisk    tmpfs    size=2G,mode=0777    0    0

如您所见,它有 2 GiB,并且我的个人计算机上的所有用户都可以访问,无论如何都没关系。


我知道--disk-cache-dirGoogle Chrome 选项。但我不想使用它。

原因是,我希望能够以我喜欢的任何方式运行 Chrome,并拥有相同的 RAM 缓存目录。我运行 Chrome 的方式实在太多了。例如,如果我替换了一个图标怎么办?至少对我来说它是无法使用的。


我寻求有关创建 shell 脚本的指导,该脚本将在我的 RAM 磁盘上创建指向 Chrome 缓存目录的符号链接,该脚本的安装方式如上所示。

我打算将该脚本放入使用root如下:cronsudo crontab -e

@reboot /home/vlastimil/Development/sh/google-chrome-cache-ramdisk

请注意,我的系统上没有启用交换。

答案1

您正在寻找的是https://aur.archlinux.org/packages/profile-sync-daemon/从而使整个过程自动化。

答案2

tmpfs假设您在启动时安装了RAM 磁盘( ) /etc/fstab,您可以按如下方式操作:

  1. 首先,确保您的脚本会在出现错误时退出,这很重要,不要跳过这一步。

  2. 我建议您从常量定义开始,以便于维护。

  3. 我相信,但不确定 - 请随意纠正我 - 您需要使用命令的绝对路径,因为您打算从中运行脚本crontab

  4. 实际上,command -v下面的命令似乎没有任何问题。我在这个答案中使用了这个命令来确保在每个 Linux 上,无论二进制文件在哪里,都可以找到它们。

  5. 在 RAM 磁盘上为 Google Chrome 缓存创建目录结构。

  6. 它仅在您有访问权限时才会起作用,因此请让自己成为整个 RAM 磁盘的所有者。

  7. 由于我们不知道会发生什么,因此删除可能存在的缓存目录(符号链接或真实)是个好主意。

  8. 最后,让我们在您的 RAM 磁盘上为缓存目录创建一个符号链接。

请注意,以下解决方案将同时创建:

  1. 普通Cache目录。

  2. 除了原有的解决方案之外,还有Media CacheChrome 在加载某些媒体时创建的目录。


最终的脚本可能看起来像这样(应该是可移植的):

#!/bin/sh

########################################################
##    Google Chrome                                   ##
##                               Cache on RAM disk    ##
########################################################

set -eu

# constants definitions for easy edits
username="vlastimil"
ramdisk_path="/ramdisk"
cache_path_ramdisk="${ramdisk_path}/google-chrome/Default"
cache_path_userdir="/home/${username}/.cache/google-chrome/Default"

# create directory structure on RAM disk
mkdir -p "${cache_path_ramdisk}"

# change ownership of RAM disk to my user
chown -R "${username}":"${username}" "${ramdisk_path}"

# remove possibly existing cache directory (symlink or real)
rm -r -f "${cache_path_userdir}"

# create symlink for cache directory onto RAM disk
ln -s "${cache_path_ramdisk}" "${cache_path_userdir}"

相关内容