Armazenamento e Quota
7 minutos de leitura
Cada conta possui um espaço de armazenamento compartilhado entre todos os computadores. Este armazenamento está disponível o tempo todo em praticamente todas as máquinas do departamento mediante acesso do usuário. Quaisquer alterações feitas são refletidas imediatamente em todas as outras máquinas, pois as máquinas apenas leem e escrevem em um mesmo servidor central. Para transferir arquivos de dentro para fora do departamento ou vice-versa, copie via SSH.
Como os arquivos são sincronizados entre todas as máquinas, isso pode ser uma fonte de problemas. Se você tentar rodar um navegador em uma máquina e depois tentar rodar o navegador novamente em outra máquina, você receberá um aviso de que já existe uma instância deste navegador rodando, pois o navegador cria um arquivo para garantir que somente um navegador está rodando.
Cada usuário possui um limite de armazenamento de arquivos. Este limite
é chamado de quota, e é possível verificá-la pelo comando quota
.
A quota básica é de:
Diretório raiz | Espaço em disco máximo | Número de arquivos máximo | Cópia de segurança |
---|---|---|---|
/home |
10GB (10 · 10^9^ bytes) | Não tem limite | Duas vezes ao dia |
/nobackup |
10GB (10 · 10^9^ bytes) | Não tem limite | Não tem |
Isso significa que cada usuário possui, se bem gerenciado, 20GB disponíveis para utilização de propósito geral. É responsabilidade de cada usuário gerenciar a sua própria quota, e o descuido pode levar a impossibilidade de receber e-mails e a impossibilidade de utilizar os computadores do laboratório de modo geral. Os seus diretórios pessoais são mapeados para as seguintes quotas:
Diretório | Propósito | Quota |
---|---|---|
/home/{grupo}/{usuário} |
Arquivos importantes | /home |
/home/html/inf/{usuario} |
Página web pessoal | /home |
/nobackup/{grupo}/usuário |
Não importante e que pode ser criado, baixado de novo | /nobackup |
Dica
/home/{grupo}/{usuário}
é o diretório para onde você vai quando você usa o
comando cd
sem argumentos. Use o comando pwd
para descobrir o diretório
onde você está. Exemplo:
$ cd
$ pwd
/home/bcc/usr99
/home/bcc/usr99
é o diretório de um usuário que é aluno de curso de
Bacharelado em Ciência da Computação que fica no grupo bcc
e tem nome
de usuário usr99
.
A primeira quota é a do diretório /home
. Isso engloba também
a sua página web pessoal,
pois ela se encontra em um subdiretório /home/html
. Todos os dias, de
madrugada e ao meio-dia é feito uma cópia de segurança (ou backup)
deste diretório. Isso significa que é possível
recuperar um arquivo ou diretório.
Se você possui algo que precise de muitos arquivos, mas que não ocupam
muito espaço (por exemplo, um diretório node_modules
, ou um clone de um
repositório gigante), você pode utilizar o diretório /nobackup
. Note que
como o nome diz, não são feitas cópias de segurança neste diretório, e
qualquer arquivo que seja apagado acidentalmente é irrecuperável.
Para descobrir o quanto você tem de quota, utilize o comando quota -s
:
$ quota -s
Disk quotas for user:
Filesystem space quota limit grace files quota limit grace
urquell.home:/home
634M 9766M 9766M 5084 0 0
urquell.home:/nobackup
367M 9766M 9766M 11992 0 0
O -s
serve apenas para que os números apresentados sejam mais legíveis
para humanos, com K para kilobyte, M para megabyte e G para gigabyte.
Neste exemplo, o usuário possui 634M de espaço utilizado na quota /home
e 367M de espaço utilizado na quota /nobackup
. Além disso, são 5084
arquivos (ou diretórios, que também são arquivos) no /home e 11992
arquivos no /nobackup
. Este usuário está gerenciando bem a sua quota e
não estourou nenhum limite. A quota de um usuário estourado possui uma
estrelinha *
perto do limite excedido, como em:
$ quota -s
Disk quotas for user:
Filesystem space quota limit grace files quota limit grace
urquell.home:/home
2149M* 9766M 9766M 5086 0 0
urquell.home:/nobackup
367M 9766M 9766M 11992 0 0
Caso este seja o seu caso, continue lendo.
Não consigo logar na minha conta
Você pode fazer login via SSH ou utilizar o modo texto nos laboratórios do DINF. O modo texto pode ser ativado pressionando Ctrl + Alt + F1, e lá será pedido o seu nome de usuário e senha para entrar no sistema, como se fosse uma sessão SSH.
Com acesso ao sistema, agora você pode limpar a sua conta, se atentando aos vilões da quota.
Vilões da quota
.cache, .local, .vscode, .npm, …
Os principais vilões são “invisíveis”, e são diretórios de trabalho de programas que abusam do espaço em disco para funcionar. Os principais encontrados são:
Diretório | Descrição | O que fazer |
---|---|---|
~/.cache |
Navegadores web, programas gráficos usam para melhorar o desempenho. | Pode apagar o conteúdo sem problema. Se apagar, os softwares criam de novo. Ocupa muito espaço. Coloque no /nobackup . |
~/.local/lib/python* |
Bibliotecas Python instaladas pelo pip . |
Pode usar muitos arquivos pequenos. Recomendado colocar no /nobackup . |
~/.local/share/Trash |
Lixeira da área de trabalho | Vale a pena manter no /home . |
~/.vscode |
Configuração e extensões do VS Code. | Ocupa muito espaço. Coloque no /nobackup . |
~/.npm |
Cache do npm , usado para melhorar o desempenho. |
Pode usar muitos arquivos pequenos. Coloque no /nobackup . |
~/.eclipse |
Configurações do Eclipse. | Pode usar muitos arquivos pequenos. Coloque no /nobackup . |
~/.arduino* |
Configurações e bibliotecas do Arduino. | Pode usar muitos arquivos pequenos. Coloque no /nobackup . |
~/.mozilla |
Perfil do navegador com configurações, histórico, extensões e sessões salvas. | Quantidade de arquivos razoável. Vale a pena manter no /home . |
Um script em bash para colocar alguns diretórios no /nobackup é o que segue:
#!/bin/bash
LINK_TO_NOBACKUP=.cache .local .npm
for directory in $LINK_TO_NOBACKUP; do
mv ${HOME}/${directory} /nobackup/$(id -gn)/${USER}/${directory}
ln -s /nobackup/$(id -gn)/${USER}/${directory} ${HOME}/${directory}
done;
Ele move o diretório para o /nobackup
e daí faz um link simbólico para
lá. Isso significa que se você tentar acessar o diretório, o sistema
operacional vai “redirecionar” você para lá.
Mailbox
A sua caixa de e-mail fica em ~/Mailbox
. Dependendo da quantidade de
e-mails que você recebe e os anexos destes e-mails, a sua caixa de
entrada pode ficar com um tamanho considerável. Algo recomendado é
entrar no Roundcube Webmail e pesquisar pelos e-mails com anexos e então
apagá-los, porque eles são os que mais ocupam espaço.
Quaisquer outros arquivos
Se você ainda não souber exatamente onde estão os arquivos que estão
ocupando o espaço no seu disco, use o comando du
:
$ cd
$ du -had 1 | sort -h
0 ./.cache
4,0K ./.bash_history
4,0K ./.bash_logout
4,0K ./.profile
4,0K ./.python_history
8,0K ./.linuxmint
32K ./.ssh
52K ./dev
104K ./.cinnamon
148K ./.java
256K ./.config
880K ./Mail
1,1M ./.local
1,8M ./slides.pdf
39M ./Mailbox
60M ./soft
122M ./.mozilla
371M ./Downloads
634M .
Podemos ver neste exemplo que o diretório de Downloads e o perfil do
Firefox no .mozilla
ocupam a maioria do espaço, e devem ser o maior
alvo de limpeza. Este usuário colocou o .cache
no /nobackup
, então ele
aparece com 0 bytes.
Caso você queira manter um certo arquivo ou diretório, mas fazer com que
ele use menos espaço, uma opção é comprimí-lo. Você pode utilizar o
comando tar
ou o comando zip
para realizar tal ação, mas note que a
compressão não vai ajudar com arquivos já bem comprimidos como imagens
(como JPG e PNG), vídeos (como MP4, WEBM) e áudio (como MP3, OGG).
Recuperar um arquivo ou diretório
Atenção
Se você criou e deletou o arquivo que você quer recuperar em um intervalo curto de tempo, pode não ser possível que ele seja recuperado, pois as cópias de segurança são feitas apenas duas vezes por dia: de madrugada e ao meio-dia.Para recuperar um arquivo que você perdeu acesse uma máquina com o /home
montado como a servidora de SSH
ou um computador no laboratório do departamento e em seguida você poderá
encontrar no diretório /home/.zfs/snapshot
um diretório
virtual contendo o conteúdo do backup em um determinado tempo:
$ ls /home/.zfs/snapshot
zas_bidaily-2024-03-15-0300
zas_bidaily-2024-03-15-1500
zas_bidaily-2024-03-16-0300
zas_bidaily-2024-03-16-1500
zas_bidaily-2024-03-17-0300
zas_bidaily-2024-03-17-1500
Os horários estão em UTC. Como estamos na zona temporal UTC-3, os
backups de 3h e 15h equivalem aos backups de 0h e 12h respectivamente.
Acessando um desses diretórios é necessário acessar os mesmos caminhos
necessários para chegar no seu diretório /home, então uma maneira
simples de navegar até lá é utilizando a variável de ambiente
$HOME
:
$ cd /home/.zfs/snapshot/zas_bidaily-2024-03-16-0300/${HOME#/home}
Lá dentro você vai encontrar uma árvore de diretórios idêntica à sua. Copie o arquivo desejado do backup para o seu /home real e seja feliz!