Determine se o sistema de arquivos ou partição está montado RO ou RW via Bash Script?
772
Existe uma maneira fácil de determinar se um sistema de arquivos montado é montado como somente leitura ou leitura-gravação? Eu estava pensando apenas em canalizar mount, mas pensei que poderia haver uma maneira mais fácil.
Este pequeno one-liner exibirá algo se existir um sistema de arquivos ro.
grep "[[:space:]]ro[[:space:],]" /proc/mounts
Supondo que você geralmente não tenha um sistema de arquivos ro como um CD na unidade, é suficiente para algumas coisas básicas do tipo de monitoramento e não requer a alteração do sistema de arquivos para encontrar o estado atual. Ele também não assume seu tipo de sistema de arquivos. Encaminhe-o para grep -v iso9660 se quiser manter seus CDs fora do registro.
Pergunta antiga, mas me deparei com ela procurando a mesma ajuda e parece ter encontrado uma maneira ainda mais fácil sem a necessidade de criar um arquivo.
Se o sistema de arquivos estiver montado, eu cd para um diretório temporário e tentarei criar um arquivo. O código de retorno informará se o sistema de arquivos é somente leitura ou leitura-gravação, desde que o sistema de arquivos não esteja cheio (obrigado Willem).
Este pequeno one-liner exibirá algo se existir um sistema de arquivos ro.
Supondo que você geralmente não tenha um sistema de arquivos ro como um CD na unidade, é suficiente para algumas coisas básicas do tipo de monitoramento e não requer a alteração do sistema de arquivos para encontrar o estado atual. Ele também não assume seu tipo de sistema de arquivos. Encaminhe-o para grep -v iso9660 se quiser manter seus CDs fora do registro.
Pergunta antiga, mas me deparei com ela procurando a mesma ajuda e parece ter encontrado uma maneira ainda mais fácil sem a necessidade de criar um arquivo.
Obviamente, root-ro é montado em ro fs e root-rw é rw fs.
Se o sistema de arquivos estiver montado, eu cd para um diretório temporário e tentarei criar um arquivo. O código de retorno informará se o sistema de arquivos é somente leitura ou leitura-gravação, desde que o sistema de arquivos não esteja cheio (obrigado Willem).
Acabei de ter esse problema e estas são pastas reais ...
Dê uma olhada em /proc/mounts -
FYI - Essas duas partições são exibidas como rw montadas ao usar apenas o comando mount.
Com base na resposta de um flickerfly , influenciada por um comentário de WhiteKnight
Crie uma função de detector na mosca.
use-o para determinar se um caminho está em um fs somente leitura
E descarte-o quando terminar
Aqui está minha solução:
Por exemplo, para verificar se a partição raiz está no modo somente leitura:
Semelhante ao Antonio, você pode usar /proc/mounts para fazer a mesma coisa. Use sua própria unidade no lugar de sda4.
cat /proc/mounts | grep /dev/sda4 | awk '{print substr($4,1,2)}'