19 Implantando pré-instalações personalizadas #
A implementação de pré-instalações personalizadas do SUSE Linux Enterprise Server em muitas 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 System registration and extension selection (Registro do sistema e seleção de extensão) no AutoYaST Guide (Guia do AutoYaST).
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 19.1, “Preparando a máquina master”.
Personalize o workflow do firstboot. Para obter mais informações, consulte a Seção 19.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 19.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 19.4, “Personalizando a instalação”.
19.1 Preparando a máquina master #
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 selecione o pacote
yast2-firstboot
para instalação.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 19.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 19.3, “Clonando a instalação master”.
19.2 Personalizando a instalação do firstboot #
Personalizar o workflow de instalação do firstboot pode envolver vários componentes. Essa personalização é recomendada. 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:
Personalizar mensagens ao usuário, conforme descrito na Seção 19.2.1, “Personalizando as mensagens do YaST”.
Personalizar licenças e ações de licença, conforme descrito na Seção 19.2.2, “Personalizando a ação de licença”.
Personalizar notas de versão para exibição, conforme descrito na Seção 19.2.3, “Personalizando as notas de versão”.
Personalizar a ordem e o número de componentes envolvidos na instalação, conforme descrito na Seção 19.2.4, “Personalizando o workflow”.
Configurar scripts opcionais extras, conforme descrito na Seção 19.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 19.2.6, “Traduzindo o workflow de instalação”.
Dica: Local alternativo do arquivo de controle/etc/YaST2/firstboot.xml
é o caminho padrão do arquivo de controle instalado pelo pacoteyast2-firstboot
. Caso seja necessário definir outro local para o arquivo de controle, edite/etc/sysconfig/firstboot
e mude a variávelFIRSTBOOT_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.
19.2.1 Personalizando as mensagens do YaST #
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
ewelcome_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 emFIRSTBOOT_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.
19.2.2 Personalizando a ação de licença #
É 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:
- halt
A instalação do firstboot é interrompida e todo o sistema é encerrado. Essa é a configuração padrão.
- continue
A instalação do firstboot continua.
- abort
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.
19.2.3 Personalizando as notas de versão #
Se você mudar a instância do SUSE Linux Enterprise Server que está implantando com o firstboot, precisará explicar aos usuários finais sobre os aspectos importantes do 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 comoRELEASE-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, comode
para alemão.Abra o arquivo de configuração do firstboot de
/etc/sysconfig/firstboot
e definaFIRSTBOOT_RELEASE_NOTES_PATH
como o diretório real no qual os arquivos de notas de versão serão armazenados.
19.2.4 Personalizando o workflow #
O exemplo do /etc/YaST2/firstboot.xml
apresentado define um workflow padrão que inclui os seguintes componentes habilitados:
Seleção de idioma
Bem-vindo
Contrato de licença
Horário e data
Usuários
Senha da raiz
Terminar Configuração
Lembre-se de que esse workflow é um gabarito. Você pode ajustá-lo apropriadamente com a edição manual do arquivo de configuração /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. Consulte o Exemplo 19.2, “Configurando a seção do workflow” para saber mais sobre como configurar a seção do workflow.
Para obter uma visão geral das propostas, consulte o Exemplo 19.1, “Configurando as telas de proposta”. Ele apresenta informações básicas suficientes para modificar o workflow de instalação do firstboot. A sintaxe básica do arquivo de configuração firstboot (e como os elementos principais são configurados) é explicada nesse 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 19.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 próprio 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çãoproposals
e remova o respectivo elementomodule
(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 pode 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ê sempre poderá mudar o workflow das etapas de configuração se 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
detrue
parafalse
, para desabilitar o módulo, ou defalse
paratrue
, 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 do módulo
nome_do_módulo.rb
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, considere e resolva as possíveis dependências em relação a outras etapas do workflow.
Crie um novo elemento
module
dentro do containermodules
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 comotrue
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.rb
.
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
percorre todas as interfaces Ethernet disponíveis até que uma seja configurada com êxito via DHCP.
19.2.5 Configurando scripts adicionais #
É 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 paraSCRIPT_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.
19.2.6 Traduzindo o workflow de instalação #
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 19.2.4, “Personalizando o workflow”.
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:
Por exemplo, mude a configuração
textdomain
de:<textdomain>firstboot</textdomain>
para o seguinte:
<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 compiladosfirstboot-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 https://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.
19.3 Clonando a instalação master #
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 https://doc.suse.com/kiwi/.
19.4 Personalizando a instalação #
Quando a imagem de disco clonada for inicializada, o firstboot será iniciado, e a instalação continuará exatamente conforme descrito na Seção 19.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.