Mover o diretório de cache do Google Chrome para o disco de RAM automaticamente na inicialização no Linux

0

SO: Linux Mint 19 Cinnamon 64-bit.

Eu sei como criar um disco RAM ( tmpfs ), na verdade eu tenho montado em /etc/fstab da seguinte forma:

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

Como você pode ver, ele tem 2 GiB e é acessível a todos os usuários no meu computador pessoal, de qualquer forma, não importa.

Eu sei sobre a opção --disk-cache-dir Google Chrome. Mas eu não quero usá-lo.

Por ser, eu quero ser capaz de rodar o Chrome da maneira que eu quiser, tendo o mesmo diretório de cache de RAM. Existem muitas maneiras de executar o meu Chrome. E se eu substituísse um ícone por exemplo? É inutilizável para mim pelo menos.

Eu busco orientação sobre a criação de um shell script, que criaria um symlink para o diretório de cache do Chrome em meu disco RAM, que é montado como visto acima.

Esse script pretendo colocar em root ' cron usando sudo crontab -e da seguinte forma:

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

Note que não tenho uma troca ativada no meu sistema.

    
por Vlastimil 28.09.2018 / 12:43

1 resposta

0

Supondo que você tenha seu disco RAM ( tmpfs ) montado no momento da inicialização em /etc/fstab , você pode fazer da seguinte maneira:

  1. Primeiro, certifique-se de que seu script será encerrado com erros, isso é importante, não pule esta etapa.

  2. Recomendo que você comece com definições de constantes para facilitar a manutenção.

  3. Eu acredito, mas não tenho certeza - sinta-se à vontade para me corrigir - você precisa usar caminhos absolutos de comandos, já que você pretende executar o script em crontab .

  4. Na verdade, parece que o comando which abaixo funciona sem nenhum problema, este comando que usei nesta resposta para garantir que em cada Linux onde quer que os binários estejam, eles são encontrados.

  5. Crie a estrutura de diretórios no disco RAM para o cache do Google Chrome.

  6. Ele só funcionará se você tiver acesso, portanto torne-se um proprietário de todo o disco RAM.

  7. Como não podemos saber o que pode acontecer, seria uma boa ideia remover o diretório de cache possivelmente existente (link simbólico ou real).

  8. Finalmente, vamos criar um link simbólico para o diretório de cache no seu disco RAM.

Note que a solução abaixo criará os dois:

  1. Diretório normal Cache .

  2. Além da solução original, também o diretório Media Cache , que será criado no Chrome após o carregamento de algumas mídias.

O script final pode ter essa aparência (deve ser portátil):

#!/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}"
    
por 28.09.2018 / 12:43