操作系统:Linux Mint 19 Cinnamon 64 位。
我知道如何创建 RAM 磁盘( ),实际上我已经像这样tmpfs
安装它:/etc/fstab
none /ramdisk tmpfs size=2G,mode=0777 0 0
如您所见,它有 2 GiB,并且我的个人计算机上的所有用户都可以访问,无论如何都没关系。
我知道--disk-cache-dir
Google Chrome 选项。但我不想使用它。
原因是,我希望能够以我喜欢的任何方式运行 Chrome,并拥有相同的 RAM 缓存目录。我运行 Chrome 的方式实在太多了。例如,如果我替换了一个图标怎么办?至少对我来说它是无法使用的。
我寻求有关创建 shell 脚本的指导,该脚本将在我的 RAM 磁盘上创建指向 Chrome 缓存目录的符号链接,该脚本的安装方式如上所示。
我打算将该脚本放入使用root
如下:cron
sudo 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
,您可以按如下方式操作:
首先,确保您的脚本会在出现错误时退出,这很重要,不要跳过这一步。
我建议您从常量定义开始,以便于维护。
我相信,但不确定 - 请随意纠正我 - 您需要使用命令的绝对路径,因为您打算从中运行脚本
crontab
。实际上,
command -v
下面的命令似乎没有任何问题。我在这个答案中使用了这个命令来确保在每个 Linux 上,无论二进制文件在哪里,都可以找到它们。在 RAM 磁盘上为 Google Chrome 缓存创建目录结构。
它仅在您有访问权限时才会起作用,因此请让自己成为整个 RAM 磁盘的所有者。
由于我们不知道会发生什么,因此删除可能存在的缓存目录(符号链接或真实)是个好主意。
最后,让我们在您的 RAM 磁盘上为缓存目录创建一个符号链接。
请注意,以下解决方案将同时创建:
普通
Cache
目录。除了原有的解决方案之外,还有
Media Cache
Chrome 在加载某些媒体时创建的目录。
最终的脚本可能看起来像这样(应该是可移植的):
#!/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}"