A implementação de pré-instalações personalizadas do SUSE Linux Enterprise Server em um grande número de máquinas idênticas dispensa a instalação de cada uma delas separadamente e oferece uma instalação padronizada para os usuários finais. Com o Firstboot do YaST, crie imagens de pré-instalação personalizadas e determine o workflow das etapas finais de personalização que envolvem interação do usuário final (ao contrário do AutoYaST, que permite instalações completamente automatizadas. Para obter mais informações, consulte o Capítulo 21, Instalação automatizada).
A criação de uma instalação personalizada, a implementação dessa instalação em seu hardware e a personalização do produto final envolve as seguintes etapas:
Prepare a máquina master que tem o disco que precisa ser clonado para as máquinas clientes. Para obter mais informações, consulte a Seção 20.1, “Preparando a máquina master”.
Personalize o workflow do firstboot. Para obter mais informações, consulte a Seção 20.2, “Personalizando a instalação do firstboot”.
Clone o disco da máquina master e implemente essa imagem nos discos dos clientes. Para obter mais informações, consulte a Seção 20.3, “Clonando a instalação master”.
Oriente o usuário final a personalizar a instância do SUSE Linux Enterprise Server. Para obter mais informações, consulte a Seção 20.4, “Personalizando a instalação”.
Para preparar uma máquina master para um workflow do firstboot, faça o seguinte:
Insira a mídia de instalação na máquina master.
Inicialize a máquina.
Execute uma instalação normal, incluindo todas as etapas de configuração necessárias, e aguarde a inicialização da máquina instalada. Instale também o pacote yast2-firstboot.
Para definir seu próprio workflow de etapas de configuração do YaST para o usuário final ou adicionar seus próprios módulos do YaST a esse workflow, continue na Seção 20.2, “Personalizando a instalação do firstboot”. Caso contrário, vá diretamente para a Passo 5.
Habilite o firstboot como root:
Crie um arquivo vazio /var/lib/YaST2/reconfig_system para acionar a execução do firstboot. Esse arquivo será apagado após o término bem-sucedido da configuração do firstboot. Crie esse arquivo usando o seguinte comando:
touch /var/lib/YaST2/reconfig_system
Prossiga para a Seção 20.3, “Clonando a instalação master”.
Personalizar o workflow da instalação do firstboot pode envolver vários componentes diferentes. A personalização deles é opcional. Se você não fizer mudanças, o firstboot executará a instalação usando as configurações padrão. As seguintes opções estão disponíveis:
Personalizando mensagens ao usuário, conforme descrito na Seção 20.2.1, “Personalizando as mensagens do YaST”.
Personalizando licenças e ações de licença, conforme descrito na Seção 20.2.2, “Personalizando a ação de licença”.
Personalizando as notas de versão para exibição, conforme descrito na Seção 20.2.3, “Personalizando as notas de versão”.
Personalizando a ordem e o número de componentes envolvidos na instalação, conforme descrito na Seção 20.2.4, “Personalizando o workflow”.
Configurando scripts opcionais extras, conforme descrito na Seção 20.2.5, “Configurando scripts adicionais”.
Para personalizar qualquer um desses componentes, modifique os seguintes arquivos de configuração:
/etc/sysconfig/firstboot
Configure vários aspectos do primeiro boot (como notas de versão, scripts e ações de licença).
/etc/YaST2/firstboot.xml
Configure o workflow de instalação, habilitando ou desabilitando componentes ou adicionando componentes personalizados.
Traduza um workflow de instalação personalizado, conforme descrito na Seção 20.2.6, “Traduzindo o workflow de instalação”.
/etc/YaST2/firstboot.xml é o caminho padrão do arquivo de controle instalado pelo pacote yast2-firstboot. Caso seja necessário definir outro local para o arquivo de controle, edite /etc/sysconfig/firstboot e mude a variável FIRSTBOOT_CONTROL_FILE para o local de sua preferência.
Para personalizar mais do que apenas os componentes do workflow, consulte a documentação do control.xml em http://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control.
Por padrão, a instalação do SUSE Linux Enterprise Server apresenta várias mensagens predefinidas que são localizadas e exibidas em determinadas fases do processo de instalação. Elas incluem uma mensagem de boas-vindas, uma mensagem de licença e uma mensagem de felicitação no final da instalação. Você pode substituir qualquer uma delas por suas próprias versões e incluir versões localizadas dessas mensagens na instalação. Para incluir sua própria mensagem de boas-vindas, faça o seguinte:
Efetue login como root.
Abra o arquivo de configuração /etc/sysconfig/firstboot e aplique as seguintes mudanças:
Defina FIRSTBOOT_WELCOME_DIR como o caminho de diretório em que deseja armazenar os arquivos contendo a mensagem de boas-vindas e as versões localizadas, por exemplo:
FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
Se a sua mensagem de boas-vindas tiver nomes de arquivo diferentes de welcome.txt e welcome_idioma.txt (em que idioma corresponde aos códigos de idioma ISO 639, como “cs” ou “de”), especifique o padrão do nome de arquivo em FIRSTBOOT_WELCOME_PATTERNS. Por exemplo:
FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"
Se não for definido, o valor padrão de welcome.txt será considerado.
Crie o arquivo de boas-vindas e as versões localizadas e insira-os no diretório especificado no arquivo de configuração /etc/sysconfig/firstboot.
Execute um procedimento semelhante para configurar mensagens personalizadas de licença e de conclusão. Essas variáveis são FIRSTBOOT_LICENSE_DIR e FIRSTBOOT_FINISH_FILE.
Mude SHOW_Y2CC_CHECKBOX para “yes”, se o usuário tiver que iniciar o YaST diretamente após realizar a instalação.
É possível personalizar a maneira como o sistema de instalação reage quando o usuário não aceita o contrato de licença. Há três maneiras diferentes para o sistema reagir a esse cenário:
A instalação do firstboot é interrompida e todo o sistema é encerrado. Essa é a configuração padrão.
A instalação do firstboot continua.
A instalação no primeiro boot é interrompida, mas o sistema tenta inicializar.
Faça sua escolha e defina LICENSE_REFUSAL_ACTION para o valor apropriado.
Se você mudar a instância do SUSE Linux Enterprise Server que está implantando com o firstboot, provavelmente precisará explicar aos usuários finais sobre os aspectos importantes de seu novo sistema operacional. A instalação padrão usa as notas de versão (exibidas durante uma das fases finais da instalação) para fornecer informações importantes aos usuários. Para que suas próprias notas de versão modificadas sejam exibidas como parte de uma instalação do firstboot, faça o seguinte:
Crie seu próprio arquivo de notas de versão. Use o formato RTF como no arquivo de exemplo em /usr/share/doc/release-notes e grave o resultado como RELEASE-NOTES.en.rtf (para inglês).
Armazene as versões localizadas opcionais perto da versão original e substitua a parte en do nome de arquivo pelo código de idioma ISO 639 real, como de para alemão.
Abra o arquivo de configuração do firstboot de /etc/sysconfig/firstboot e defina FIRSTBOOT_RELEASE_NOTES_PATH como o diretório real no qual os arquivos de notas de versão serão armazenados.
Por padrão, um workflow de firstboot padrão inclui os seguintes componentes:
Seleção de idioma
Bem-vindo
Contrato de Licença
Nome do Host
Rede
Horário e data
Desktop
Senha de root
Método de Autenticação do Usuário
Gerenciamento de Usuário
Configuração de hardware
Terminar Configuração
Esse layout padrão de um workflow de instalação de firstboot não é obrigatório. É possível habilitar ou desabilitar determinados componentes ou integrar seus próprios módulos ao workflow. Para modificar o workflow do firstboot, edite manualmente o arquivo de configuração do firstboot /etc/YaST2/firstboot.xml. Esse arquivo XML é um subconjunto do arquivo padrão control.xml usado pelo YaST para controlar o workflow de instalação.
Para obter uma visão geral das propostas, consulte o Exemplo 20.1, “Configurando as telas de proposta”. Ela fornece informações básicas suficientes para modificar o workflow de instalação do firstboot. A sintaxe básica do arquivo de configuração do primeiro boot (e como os elementos principais são configurados) é explicada neste exemplo.
…
<proposals config:type="list">1
<proposal>2
<name>firstboot_hardware</name>3
<mode>installation</mode>4
<stage>firstboot</stage>5
<label>Hardware Configuration</label>6
<proposal_modules config:type="list">7
<proposal_module>printer</proposal_module>8
</proposal_modules>
</proposal>
<proposal>
…
</proposal>
</proposals>
O container de todas as propostas que devem fazer parte do workflow de firstboot. | |
O container de uma proposta individual. | |
O nome interno da proposta. | |
O modo desta proposta. Não faça mudanças aqui. Para uma instalação de firstboot, isso deve ser definido como | |
O estágio do processo de instalação em que esta proposta é chamada. Não faça mudanças aqui. Para uma instalação de firstboot, isso deve ser definido como | |
O rótulo a ser exibido na proposta. | |
O container de todos os módulos que fazem parte da tela de proposta. | |
Um ou mais módulos que fazem parte da tela de proposta. |
A seção seguinte do arquivo de configuração de firstboot consiste na definição do workflow. Todos os módulos que devem fazer parte do workflow de instalação de firstboot devem ser listados aqui.
<workflows config:type="list">
<workflow>
<defaults>
<enable_back>yes</enable_back>
<enable_next>yes</enable_next>
<archs>all</archs>
</defaults>
<stage>firstboot</stage>
<label>Configuration</label>
<mode>installation</mode>
… <!–– list of modules ––>
</modules>
</workflow>
</workflows>
…
A estrutura geral da seção workflows é bem semelhante à da seção proposals. Um container inclui os elementos do workflow, e todos os elementos do workflow incluem as informações sobre fase, rótulo e modo (exatamente como as propostas apresentadas no Exemplo 20.1, “Configurando as telas de proposta”). A diferença mais significativa é a seção defaults, que contém informações básicas de design para os componentes de workflow:
enable_back
Inclua o botão em todas as caixas de diálogo.
enable_next
Inclua o botão em todas as caixas de diálogo.
archs
Especifique as arquiteturas de hardware nas quais este workflow deve ser usado.
<modules config:type="list">1
<module>2
<label>Language</label>3
<enabled config:type="boolean">false</enabled>4
<name>firstboot_language</name>5
</module>
<modules>
O container de todos os componentes do workflow. | |
A definição do módulo. | |
O rótulo exibido com o módulo. | |
O switch para habilitar ou desabilitar este componente no workflow. | |
O nome do módulo. O módulo deve estar localizado em |
Para fazer mudanças no número ou na ordem das telas de proposta durante a instalação do firstboot, faça o seguinte:
Abra o arquivo de configuração de firstboot em /etc/YaST2/firstboot.xml.
Apague ou adicione telas de proposta ou mude a ordem das telas existentes:
Para apagar toda a proposta, remova o elemento proposal, incluindo todos os seus subelementos, da seção proposals e remova o respectivo elemento module (com os subelementos) do workflow.
Para adicionar uma nova proposta, crie um novo elemento proposal e preencha todos os subelementos necessários. Verifique se a proposta existe como um módulo do YaST em /usr/share/YaST2/clients.
Para mudar a ordem das propostas, mova os respectivos elementos module que contêm as telas de proposta no workflow. Observe que é possível haver dependências em relação a outras etapas de instalação que exijam uma ordem específica de propostas e componentes de workflow.
Aplique suas mudanças e feche o arquivo de configuração.
Você poderá sempre mudar o workflow das etapas de configuração quando o padrão não atender às suas necessidades. Habilitar ou desabilitar alguns módulos do workflow (ou adicionar módulos personalizados).
Para alternar o status de um módulo no workflow de firstboot, faça o seguinte:
Abra o arquivo de configuração /etc/YaST2/firstboot.xml.
Mude o valor do elemento enabled de true para false, para desabilitar o módulo, ou de false para true, para habilitá-lo novamente.
<module>
<label>Time and Date</label>
<enabled config:type="boolean">true</enabled>
<name>firstboot_timezone</name>
</module>
Aplique suas mudanças e feche o arquivo de configuração.
Para adicionar um módulo personalizado ao workflow, faça o seguinte:
Crie seu próprio módulo do YaST e armazene o arquivo de módulo nome_do_módulo.ycp em /usr/share/YaST2/clients.
Abra o arquivo de configuração /etc/YaST2/firstboot.xml.
Determine em que ponto do workflow o novo módulo deverá ser executado. Ao fazer isso, lembre-se de considerar e resolver possíveis dependências em relação a outras etapas do workflow.
Crie um novo elemento module dentro do container modules e adicione os subelementos apropriados:
<modules config:type="list">
…
<module>
<label>my_module</label>
<enabled config:type="boolean">true</enabled>
<name>filename_my_module</name>
</module>
</modules>
Digite o rótulo que será exibido no seu módulo no elemento label.
Verifique se enabled está definido como true para que seu módulo seja incluído no workflow.
Digite o nome de arquivo do módulo no elemento name. Omita o caminho completo e o sufixo .ycp.
Aplique suas configurações e feche o arquivo de configuração.
Se o hardware de destino puder ter mais de uma interface de rede, adicione o pacote network-autoconfig à imagem do aplicativo. O network-autoconfig verifica se, durante o firstboot, todas as interfaces Ethernet disponíveis são testadas em ciclo até que uma seja configurada com êxito com o DHCP.
É possível configurar o primeiro boot para executar scripts adicionais após a conclusão do workflow de primeiro boot. Para adicionar mais scripts à sequência de firstboot, faça o seguinte:
Abra o arquivo de configuração /etc/sysconfig/firstboot e verifique se o caminho especificado para SCRIPT_DIR está correto. O valor padrão é /usr/share/firstboot/scripts.
Crie seu script shell, armazene-o no diretório especificado e aplique as permissões de arquivo apropriadas.
Dependendo do usuário final, convém oferecer traduções do workflow personalizado. Essas traduções poderão ser necessárias, caso tenha personalizado o workflow mudando o arquivo /etc/YaST2/firstboot.xml, conforme descrito na Seção 20.2.4, “Personalizando o workflow”. Isso é diferente da localização de mensagens personalizadas do YaST, que já está descrita na Seção 20.2.1, “Personalizando as mensagens do YaST”.
Se você modificar /etc/YaST2/firstboot.xml e fizer mudanças na string, gere um novo arquivo de gabarito de tradução (arquivo .pot) e use a cadeia de ferramentas gettext para traduzir e, por fim, instalar os arquivos traduzidos nos diretórios de idiomas do YaST (/usr/share/YaST2/locale) como arquivos .mo compilados. Proceda da seguinte maneira:
Mude a configuração textdomain de:
<textdomain>firstboot</textdomain>
para, por exemplo,
<textdomain>firstboot-oem</textdomain>
Use xgettext para extrair as strings traduzíveis para o arquivo de modelo de tradução (arquivo .pot) para, por exemplo, firstboot-oem.pot:
xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
Inicie o processo de tradução. Empacote os arquivos traduzidos (.arquivos LL_code.po) da mesma forma que as traduções de outros projetos e instale os arquivos compilados firstboot-oem.mo.
Se você precisar de traduções para módulos adicionais ou modificados do YaST, traduza dentro do próprio módulo. Se você mudar um módulo existente, mude também sua declaração de domínio de texto para evitar efeitos colaterais indesejados.
Para obter mais informações sobre o desenvolvimento do YaST, visite http://en.opensuse.org/openSUSE:YaST_development. Para obter informações detalhadas sobre o firstboot do YaST, visite http://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html.
Clone o disco da máquina master usando qualquer mecanismo de criação de imagens disponível e implante essas imagens nas máquinas de destino. Para obter mais informações sobre criação de imagens, consulte http://doc.opensuse.org/projects/kiwi/doc/.
Assim que a imagem de disco clonada for inicializada, o firstboot será iniciado e a instalação continuará exatamente conforme descrito na Seção 20.2.4, “Personalizando o workflow”. Apenas os componentes incluídos na configuração do workflow de firstboot serão iniciados. Todas as outras etapas de instalação são ignoradas. O usuário final ajustará as configurações de idioma, teclado, rede e senha para personalizar a estação de trabalho. Após o término deste processo, o sistema instalado pelo firstboot terá o mesmo comportamento de qualquer outra instância do SUSE Linux Enterprise Server.