ОС: Linux Mint 19 Cinnamon 64-bit.


Я знаю, как создать RAM-диск (tmpfs), на самом деле он монтируется в /etc/fstab примерно так:

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

Как видите, он имеет 2 ГиБ и доступен для всех пользователей на моем персональном компьютере, в любом случае это не имеет значения.


Я знаю о параметре --disk-cache-dir Google Chrome. Но я не хочу этим пользоваться.

Причина в том, что я хочу иметь возможность запускать Chrome любым удобным для меня способом, имея один и тот же каталог кеш-памяти. Просто есть слишком много способов запустить Chrome. Что если я заменил значок, например? Это непригодно для меня по крайней мере.


Я ищу руководство по созданию сценария оболочки, который будет создавать символическую ссылку на каталог кэша Chrome на моем RAM-диске, который смонтирован, как показано выше.

Этот скрипт я собираюсь поместить в root cron с помощью sudo crontab -e следующим образом:

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

Обратите внимание, что у меня не включен своп в моей системе.

1 ответ1

0

Предположим, у вас есть RAM-диск (tmpfs), смонтированный во время загрузки в /etc/fstab , вы можете сделать это следующим образом:

  1. Во-первых, убедитесь, что ваш скрипт завершится с ошибками, это важно, не пропустите этот шаг.

  2. Я рекомендую вам начать с определения констант для облегчения обслуживания.

  3. Я верю, но не уверен - не стесняйтесь меня поправлять - вам нужно использовать абсолютные пути команд, так как вы собираетесь запускать скрипт из crontab .

  4. На самом деле, похоже, команда which ниже работает без каких-либо проблем, эту команду я использовал в этом ответе, чтобы убедиться, что в каждом Linux, где бы ни находились двоичные файлы, они найдены.

  5. Создайте структуру каталогов на RAM-диске для кеша Google Chrome.

  6. Это будет работать только при наличии доступа, поэтому сделайте себя владельцем всего RAM-диска.

  7. Поскольку мы не можем знать, что может произойти, было бы неплохо удалить, возможно, существующий каталог кэша (символическую ссылку или реальную).

  8. Наконец, давайте создадим символическую ссылку для каталога кеша на ваш RAM-диск.

Обратите внимание, что решение ниже создаст оба:

  1. Нормальный каталог Cache .

  2. В дополнение к исходному решению также имеется каталог Media Cache , который Chrome создаст при загрузке некоторых носителей.


Конечный скрипт может выглядеть так (должен быть переносимым):

#!/bin/sh

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

set -o nounset
set -o errexit

# 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
$(which mkdir) -p "${cache_path_ramdisk}"

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .