Sim, eu sei o que você está aí pensando! "Olha, lá vai ele ensinando milhões de 'refisefuqueiros' a criarem mais e mais remasterizações do
Ubuntu que em nada contribuem para a comunidade!". Sim, eu concordo, sempre critiquei duramente esse tipo de coisa. Mas a coisa
aqui é diferente!
Estou escrevendo este artigo para compartilhar a forma como solucionei uma demanda do meu trabalho. O texto é uma adaptação do roteiro que
criei documentando os procedimentos.
Lá precisei criar uma versão do Ubuntu customizada para rodar sob as regras de funcionamento e de segurança da empresa. Então em vez de o
usuário instalar um
Ubuntu "comum" e depois configurar tudo manualmente, ele usa a ISO que gerei, instala (usando os mesmos
procedimentos do Ubuntu "oficial") e ao final terá um sistema já com os aplicativos que utilizamos, com o
LDAP da rede devidamente
configurado, com acesso aos compartilhamentos de rede, regras de segurança, etc.
Aí já é um uso justificável, não é?
O que preciso ter instalado
Existem várias maneiras de remasterizar, sendo que a ferramenta
Remastersys é possivelmente a forma mais popular. Eu preferi
utilizar o UCK (
Ubuntu Customization Kit).
A vantagem dele é gerar ISOs com aparência e funcionalidade idêntica à mídia oficial do Ubuntu. Outra vantagem é que por trabalhar diretamente
em cima do pacote oficial, você gera um sistema mais limpo do que se usasse uma instalação existente, como o Remastersys faz, por exemplo.
Mas isso é uma questão de gosto e necessidades individuais, lógico.
O UCK está disponível no repositório oficial do Ubuntu, bastando instalar o pacote "uck":
$ sudo apt-get install uck
Acesso à internet
Durante a execução do processo de customização, o UCK irá puxar pacotes da internet.
No meu caso, temos um mirror dos repositórios oficias do Ubuntu dentro da rede interna. Entretanto, para que ele seja utilizado, é preciso mudar o
sources.list e isso só é possível quando o UCK fornecer um terminal para customizar o sistema. Até lá, ele vai tentar puxar da internet.
Como o acesso dos funcionários à internet é através de um proxy com autenticação, foi preciso incluir uns hacks nos sources do UCK configurando
o proxy.
O código-fonte é em Python e foi necessário editar os seguintes arquivos:
- /usr/lib/uck/customization-profiles/localized_cd/customize
- /usr/lib/uck/customization-profiles/localized_cd/customize_iso
- /usr/bin/uck-remaster-finalize-alternate
Nestes arquivos eu incluí a seguinte linha no começo dos arquivos:
export http_proxy="http://$chave:$senha@endereco_do_proxy:porta"