Armazenamento e Quota

Informações sobre o armazenamento disponível.

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

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

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!

Última modificação June 10, 2025: chore: escreve redirect pra tudo (094d058)