From c0538df46e93f4cbc3d596dac40b6b8b96318af3 Mon Sep 17 00:00:00 2001 From: fmkiotheka <fmkiotheka@inf.ufpr.br> Date: Tue, 6 Dec 2022 20:13:38 -0300 Subject: [PATCH] Cria artigo sobre quota --- source/conf.py | 4 +- source/index.rst | 4 +- source/pages/quota.rst | 193 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 197 insertions(+), 4 deletions(-) diff --git a/source/conf.py b/source/conf.py index 9e28783..0e307aa 100644 --- a/source/conf.py +++ b/source/conf.py @@ -7,8 +7,8 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = "Template-RDT" -copyright = "2022, Odair M." -author = "Odair M." +copyright = "2022, Odair M., Fernando K." +author = "Odair M., Fernando K." # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/source/index.rst b/source/index.rst index 6dd489e..dfa385c 100644 --- a/source/index.rst +++ b/source/index.rst @@ -8,8 +8,10 @@ Suporte do departamento de informática .. toctree:: :maxdepth: 2 - :caption: Contents: + :caption: Documentação + :glob: + pages/* Páginas diff --git a/source/pages/quota.rst b/source/pages/quota.rst index 55f8679..1cdbe38 100644 --- a/source/pages/quota.rst +++ b/source/pages/quota.rst @@ -1,2 +1,193 @@ +===== Quota ------ +===== + +Cada usuário possui um limite de armazenamento de arquivos nos sistemas computacionais do Departamento de Informática. A quota básica máxima é de: + +============== ============================ ========================= ================== +Diretório raiz Espaço em disco máximo Número de arquivos máximo Cópia de segurança +============== ============================ ========================= ================== +/home 2GB (2 · 10\ :sup:`9` bytes) 30 000 arquivos Diária +/nobackup 2GB (2 · 10\ :sup:`9` bytes) **Não tem limite** **Não tem** +============== ============================ ========================= ================== + +Isso significa que cada usuário possui, se bem gerenciado, 4GB 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 pessoal web /home +/nobackup/{grupo}/usuário Não importante e que pode ser criado, baixado de novo /nobackup +========================= ===================================================== ========= + +.. tip:: + /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 :ref:`recuperar um arquivo ou diretório <recuperacao>`. + +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 1954M 2149M 5084 30000 30000 + urquell.home:/nobackup + 367M 1954M 2149M 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* 1954M 2149M 7days 5086 30000 30000 + urquell.home:/nobackup + 367M 1954M 2149M 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 | Pode apagar sem problemas. + | gráficos usam para melhorar o | Se apagar, ele *cria de novo.* + | desempenho. | Ocupa **muito** espaço. + | Coloque no /nobackup. +~/.local/lib/python* | Bibliotecas Python instaladas | Pode usar muitos arquivos pequenos. + | pelo ``pip``. | Recomendado colocar no /nobackup. +~/.local/share/Trash | Lixeira da área de trabalho | Vale a pena manter no /home. +~/.vscode | Configuração e extensões | Ocupa **muito** espaço. + | do VS Code. | Coloque no /nobackup. +~/.npm | Cache do ``npm``, usado para | Pode usar **muitos** arquivos pequenos. + | melhorar o desempenho | Coloque no /nobackup +~/.eclipse | Configurações do Eclipse | Pode usar **muitos** arquivos pequenos. + | Coloque no /nobackup +~/.arduino* | Configurações e bibliotecas | Pode usar **muitos** arquivos pequenos. + | do Arduino | Coloque no /nobackup +~/.mozilla | Perfil do navegador com | Vale a pena manter no /home. + | configurações, histórico, + | extensões e sessões salvas +==================== ============================================ ================================================ + +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). + +.. _recuperacao: + +Recuperar um arquivo ou diretório +============================= + +.. warning:: + 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. + +Funcionamento da quota +================================== + +Quando se roda o comando ``quota -s`` pode se observar que existe tanto uma coluna quota, quanto uma coluna limit, e elas significam coisas diferentes. Vamos experimentar criando um arquivo de tamanho grande o suficiente para exceder a quota, mas não o limit:: + + $ head -c 1400MB /dev/zero >test + $ quota -s + Disk quotas for user: + Filesystem space quota limit grace files quota limit grace + urquell.home:/home + 1970M* 1954M 2149M 7days 5086 30000 30000 + urquell.home:/nobackup + 367M 1954M 2149M 11992 0 0 + $ touch test-file + $ echo oi >test-file + $ mkdir test-dir + +Note que estamos com a quota estourada mas não somos impedidos de criar arquivos ou diretórios. Vamos substituir exceder o limit então para ver o que acontece:: + + $ head -c 2000M /dev/zero >test + head: erro de escrita de 'standard output': Cota da disco excedida + $ quota -s + Disk quotas for user: + Filesystem space quota limit grace files quota limit grace + urquell.home:/home + 2149M* 1954M 2149M 7days 5086 30000 30000 + urquell.home:/nobackup + 367M 1954M 2149M 11992 0 0 + $ touch test-file + $ echo oi >test-file + -bash: echo: erro de escrita: Cota da disco excedida + $ mkdir test-dir + mkdir: não foi possível criar o diretório “test-dir”: Cota da disco excedida + +Observe que depois de exceder o limit, não é possível mais escrever no disco. + +Essa janela que existe entre o space e o quota é o tempo de avisar as aplicações que a quota foi excedida para que elas parem de escrever, porque quando chegar no limit, o sistema simplesmente vai parar de funcionar completamente até que o espaço seja liberado de novo. De forma análoga isso acontece com a quota de número de arquivos, mas como os dois valores são iguais, ao chegar em 30 mil arquivos, o sistema vai simplesmente parar de permitir a criação de novos arquivos. -- GitLab