IronFlock CLI
O ironflock é a ferramenta de linha de comando para o software IronFlock em uma máquina. Com ela, você conecta uma máquina Linux ao IronFlock como dispositivo, grava o IronFlockOS em um pen drive USB, um cartão SD ou um disco, substitui o Linux de uma máquina em execução pelo IronFlockOS, atualiza, reverte e redefine dispositivos IronFlockOS, e instala e mantém um appliance IronFlock.
O ironflock é um único binário estático por plataforma. Ele não precisa de runtime nem de outro pacote. Instale-o no Linux ou no macOS com uma linha:
curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bashO script verifica o download com a chave de release da IronFlock antes de instalar /usr/local/bin/ironflock. Depois, sudo ironflock self-update o leva à release mais nova. Instalação explica cada passo, como verificar o script antes e como atualizar.
Os comandos são agrupados por produto: ironflock agent para o agente do dispositivo, ironflock appliance para o appliance IronFlock, ironflock os para o IronFlockOS. Um verbo significa o mesmo em todos os grupos. Comandos que tratam da máquina como um todo, como ironflock status, não têm grupo. ironflock --help lista os comandos, e ironflock <command> --help descreve um deles.
Comandos por tarefa
| Tarefa | Comando | Referência |
|---|---|---|
Conectar uma máquina Linux ao IronFlock como o dispositivo de um arquivo de configuração do dispositivo (.flock) | ironflock agent install | Comandos do agente do dispositivo |
Dar ao agente instalado outro arquivo .flock ou outras configurações de proxy | ironflock agent configure | Comandos do agente do dispositivo |
| Deixar o agente se atualizar para a release do seu canal | ironflock agent update | Comandos do agente do dispositivo |
| Remover o agente e desfazer o que a instalação dele alterou | ironflock agent remove | Comandos do agente do dispositivo |
| Reiniciar o agente do dispositivo | ironflock agent restart | Comandos do agente do dispositivo |
| Parar o agente do dispositivo até que ele seja iniciado novamente | ironflock agent stop | Comandos do agente do dispositivo |
| Iniciar o agente do dispositivo | ironflock agent start | Comandos do agente do dispositivo |
| Ler o log do agente do dispositivo | ironflock agent logs | Comandos do agente do dispositivo |
| Ver o que há do IronFlock em uma máquina e se está em execução | ironflock status | Status e Doctor |
| Verificar se uma máquina pode executar o agente do dispositivo e alcançar o IronFlock | ironflock doctor | Status e Doctor |
| Listar as imagens do IronFlockOS que podem ser gravadas em uma unidade | ironflock os images | Gravar o IronFlockOS em uma unidade |
| Listar as unidades em que uma imagem pode ser gravada | ironflock os drives | Gravar o IronFlockOS em uma unidade |
Gravar o IronFlockOS e o arquivo .flock de um dispositivo em uma unidade ou em um arquivo de imagem | ironflock os flash | Gravar o IronFlockOS em uma unidade |
| Substituir o Linux de uma máquina em execução pelo IronFlockOS | ironflock os install | Substituir o Linux pelo IronFlockOS |
| Atualizar um dispositivo IronFlockOS para a release do seu canal | ironflock os update | Atualizar, reverter e redefinir |
| Voltar ao sistema IronFlockOS do outro slot | ironflock os rollback | Atualizar, reverter e redefinir |
| Redefinir um dispositivo IronFlockOS para o estado de um dispositivo recém-gravado | ironflock os reset | Atualizar, reverter e redefinir |
| Instalar, configurar, atualizar e manter um appliance IronFlock nesta máquina | ironflock appliance | Comandos do appliance |
Mostrar a versão do ironflock, e se há uma release mais nova | ironflock version, ironflock version --check | Instalação |
Substituir o ironflock pela release mais nova | ironflock self-update | Instalação |
| Completar linhas de comando com a tecla Tab | ironflock completion | Instalação |
| Executar um comando em outra máquina via SSH, ou em muitas | --host, --hosts | Máquinas remotas via SSH |
Todo comando aceita as flags globais. Entre elas estão --yes, que responde à pergunta do comando, e --json, que escreve o resultado como um único objeto JSON, para ser lido por um programa.
# Instalar o ironflock e conectar esta máquina Linux como o dispositivo de device.flock, em uma linha
curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bash -s -- agent install -c device.flock
# Verificar se esta máquina pode executar o agente do dispositivo e alcançar os hosts de device.flock
ironflock doctor -c device.flock
# Gravar o IronFlockOS para o dispositivo de device.flock na unidade /dev/sdb
sudo ironflock os flash -c device.flock -d /dev/sdb
# Mostrar o plano para substituir o Linux desta máquina pelo IronFlockOS, sem alterar nada
sudo ironflock os install -c device.flock --dry-run
# Mostrar o estado de um dispositivo a partir do seu notebook, via SSH
ironflock --host pi@device-17 statusSistemas
A release publica o ironflock para Linux em amd64, arm64 e ARM de 32 bits (v5 a v7), e para macOS em Apple silicon e Intel.
| Comandos | Linux | macOS |
|---|---|---|
version, completion | sim | sim |
self-update | sim; em um dispositivo IronFlockOS, código de saída 3, pois ali o os update atualiza o ironflock | sim |
status, doctor | sim | sim; status mostra o sistema e que nada está instalado |
os images, os drives, os flash | sim | sim |
agent ..., os install | sim | código de saída 3 |
os update, os rollback, os reset | apenas em um dispositivo IronFlockOS | código de saída 3 |
Um comando que não roda em um sistema existe nele mesmo assim: ele termina com o código de saída 3 antes de examinar qualquer coisa. Os comandos agent precisam de um Linux baseado em Debian ou Ubuntu com systemd. O os install precisa de um Linux com systemd em firmware UEFI de 64 bits (amd64 ou arm64). Os comandos appliance são descritos em Comandos do appliance.
Em um dispositivo IronFlockOS, a imagem traz o agente do dispositivo junto com o sistema. Por isso, agent install e agent remove se recusam a rodar ali, com o código de saída 3, e agent configure -c dá ao dispositivo outro arquivo .flock.
Com --host, todo comando exceto completion roda em outra máquina Linux via SSH. De um Mac, é assim que você executa os comandos agent, o os install e os comandos de um dispositivo IronFlockOS.
As releases do IronFlockOS posteriores à 0.15.0 trazem o ironflock no dispositivo, como /usr/bin/ironflock. O IronFlockOS 0.15.0 e anteriores não o trazem: execute os comandos do dispositivo a partir de outro computador com --host, como o usuário SSH do dispositivo (Acesso SSH):
ironflock --host operator@kitchen-pc os update --reboot --yesNota: As mensagens e os campos JSON do comando dizem swarm para o que o IronFlock Studio e esta documentação chamam de projeto, e “swarm owner” para o proprietário do projeto. Por exemplo, o campo
agent.swarmdeironflock status --jsonindica o projeto do dispositivo.
Nesta seção
- Instalação: a linha de instalação, a verificação do script, a base de download e o espelho de um appliance, o preenchimento automático com Tab, o
ironflock versione oironflock self-update. - Flags, saída e códigos de saída: as flags globais, stdout e JSON, perguntas, root, segredos e códigos de saída, que valem para todos os comandos.
- Máquinas remotas via SSH:
--hostpara uma máquina,--hostse--parallelpara muitas. - Comandos do agente do dispositivo: instalar, configurar, atualizar, remover, reiniciar, parar e iniciar o agente do dispositivo, e ler o log dele.
- Status e Doctor: o que do IronFlock roda em uma máquina, e se a máquina pode executar o agente do dispositivo.
- Gravar o IronFlockOS em uma unidade: listar as imagens e as unidades, e gravar o IronFlockOS com o arquivo
.flockde um dispositivo. - Substituir o Linux pelo IronFlockOS: transformar uma máquina Linux em execução em um dispositivo IronFlockOS.
- Atualizar, reverter e redefinir: manter um dispositivo IronFlockOS atualizado, voltar uma release ou redefini-lo.
- Comandos do appliance: instalar, configurar, atualizar e manter um appliance IronFlock em uma máquina.