De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Uso o RCS para edição de arquivos do sistema
Colaboração: José Arthur Benetasso Villanova
Data de Publicação: 10 de Novembro de 2003
O RCS (Revision Control System) é uma boa solução para a edição de
arquivos do sistema. Com ele você pode salva apenas as diferenças entre
ve rsões em um único arquivo, ao invés de ter um arquivo para cada
versão antiga.
Como um exemplo simples, editemos o arquivo /etc/passwd:
Primeiro passo: salvar a versão anterior:
# ci -l /etc/passwd
/etc/passwd,v <-- /etc/passwd
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> Arquivo de senhas da máquina localhost.
>> .
initial revision: 1.1
done
Altere o que for necessário e, após a edição, salve a versão atual:
# ci -l /etc/passwd
/etc/passwd,v <-- /etc/passwd
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single '.' or end of file:
>> Adição de um novo usuário.
>> .
done
Supondo que alguém (obviamente não você) introduziu um erro nesse
arquivo. Veja o que há de diferente entre a versão atual e a última
gravada no arquivo das revisões.
# rcsdiff /etc/passwd
===================================================================
RCS file: /etc/passwd,v
retrieving revision 1.2
diff -r1.2 /etc/passwd
41a42
> aaa
Depois de avaliadas as diferenças, corrija o erro e atualize se arquivo
de versões. Caso existam muitas mudanças, talvez seja mais convenient
e sobrescrever o arquivo com uma versão funcional.
# co /etc/passwd
/etc/passwd,v --> /etc/passwd
revision 1.2 (locked)
writable /etc/passwd exists; remove it? [ny](n): y
done
Caso queria a versão original, basta especificar com a flag -r:
# co -r1.1
Pronto, agora a versão do arquivo /etc/passwd é a Original (1.1).
Outro comando interessante é o rlog, que mostra as mensagens de log
gravadas na criação de cada versão.
# rlog /etc/passwd
RCS file: /etc/passwd,v
Working file: /etc/passwd
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
Arquivo de senhas da máquina localhost.
revision 1.2 locked by: root;
date: 2003/07/23 17:56:12; author: root; state: Exp; lines: +1 -0
Adição de um novo usuário.
revision 1.1
date: 2003/07/23 17:54:34; author: root; state: Exp;
Versão original.
Isso é o suficiente para o uso básico do RCS. As manpages 'rcs', 'ci',
'co', etc. contém muita informação útil caso queira se aprofundar.