Índice
No artigo, vou compartilhar a lista de RHEL/CentOS 8 kickstart comandos de exemplo que você pode usar para automatizar a instalação do Red Hat e CentOS. Eu não abrangidos %pre
e %post
fase de instalação, neste artigo, que pode apenas alongar este já longo artigo. Embora eu vou tentar cobrir os comandos kickstart mais usados no ambiente de produção em tempo real.
Gerador de Kickstart
pode usar a ferramenta oficial do gerador de Kickstart da Red Hat para criar o seu ficheiro kickstart para automatizar a instalação.
basta seguir as opções onscreen e você vai obter um arquivo de amostra kickstart com base em sua escolha.
Validador do Kickstart
Antes de iniciar a instalação com o ficheiro kickstart, recomenda-se a validação do conteúdo do ficheiro de configuração do Kickstart. Instale pykickstart
para instalar o ksvalidator
Ferramenta
# dnf -y install pykickstart
para validar o ficheiro kickstart, indique a localização absoluta e o ficheiro kickstart com ksvalidator
:
# ksvalidator kickstart.conf
abaixo estão a lista de comandos Kickstart que pode adicionar manualmente e criar o seu próprio ficheiro Kickstart para automatizar todo o processo de instalação do Red Hat / CentOS. No final do artigo eu tenha ligado um exemplo de arquivo de configuração kickstart que eu tenho usado para instalar a Máquina Virtual no Oracle VirtualBox
Adicionar Comentário (Opcional)
Você pode escolher adicionar algum comentário para identificar o Kickstart como eu ter adicionado para fins de identificação. Este procedimento é opcional e você pode escolher ignorar:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Executar Verificação de Mídia
Você pode verificar a mídia antes de iniciar a instalação
Kickstart comando mediacheck
Este comando força o programa de instalação ao executar uma verificação de mídia antes de iniciar a instalação.
Este comando requer que as instalações sejam atendidas, por isso é desativado por padrão.
Sintaxe:
mediacheck
Modo de instalação
Para uma instalação totalmente automática, você deve especificar um dos modos disponíveis no arquivo de Kickstart:
comando Kickstart-gráfico
- executa a instalação Kickstart no modo gráfico.
- Você também pode combiná-lo com
--non-interactive
que executa a instalação em modo não-interativo. - este modo irá terminar a instalação quando for necessária a interacção do utilizador.
comando Kickstart-text
- executa a instalação Kickstart no modo de texto.
- Você também pode combiná-lo com
--non-interactive
que executa a instalação em modo não-interativo. - este modo irá terminar a instalação quando for necessária a interacção do utilizador.
comando Kickstart-cmdline
- executa a instalação num modo de linha de comandos completamente não interactivo.
- qualquer prompt de interação interrompe a instalação.
- este comando não tem opções.
No meu RHEL/CentOS 8 kickstart exemplo eu escolher text
como o melhor método de instalação
# Install in text modetext
Criar mais repo
Você pode configurar outros repositórios yum que podem ser utilizados como fontes para a instalação do pacote.
Kickstart comando – repo
- Por padrão, todos os fornecidos acordos de recompra são automaticamente criado e montado no
/run/install/repo/<repo_name>
- Você pode adicionar vários
repo
linhas.
sintaxe:
repo --name=repoid
Here,
-
--baseurl=
The URL to the repository. -
--mirrorlist=
The URL pointing at a list of mirrors for the repository. -
--metalink=
The URL with metalink for the repository.
para a lista completa das opções suportadas, verifique o Guia do Red Hat para a instalação avançada
no meu exemplo Kickstart RHEL/CentOS 8, também criarei AppStream
repo, que faz parte da imagem ISO.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
Método de Instalação
Há diferentes métodos de instalação para escolher, como cdrom
harddrive
hmc
nfs
liveimg
, ou url
.
a maioria de Nós usar url
cdrom
e nfs
no ambiente de produção, então eu vou explicar estas método de instalação:
Kickstart comando – nfs
Ele executa a instalação de um servidor NFS.
Sintaxe:
nfs OPTIONS
Opções:
-
--server=
Servidor a partir do qual instalar (IP ou nome do host). -
--dir=
Directory containing the variant directory of the installation tree. -
--opts=
opções de montagem a usar para montar a exportação de NFS. (opcional)
comando – url do kickstart
executa a instalação a partir de uma árvore de instalação em um servidor remoto usando FTP, HTTP, ou HTTPS.
Sintaxe:
url --url=FROM
Obrigatório opções:
-
--url=
O local para instalar a partir de. Protocolos suportados são HTTP, HTTPS, FTP e arquivo.
opções opcionais:
-
--proxy=
Indique um ‘proxy’ de HTTP, HTTPS ou FTP a usar durante a realização da instalação.
para obter uma lista completa das opções suportadas, verifique o Guia do Red Hat para a instalação avançada
comando Kickstart – cdrom
- executa a instalação a partir da primeira unidade óptica do sistema.
- este comando não tem opções.
No meu RHEL/CentOS 8 kickstart exemplo vou usar o NFS como o meu método de instalação
# Installation medianfs --server=10.10.10.12 --dir=/images/
Layouts de Teclado
- define um ou mais layouts de teclado disponíveis para o sistema.
- todos os layouts disponíveis podem ser vistos na página man do xkeyboard-config(7) Sob Layouts.
Sintaxe:
keyboard --vckeymap|--xlayouts OPTIONS
Opções:
-
--vckeymap=
Especificar um VConsole keymap que deve ser usado. Os nomes válidos correspondem à lista de ficheiros no directório/usr/lib/kbd/keymaps/xkb/
, sem a extensão.map.gz
. -
--xlayouts=
especifique uma lista de x disposições que devem ser usadas como uma lista separada por vírgulas sem espaços. Aceita valores no mesmo formato que setxkbmap (1), tanto no formato layout (como cz), ou no formato layout (variante) (como cz (qwerty)).
No meu RHEL/CentOS 8 kickstart exemplo vou usar English US
layout do Teclado
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Definir Linguagem de Sistema
Kickstart comando de lang
- Ele define o idioma a ser utilizado durante a instalação e o idioma padrão a ser usado no sistema instalado.
- Você pode usar
locale -a | grep _
oulocalectl list-locales
para obter a lista de localidades.
sintaxe:
lang language
No meu RHEL/CentOS 8 kickstart exemplo vou usar en_US.UTF-8
# System languagelang en_US.UTF-8
Informações de Rede
Kickstart de comando de rede
- Configura a rede de informações para o sistema de destino e ativa dispositivos de rede no ambiente de instalação.
- o dispositivo especificado no primeiro comando de rede é activado automaticamente.
- ativação do dispositivo também pode ser explicitamente exigida pela opção –activate.
Syntax:
network OPTIONS
Options:
-
--activate
activate this device in the installation environment. -
--no-activate
do not activate this device in the installation environment. -
--nodefroute
prevent the device from using the default route. -
--bootproto=
One of dhcp, bootp, ibft, or static. The default option is dhcp; -
--noipv4
Disable IPv4 on this device. -
--noipv6
Disable IPv6 on this device.
No meu RHEL/CentOS 8 kickstart exemplo vou atribuir rede para 2 interfaces eth0
e eth1
SUGESTÃO:
# Network informationnetwork --bootproto=static --ip=10.10.10.15 --netmask=255.255.255.0 --gateway=10.10.10.1 --nameserver=8.8.8.8 --device=eth0 network --bootproto=dhcp --device=eth0 --activatenetwork --bootproto=dhcp --device=eth1 --onboot=off --activatenetwork --hostname=centos8-4.example.com
atribuir senha de root
- define a senha de root do sistema para o argumento de senha.
- Você pode fornecer a senha de root, quer em texto simples ou criptografado
- Para criar uma senha criptografada, você pode usar python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- Isso gera um sha512 cripta compatível com o hash da sua senha usando um aleatório de sal.
Sintaxe:
rootpw password
Opções:
-
--iscrypted
Se esta opção estiver presente, assume-se que o argumento da senha já está encriptado. -
--plaintext
Se esta opção estiver presente, assume-se que o argumento da senha está em texto simples. -
--lock
Se esta opção estiver presente, a conta raiz é bloqueada por omissão. Isto significa que o usuário root não será capaz de fazer login a partir da consola.
No meu RHEL/CentOS 8 kickstart exemplo, eu já criada e atribuída a senha de root
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
Executar o programa de configuração do agente no primeiro arranque
Kickstart comando do primeiro arranque
- determina se a Configuração Inicial do aplicativo inicia a primeira vez que o sistema é inicializado.
- se estiver activo, o pacote de configuração inicial deve ser instalado.
- se não for indicada, esta opção está desactivada por omissão.
Sintaxe:
firstboot OPTIONS
Opções:
-
--enable
ou--enabled
:a configuração inicial é iniciada da primeira vez que as botas do sistema. -
--disable
ou--disabled
:a configuração inicial não é iniciada pela primeira vez que as botas do sistema. -
--reconfig
:activar a configuração inicial para iniciar no momento de arranque no modo de reconfiguração.
No meu RHEL/CentOS 8 kickstart exemplo vou ativar firstboot
# Run the Setup Agent on first bootfirstboot --enable
Configurar o X Window System
Você pode escolher para instalar e configurar o Sistema X-Window ou desativá-lo
Kickstart comando – xconfig
- Se você instalar um gestor de display entre o pacote de opções de seleção, este pacote cria uma configuração de X, e o sistema instalado padrão
graphical.target
. - que substitui o efeito da opção
skipx
. - Para configurar o X Window System usar “
xconfig
“
Kickstart comando skipx
Para evitar a configuração do Sistema X Window usar skipx
No meu RHEL/CentOS 8 kickstart exemplo vou desativar o X Windows System
# Do not configure the X Window Systemskipx
Habilitar ou Desabilitar serviços do sistema
Kickstart comando – serviços
- modifica o conjunto padrão de serviços que serão executados sob o padrão systemd de destino.
- a lista de serviços com deficiência é processada antes da lista de serviços habilitados.
- portanto, se um serviço aparece em ambas as listas, ele será ativado.
Sintaxe:
services
No meu RHEL/CentOS 8 kickstart exemplo vou ativar chronyd
serviço
# System servicesservices --enabled="chronyd"
Definir o fuso horário
Kickstart comando fuso horário
- Ele define o fuso horário do sistema.
- Você pode usar
timedatectl list-timezones
para obter a lista de fuso horário valores
Sintaxe:
timezone timezone
Opcional opções:
-
--utc
Se estiver presente, o sistema assume o relógio do hardware está definido para UTC (gmt) hora. -
--nontp
desactivar o arranque automático do serviço NTP. -
--ntpservers=
Especificar uma lista de servidores NTP para ser usado como uma lista separada por vírgulas, sem espaços.
No meu RHEL/CentOS 8 kickstart exemplo vou usar Asia/Kolkata
meu fuso horário
# System timezonetimezone Asia/Kolkata --isUtc
Alça de reiniciar o nó
Kickstart comando reboot
- O “
reboot
” instrui o programa de instalação reiniciar o sistema após a instalação é concluída com êxito (sem argumentos). - Normalmente, o Kickstart mostra uma mensagem e espera que o utilizador carregue numa tecla antes de reiniciar.
- Especificar reboot para automatizar a instalação
No meu RHEL/CentOS 8 kickstart exemplo vou usar reboot como eu planejo para automatizar o processo de instalação
# Reboot the nodereboot
Criar Partição de Disco
Você pode usar variáveis diferentes para configurar o seu layout de disco
Kickstart comando ignoredisk
- faz com Que o programa de instalação para ignorar os discos especificados.
- isto é útil se usar o particionamento automático e quiser ter a certeza de que alguns discos são ignorados.
No meu RHEL/CentOS 8 kickstart exemplo, eu só deseja usar sda
disco para a instalação
# Choose the disks to be usedignoredisk --only-use=sda
Kickstart comando clearpart
- remove partições do sistema, antes da criação de novas partições.
- por omissão, não são removidas partições.
no meu exemplo Kickstart CentOS / RHEL 8, removerei todas as partições existentes:
# Partition clearing informationclearpart --all
Kickstart de comando – parte ou partição
- cria uma partição no sistema.
- este tópico é muito vasto e planeio dar diferentes exemplos de disposição de partições para instalar o Linux
no meu exemplo de kickstart de amostra, vou instalar CentOS 8 usando o Gestor de Volume Lógico. Aqui vou criar
- raiz volume lógico
- partição swap
- partição de arranque
# Disk partitioning informationpart pv.409 --fstype="lvmpv" --ondisk=sda --size=14847part /boot --fstype="ext4" --ondisk=sda --size=512volgroup rhel --pesize=4096 pv.409logvol swap --fstype="swap" --size=953 --name=swap --vgname=rhellogvol / --fstype="ext4" --size=13887 --name=root --vgname=rhel
Criar novo usuário (permanente)
Você também pode criar novo usuário usando kickstart que também estará presente após a instalação
Kickstart comando – user
Use user
para criar um novo usuário usando kickstart
Sintaxe:
user --name=username
No meu RHEL/CentOS 8 kickstart exemplo vou criar um usuário deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Criar Usuário (somente para instalação)
Você pode criar usuário somente para monitorar o processo de instalação. Uma vez concluída a instalação deste usuário será removido do nó
Kickstart comando sshpw
- Durante a instalação, você pode interagir com o programa de instalação e monitorar seu progresso através de uma ligação SSH
- Use o sshpw comando para criar contas temporárias para iniciar sessão.
- Cada instância do comando cria uma conta separada que existe apenas no ambiente de instalação.
- estas contas não são transferidas para o sistema instalado.
Sintaxe:
sshpw --username=name password
No meu CentOS/RHEL 8 kickstart exemplo estou criando um usuário admin
para monitorar a instalação:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Criar novo grupo
Você também pode criar um novo grupo usando kickstart
Kickstart grupo de comandos
- Se um grupo com o nome fornecido ou GID já existe, o comando falhará.
- o comando do utilizador pode ser usado para criar um novo grupo para o utilizador recentemente criado.
- cria um novo grupo de utilizadores no sistema.
Sintaxe:
group --name=name
Obrigatório opções
-
--name=
Fornece o nome do grupo.
Activar ou Desactivar a firewall
Você pode ativar ou desativar o firewall durante a fase de instalação
Kickstart comando – firewall
especifica a configuração de firewall para o sistema instalado.sintaxe
:
firewall --enabled|--disabled
Aqui
-
--enabled
ou--enable
– Rejeitar conexões de entrada que não estão em resposta a solicitações de saída, como respostas DNS ou pedidos DHCP. -
--disabled
ou--disable
– não configura as regras do iptables.
activar um módulo
Poderá também activar um módulo com o kickstart
Kickstart – módulo de comando
Use este comando para activar um fluxo de módulos de pacotes no programa kickstart.
Sintaxe:
module --name=NAME
Obrigatório opções
-
--name=
Especifica o nome do módulo para ativar. Substituir o nome pelo nome verdadeiro.
Ativar ou Desativar o SELinux
Você também pode ativar ou desativar o selinux usando kickstart
Kickstart comando do selinux
- define o estado do SELinux no sistema instalado.
- a Política padrão de SELinux é a aplicação.
sintaxe:
opções:
-
--enforcing
activa o SELinux com a política predefinida a ser aplicada. -
--permissive
outputs alertas com base na política de SELinux, mas não faz realmente cumprir a Política. -
--disabled
desactiva SELinux completamente no sistema.
selecção de pacotes
o Kickstart usa as secções iniciadas pelo comando % packs para seleccionar os pacotes a instalar.
comando Kickstart – % pacotes
- pode instalar pacotes, grupos, ambientes, fluxos de módulos e perfis de módulos desta forma.
- Use o comando %packages para iniciar uma secção Kickstart que descreve os pacotes de software a instalar.
- a secção %packs tem de terminar com o comando %end.
a Especificação de grupos
- Especificar grupos, uma entrada para uma linha, começando com um símbolo@, e, em seguida, o grupo inteiro de nome ou id de grupo
- Você pode obter a lista de opções suportadas a partir da lista de “
dnf grouplist
“
%packages@X Window System@Desktop@Sound and Video%end
a Especificação individual de pacotes
- Especificar pacotes individuais pelo nome, uma entrada para uma linha. Pode usar o carácter asterisco ( * ) como uma sequência especial nos nomes dos pacotes. Por exemplo:
%packagessqlitecurlaspelldocbook*%end
In my RHEL/CentOS 8 kickstart example I have used “Virtualization Host
“
%packages@^Virtualization Hostkexec-tools%end
Enable or Disable Kdump
Kickstart command – %addon com_redhat_kdump
This command configures the kdump kernel crash dumping mechanism.
Syntax:
%addon com_redhat_kdump %end
Options:
-
--enable
Enable kdump on the installed system. -
--disable
Disable kdump on the installed system. -
--reserve-mb=
A quantidade de memória que você deseja reservar para o kdump, em MiB
No meu RHEL/CentOS 8 kickstart exemplo eu usei o auto
reservam automaticamente a memória necessária para o kdump:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
Aplicar Diretiva de Senha
Kickstart comando pwpolicy
- Use este comando para aplicar uma senha personalizada política durante a instalação.
- a Política requer que você crie senhas para o root, usuários ou as contas de usuário do luks.
- os factores como o comprimento da senha e a força decidem a validade de uma senha.
para a lista de opções suportadas, verifique o Guia do Red Hat para a instalação avançada
no meu exemplo de kickstart RHEL / CentOS 8 que usei abaixo da Política de senhas:
%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end
RHEL/CentOS 8 Kickstart Example File
Below is one sample kickstart file example from my server which I use to install Virtual Machine on Oracle VirtualBox
Red_Hat_CentOS_8_Kickstart_Example