Armazenamento e Quota

Cada conta pode armazenar informações de uma forma similar a um disco de computador. Este armazenamento está disponível o tempo todo em praticamente todas as máquinas do departamento mediante acesso do usuário. Existem servidores responsáveis apenas pelo armazenamento das informações dos usuários e cada vez que um usuário faz qualquer interação com o seu “disco”, estes servidores são contatados para obter arquivos do “disco” ou fazer alterações. Para transferir arquivos de dentro para fora ou vice-versa, copie via SSH.

Na prática, isso significa que todos os computadores são sincronizados. Se você entrar mais de uma vez na mesma conta em computadores diferentes do laboratório, eles compartilharão todos os arquivos colocados no “disco”. Isso pode ser a fonte de conflitos: Se você tentar rodar um navegador por exemplo 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.

Cada usuário possui um limite de armazenamento de arquivos. Este limite é chamado de quota, e é gerenciado por um programa também chamado 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 · 109 bytes)

Não tem limite

Duas vezes ao dia

/nobackup

10GB (10 · 109 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 um 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 faz cd. 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, é 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
Vale a pena manter no /home.

Um script em bash para colocar alguns diretórios no /nobackup é o que segue:

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 maior parte 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

Aviso

Se você criou e deletou o arquivo que você quer recuperar no mesmo dia, pode não ser possível que ele seja recuperado, pois as cópias de segurança são feitas uma vez por dia de madrugada.

Para recuperar um arquivo que você perdeu, mande um e-mail para suporte@inf.ufpr.br com assunto “Recuperação de arquivo” e as seguintes informações no corpo:

  • Seu nome completo, grafado corretamente e SEM abreviaturas;

  • Seu nome de usuário;

  • O caminho completo do arquivo ou diretório perdido;

  • A data e a hora em que o arquivo foi apagado.

Arquivos e diretórios sem cópia de segurança

Alguns arquivos e diretórios NÃO TEM cópia de segurança. Estes são padrões de --exclude do rsync, e por exemplo tudo abaixo de ~/nobkp e de ~/a/nobkp também é excluído:

backup/
[cC]ache4
[cC]ache
.[cC]ache
.mozilla/**/Cache*
.opera/opcache/*
*/*/.openoffice.org2/**/*cache
*/*/.jpi_cache/*
favicon_cache/*
nobk/*
nobkp/*
nobackup/*
swap
GNUstep/*
msn/*
.xsession-errors
amsn/*
.amsn/*
.amsn*/*
*/*/.amsn/*
*/*/.opera/acpo/*
*/*/.fontconfig/*
.xMule/*
.[ax]Mule/*
.azureus/*
.gaim/*
.dbus/*
.kde/*
.metacity/sessions/*.ms
.fontconfig/*
.themes/*
.thumbnails/*
.macromedia/*
.wine/*
raw/*
*.raw
*.qcow2
.Trash*/***
Trash*/***
trash*/***
.dropbox.cache/***
.nfs*
lost+found