Настройка SSD — перенос кеша хром и мозиллы

SSD отличается от HDD тем что число циклов перезаписи на нем ограничено порядка 10 000 и более. Цифра немалая тем не менее постоянными и мелкими файлами можно окончательно его угробить.

При установке SSD на свой компьютер первым делом необходимо перенести папку кеша браузера на Ramdisk, чтобы постоянные и малые записи кеша на SSD не исчерпали ограниченное количество записей этого типа хварддрайва.

Для этого нам надо будет создать

1. ramdisk,

2. service ‘chrome-ramdisk’ для записи кеша при выключении/включении компа, и

3. символические ссылки на папки кеша.

Открываем по рутом /etc/fstab и дописываем следующую строку:


tmpfs /home/aaa/.chrome/ramdisk tmpfs noatime,nodiratime,nodev,nosuid,uid=1000,gid=1000,mode=0775,size=500M 0 0

Имя пользователя и uid gid заменяем на свои. Узнать можно командой id.
Создаем необходимую директорию и монтируем ее.


mkdir ~/.chrome/ramdisk
sudo mount -t tmpfs -o size=512M tmpfs ~/.chrome/ramdisk

2. Создаем юнит-файл /etc/systemd/system/chrome-ramdisk.service с таким содержимым


[Unit]
Description=Keep Chrome's RAM disk between power-offs

[Service]
Type=oneshot
ExecStart=/home/aaa/bin/chrome-ramdisk restore
ExecStop=/home/aaa/bin/chrome-ramdisk save
RemainAfterExit=true

[Install]
WantedBy=graphical.target

Как видите сервис обращается к пользовательскому скрипту с параметром restore/save . Сделаем этот скрипт, как у нас указано он лежит в /home/aaa/bin/


#!/bin/bash

shopt -s dotglob
cd /home/aaa/.chrome

if [[ "$1" == "save" ]]; then
        tar -cf ramdisk.tar ramdisk/*
	rm -rf ramdisk/*
elif [[ "$1" == "restore" ]]; then
	if [ ! -f ramdisk.tar ]; then
	    tar -xf /home/aaa/ramdisk.tar
	else
           tar -xf ramdisk.tar
	   rm ramdisk.tar        
	fi       
fi

Добавляем прав на исполнение данного скрипта


sudo chmod +x ~/bin/chrome-ramdisk

Включим наш новый сервис chrome-ramdisk.service


sudo systemctl enable chrome-ramdisk.service

3. Напишем символические ссылки на перенесенные папки в ramdiskе. Для начала копируем папки конфига и кеша из ~/.cache/google-chrome и ~/.config/google-chrome (а также для firefox ~/.cache/mozilla и ~/.mozilla/firefox ) в ~/.chrome/ramdisk. Я перенес под названиями cache, config, firefox-cache, mozilla.


mv ~/.cache/google-chrome cache
mv ~/.config/google-chrome  config
mv ~/.cache/mozilla firefox-cache
mv ~/.mozilla/firefox mozilla

Символические ссылки будут созданы так


ln -s ~/.chrome/ramdisk/cache ~/.cache/google-chrome
ln -s ~/.chrome/ramdisk/config ~/.config/google-chrome
ln -s ~/.chrome/ramdisk/firefox-cache  ~/.mozilla/firefox
ln -s ~/.chrome/ramdisk/mozilla  ~/.cache/mozilla

Проверяем


sudo service chrome-ramdisk stop
sudo service chrome-ramdisk start

Сначала создастся архив, а затем он распакуется в рамдиск.

На centos Chrome может не запуститься, выдав ошибку
localhost setroubleshoot: SELinux is preventing Chrome_ChildIOT from read access
Достаточно просто запустить команду


setsebool -P unconfined_chrome_sandbox_transition 0

Leave a comment

Your email address will not be published.


*