Personalizando um DVD de instalação do Ubuntu Linux
Neste artigo compartilho a forma como solucionei uma demanda do meu trabalho: Criar uma versão do Ubuntu customizada (remaster) para funcionar sob as regras de funcionamento e de segurança da empresa.
Apresentação e requisitos
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 é?
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
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:
Nestes arquivos eu incluí a seguinte linha no começo dos arquivos:
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"