Skip to Content

설치

한 줄로 Linux 또는 macOS에 ironflock을 설치합니다. /usr/local/bin에 쓰므로 root 권한이 필요합니다. 나중에 ironflock self-update로 최신 릴리스로 업데이트하며, ironflock version --check로 새 릴리스가 나왔는지 확인합니다.

curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bash

설치 명령줄이 하는 일

  1. 시스템(Linux 또는 macOS)과 머신의 아키텍처를 확인합니다. Linux에서는 amd64, arm64 또는 32비트 ARM(v5~v7)이고, macOS에서는 Apple silicon 또는 Intel입니다. Apple silicon에서는 Rosetta 2로 실행되는 셸도 Apple silicon 빌드를 받습니다.
  2. https://instance-registry.ironflock.com/dl/cli/에서 version.txt와, 이 머신용으로 해당 버전의 ironflock을 다운로드합니다.
  3. 스크립트에 들어 있는 IronFlock 릴리스 키로 둘 다 확인합니다. Linux에서는 sqv 또는 gpgv로 OpenPGP 서명(.asc)을 확인합니다. macOS에서는 먼저 설치해야 할 것이 없도록, 같은 키의 일반 RSA 서명(.sig)을 시스템의 /usr/bin/openssl로 확인합니다.
  4. 바이너리를 /usr/local/bin/ironflock으로 설치하며, 이미 있는 파일을 대체합니다. 새 파일을 기존 파일 옆에 복사한 뒤 기존 파일 이름으로 바꾸므로, 그 순간 실행 중인 ironflock은 시작할 때의 바이너리를 그대로 사용합니다. /usr/local/bin이 없는 Mac에서는 스크립트가 폴더를 만듭니다.
  5. bash -s -- 뒤에 지정한 인자로 ironflock을 실행합니다. 인자가 없으면 설치만 하고 다음 단계를 안내합니다.

amd64 CPU를 사용하는 Linux 머신에서는 다음과 같이 출력됩니다:

Download base: https://instance-registry.ironflock.com/dl Downloading ironflock 2.0.2 (linux/amd64)... Signature verified (key F6C94D96CE315377ACA7C8EA4990543373212788). Installed ironflock 2.0.2 as /usr/local/bin/ironflock. Connect this machine to IronFlock with: sudo ironflock agent install -c /path/to/device.flock All commands: ironflock --help Tab completion in your shell: ironflock completion --help

Mac에서 안내하는 다음 단계는 ironflock os flash이며, 이 명령은 디바이스용 IronFlockOS를 USB 스틱이나 SD 카드에 씁니다. 이미 있던 ironflock을 대체하면 Installed 줄이 , in place of the one that was there.로 끝납니다.

요구 사항

  • root 권한 — 스크립트가 /usr/local/bin에 씁니다. sudo bash로 실행하십시오.
  • curl 또는 wget — 다운로드에 사용합니다.
  • Linux에서는 base64와 sqv 또는 gpgv — 서명 확인에 사용합니다. apt가 sqv와 gpgv 중 하나에 의존하므로 모든 Debian과 Ubuntu에 둘 중 하나가 있습니다. 둘 다 없으면 스크립트가 중단되고 apt install gpgv를 안내합니다.
  • macOS에서는 시스템에 기본으로 들어 있는 것 외에 아무것도 필요하지 않습니다.

스크립트는 POSIX 셸에서 실행됩니다: bash, sh, dash 또는 BusyBox ash.

서명이 없거나 잘못된 경우

서명이 없거나 잘못되면 스크립트는 아무것도 설치하기 전에 중단되며, 이전에 설치된 ironflock은 그대로 유지됩니다. 스크립트는 종료 코드 1로 끝나며 stderr에 한 줄을 출력합니다. 예를 들면 다음과 같습니다:

install.sh: https://instance-registry.ironflock.com/dl/cli/linux/amd64/2.0.2/ironflock is not signed by IronFlock: not installing it

다운로드에 실패해도 스크립트는 같은 방식으로 중단되며, 아무것도 설치되지 않습니다.

한 줄로 설치하고 명령 실행하기

bash -s -- 뒤의 인자는 설치가 끝난 ironflock에 전달됩니다. 다음 줄은 ironflock을 설치하고, 이 머신을 디바이스 구성 파일(.flock) device.flock의 디바이스로 IronFlock에 연결합니다:

curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bash -s -- agent install -c device.flock

curl ... | bash에서는 스크립트의 표준 입력이 스크립트 자체입니다. 그래서 스크립트는 ironflock이 터미널에서 입력을 읽게 하며, 명령의 질문은 그대로 사용자에게 표시되고 평소처럼 답할 수 있습니다. 터미널이 없으면(cloud-init 스크립트, CI) ironflock은 입력을 받지 못합니다. 이때 질문하는 명령은 --yes를 추가하지 않는 한 종료 코드 4로 끝납니다. 스크립트는 ironflock의 종료 코드로 끝납니다. 명령에 대한 설명은 ironflock agent install을 참조하십시오.

업데이트

sudo ironflock self-update는 IronFlock 릴리스 키로 같은 검사를 거친 뒤 ironflock을 최신 릴리스로 교체합니다(ironflock self-update). ironflock version --check는 지금 사용 중인 버전과 새 릴리스가 나왔는지를 보여 줍니다(ironflock version).

이 페이지 맨 위의 설치 명령줄로도 업데이트할 수 있습니다. 다시 실행하면 /usr/local/bin/ironflock이 현재 릴리스로 교체됩니다.

IronFlockOS 디바이스에서는 ironflock이 시스템과 함께 제공되며, ironflock os update가 시스템과 함께 업데이트합니다.

설치 스크립트 먼저 검증하기

root로 실행하기 전에 install.sh 자체를 확인하려면, 서명과 함께 다운로드하고 릴리스 키를 가져온 뒤 gpg로 서명을 검증하십시오:

curl -fsSLO https://instance-registry.ironflock.com/dl/cli/install.sh curl -fsSLO https://instance-registry.ironflock.com/dl/cli/install.sh.asc curl -fsSL https://instance-registry.ironflock.com/dl/cli/ironflock-bootstrap.asc | gpg --import gpg --verify install.sh.asc install.sh

gpg가 지문이 F6C9 4D96 CE31 5377 ACA7 C8EA 4990 5433 7321 2788인 키의 올바른 서명이라고 보고해야 합니다. 이 지문을 서명 키의 IronFlock Bootstrap 키와 비교하십시오. 그런 다음 검증된 스크립트를 인자 없이, 또는 ironflock에 전달할 인자와 함께 실행하십시오:

sudo bash install.sh sudo bash install.sh agent install -c device.flock

다운로드 베이스

ironflock과 설치 스크립트는 IronFlock 클라우드 https://instance-registry.ironflock.com/dl에서 다운로드합니다. 네트워크 안의 미러 같은 다른 다운로드 베이스는 다음 두 가지 방법 중 하나로 지정합니다. IronFlock 어플라이언스의 디바이스에서는 일부 명령이 어플라이언스의 다운로드 미러를 스스로 찾습니다:

설정읽는 주체우선순위
--download-base <url>모든 ironflock 명령첫 번째
환경 변수 IRONFLOCK_DL_BASEinstall.sh와 모든 ironflock 명령두 번째
디바이스의 .flock 파일이 지정하는 어플라이언스의 다운로드 미러agent install, doctor, os install, os update세 번째
IronFlock 클라우드모든 명령마지막

설치 스크립트는 다운로드 베이스 아래에서 cli/version.txt와 cli/<system>/<arch>/<version>/ironflock을 각각의 .asc 및 .sig 서명과 함께 읽습니다. 다운로드 베이스가 무엇이든 스크립트에 들어 있는 릴리스 키로 이 파일들을 확인하므로, 미러는 IronFlock의 서명된 파일을 변경 없이 그대로 제공합니다. ironflock은 IronFlockOS 카탈로그와 이미지를 ironflockos/ 아래에서, 디바이스 에이전트를 device-agent/ 아래에서 읽고, cli/ 아래에서는 최신 릴리스(version.txt, self-update와 version --check용)와 ironflock 바이너리(self-update용, 그리고 --host에 필요한 다른 플랫폼의 바이너리)를 읽습니다.

기본적으로 sudo는 셸의 변수를 넘겨주지 않습니다. 변수를 sudo 뒤에 설정하거나 플래그를 지정하십시오:

# 미러에서 ironflock 설치 curl -fsSL https://mirror.example.com/dl/cli/install.sh | sudo IRONFLOCK_DL_BASE=https://mirror.example.com/dl bash # 미러의 에이전트로 이 머신 연결 sudo ironflock agent install -c device.flock --download-base https://mirror.example.com/dl

두 명령은 다운로드 베이스를 다르게 사용합니다. agent update는 에이전트가 자신의 업데이트 서버, 즉 .flock 파일의 update_url에서 업데이트하게 하며, 다운로드 베이스는 이를 바꾸지 않습니다. os update는 플래그, 그다음 변수, 그다음 에이전트 .flock 파일의 update_url 순으로 사용합니다. --host를 사용하면 다운로드 베이스가 다른 머신으로 함께 전달됩니다. 로그인 정보가 들어 있는 다운로드 베이스(https://user:[email protected]/dl)는 어떤 머신에도 접속하기 전에 종료 코드 2로 끝납니다.

IronFlock 어플라이언스의 디바이스

IronFlock 어플라이언스가 발급하는 .flock 파일은 어플라이언스의 다운로드 미러를 에이전트의 업데이트 서버(update_url)로 지정합니다. 예를 들면 http://10.0.0.5:15002/dl이고, 어플라이언스가 도메인으로 실행되면 https://registry.<domain>/dl입니다. --download-base도 IRONFLOCK_DL_BASE도 설정되지 않았으면 agent install, doctor, os install은 이 미러에서 파일을 가져옵니다. 따라서 어플라이언스에는 접근할 수 있지만 ironflock.com에는 접근할 수 없는 머신도 연결하거나 전환할 수 있습니다. IronFlock 클라우드의 .flock 파일은 클라우드의 호스트를 지정하므로 클라우드를 사용합니다.

  • 미러가 제공하지 않는 것은 IronFlock 클라우드 다운로드 베이스 아래의 같은 경로에서 경고와 함께 가져옵니다. 경고는 agent install에서는 stderr의 Warning: 줄과 --json 결과의 warnings 항목, os install에서는 계획의 경고, doctor에서는 download_tree 검사의 warning입니다. agent install과 os install은 미러도 클라우드도 파일을 제공하지 않을 때만 실패하며, 이때 오류는 둘 다 알려 줍니다.
  • agent install과 os install은 미러에 직접 접근하고, 클라우드에는 프록시가 있으면 프록시를 거쳐 접근합니다.
  • 어플라이언스 자체 CA의 인증서를 쓰는 HTTPS 미러는 머신의 시스템이 그 CA를 신뢰할 때만 작동합니다.

일부 다운로드는 여전히 다른 곳에서 가져옵니다:

  • install.sh와 ironflock 바이너리는 ironflock.com에서 가져옵니다. --host를 사용하면 바이너리는 사용자의 컴퓨터에서 머신으로 전송됩니다(SSH를 통한 원격 머신).
  • agent install은 배포판의 패키지와 Docker를 각자의 서버에서 가져옵니다.
  • self-update와 version --check는 플래그, 그다음 변수를 읽고, 둘 다 없으면 어플라이언스의 미러가 아니라 IronFlock 클라우드를 사용합니다.

설치 후 에이전트는 어플라이언스에서 업데이트를 받습니다. 엣지 디바이스를 참조하십시오.

Tab 자동 완성

ironflock completion은 Tab 키를 누르면 셸이 ironflock 명령줄을 자동 완성하도록 하는 스크립트를 출력합니다.

ironflock completion <shell>

셸은 bash, zsh 또는 fish입니다. Linux와 macOS에서 실행됩니다. root 권한이 필요하지 않습니다. 아무것도 묻지 않습니다. 이 명령에는 자체 플래그가 없으며, 전역 플래그가 적용됩니다.

지금 입력 중인 셸에서 자동 완성하려면 해당 셸의 줄을 실행하십시오. 새로 여는 모든 셸에서 자동 완성하려면 세 번째 열의 파일에 그 줄을 추가하십시오:

셸줄파일
basheval "$(ironflock completion bash)"~/.bashrc. bash-completion 패키지가 필요합니다
zshsource <(ironflock completion zsh)~/.zshrc, compinit 뒤
fishironflock completion fish | source~/.config/fish/config.fish

스크립트는 다음을 자동 완성합니다:

  • 명령과 그 플래그
  • 정해진 몇 가지 값 중 하나를 받는 플래그의 값: os images의 --channel, --variant, --kernel, os update의 --channel, 그리고 os flash의 --installer-confirm, --installer-after, --installer-allow-usb
  • -c에 대한 .flock 파일
  • --hosts, --proxy-password-file, --wifi-password-file, --image-file, --output, --drive, --disk에 대한 셸의 파일 이름

그 밖의 플래그와 다른 명령의 인자는 자동 완성되지 않습니다. 자동 완성할 때 스크립트는 ironflock에 알맞은 단어를 묻고, ironflock은 자신의 명령 목록에서 답합니다. 자동 완성은 명령을 실행하지 않고, 드라이브를 나열하지 않고, 아무것도 다운로드하지 않으며, 줄에 --host가 있어도 다른 머신에 접속하지 않습니다. --host 또는 --hosts가 있어도 ironflock completion은 --help처럼 이 머신에서 응답합니다.

# 지금 입력 중인 bash에서 자동 완성 eval "$(ironflock completion bash)" # 새로 여는 모든 bash에서 자동 완성 echo 'eval "$(ironflock completion bash)"' >> ~/.bashrc
$ eval "$(ironflock completion bash)" $ ironflock os images --kernel <Tab> rt std

--json을 사용하면 결과는 JSON 객체에 담긴 스크립트입니다:

{"shell":"bash","script":"..."}

셸을 지정하지 않았거나, 알 수 없는 셸이거나, 둘 이상을 지정하면 잘못된 명령줄입니다. 종료 코드 2로 끝나며, 오류 메시지에 허용되는 셸이 나옵니다.

ironflock version

ironflock 바이너리의 버전과 빌드 대상 플랫폼을 출력합니다. --check를 사용하면 새 릴리스가 나왔는지 다운로드 서버에 묻기도 합니다.

ironflock version [flags]

Linux와 macOS에서 실행됩니다. root 권한이 필요하지 않습니다. 아무것도 묻지 않습니다. 전역 플래그가 적용됩니다.

플래그의미
--check새 릴리스가 나왔는지 다운로드 서버에 묻기
# 이 머신에 있는 ironflock의 버전 ironflock version # 같은 내용을 JSON으로 ironflock version --json # SSH로 다른 머신에서 실행되는 바이너리: 버전은 같고 플랫폼은 그 머신의 것 ironflock --host pi@device-17 version # 새 릴리스가 나왔는지 확인 ironflock version --check
ironflock 2.0.2 linux/amd64
{"version":"2.0.2","os":"linux","arch":"amd64"}

--host를 사용하면 플랫폼은 다른 머신의 것입니다(예: ironflock 2.0.2 linux/arm64). 다른 머신은 같은 버전의, 자기 플랫폼용 바이너리를 실행합니다.

개발 빌드는 커밋을 버전에 표시합니다. 2.0.0-23-g5b38681은 릴리스 2.0.0 이후 23번째 커밋인 5b38681의 빌드입니다.

새 릴리스가 나왔는지 확인

--check는 다운로드 베이스(--download-base, 없으면 IRONFLOCK_DL_BASE, 둘 다 없으면 IronFlock 클라우드)의 cli/version.txt를 읽고, 바이너리에 들어 있는 IronFlock 릴리스 키로 그 서명(.asc)을 확인합니다. agent configure가 설정한 프록시(/etc/ironflock/proxy.env)를 거쳐 묻고, 없으면 환경의 프록시를 거칩니다. 이 파일은 root만 읽을 수 있으므로, root가 아니면 환경의 프록시를 사용합니다. 최신 릴리스를 묻는 명령은 version --check와 self-update뿐이며, 어떤 명령도 스스로 묻지 않습니다.

stdout의 두 번째 줄에 확인 결과와, 새 릴리스를 설치하는 명령이 나옵니다: self-update, IronFlockOS에서는 os update입니다.

$ ironflock version --check ironflock 2.0.3 linux/amd64 ironflock 2.1.0 is out at https://instance-registry.ironflock.com/dl. 'sudo ironflock self-update' installs it.

version.txt가 이 바이너리의 버전을 지정하면 두 번째 줄은 This is the newest release.입니다. 이 바이너리가 더 새로운 경우(릴리스 이후의 개발 빌드)에는 줄이 그렇다고 알려 줍니다. 개발 빌드 x.y.z-N-g<commit>은 릴리스 x.y.z보다 새롭고 다음 릴리스보다 오래된 것으로 간주합니다. N = 0이면 x.y.z와 같은 것으로 보며, 줄은 새 릴리스가 없다고 알려 줍니다.

--json을 사용하면 객체에 필드가 두 개 더 있습니다. latest_version은 version.txt가 지정하는 버전이고, newer는 그 버전이 이 바이너리보다 새로운지를 나타냅니다.

{"version":"2.0.3","os":"linux","arch":"amd64","latest_version":"2.1.0","newer":true}

새 릴리스가 있든 없든 종료 코드는 0입니다. 서버가 응답하지 않거나, version.txt가 없거나, 그 파일이 이 키로 서명되지 않았으면 1입니다. --host를 사용하면 첫 번째 줄은 version과 마찬가지로 이 빌드의 바이너리를 나타내며, 서버에는 다른 머신이 묻습니다.

ironflock self-update

실행 중인 ironflock 바이너리를 최신 릴리스로, 또는 --version이 지정하는 릴리스(이전 릴리스도 가능)로 교체합니다. 디스크의 무엇이든 변경하기 전에 릴리스를 IronFlock 릴리스 키로 확인합니다.

ironflock self-update [flags]

실행 환경: Linux와 macOS. IronFlockOS에서는 실행되지 않습니다. root 권한: /usr/local/bin/ironflock에는 필요(바이너리를 교체할 수 있는 사용자). 질문: 예. 어떤 릴리스가 어떤 릴리스를 교체하는지 알린 뒤 묻습니다. --yes로 답합니다.

플래그의미
--version <x.y.z>최신 릴리스 대신 설치할 릴리스. 예: 2.0.3. 이전 릴리스도 가능
# ironflock을 최신 릴리스로 업데이트. 명령이 먼저 질문함 sudo ironflock self-update # 질문 없이 업데이트하고 결과를 JSON으로 읽기 sudo ironflock self-update --yes --json # 이전 릴리스로 되돌아가기 sudo ironflock self-update --version 2.0.3 # 다른 머신에 설치된 ironflock 업데이트 ironflock --host pi@device-17 self-update --yes

교체하는 대상과 교체할 릴리스

  • 파일. 실행 중인 바이너리이며, 모든 심볼릭 링크를 따라갑니다. 링크가 가리키는 파일이 교체되고 링크는 그대로 남습니다. 명령은 다른 무엇보다 먼저 파일을 알려 줍니다. 에이전트 설치의 폴더 /opt/ironflock/device-init에는 그 설치의 기록이 있을 뿐 ironflock은 없으며, 명령은 이 폴더를 건드리지 않습니다.
  • 릴리스. --version이 없으면 최신 릴리스입니다. 다운로드 베이스(--download-base, 없으면 IRONFLOCK_DL_BASE, 둘 다 없으면 IronFlock 클라우드)의 cli/version.txt가 지정하는 릴리스로, 설치 명령줄이 읽는 파일과 같습니다. 릴리스의 바이너리는 cli/<system>/<arch>/<version>/ironflock입니다. 채널은 없습니다. 다른 트리는 미러 같은 다른 다운로드 베이스입니다.
  • 프록시. 다운로드는 agent configure가 설정한 프록시(/etc/ironflock/proxy.env)를 거치고, 없으면 환경의 HTTP_PROXY, HTTPS_PROXY, NO_PROXY를 거칩니다. sudo와 --host를 통한 명령의 환경에는 프록시가 없습니다. 이 파일은 root의 파일이므로, root가 아닌 실행은 환경의 프록시를 사용하며 그렇다고 알려 줍니다. 파일의 프록시를 사용할 때도 명령이 알려 줍니다.
  • 할 일이 없는 경우. 바이너리가 이미 그 릴리스이거나 그보다 새로우면(그 이후의 개발 빌드) 명령은 그렇다고 알리고, 질문도 다운로드도 없이 종료 코드 0으로 끝납니다. 결과의 outcome은 current입니다. --version이 없으면 이전 릴리스로 되돌아가지 않습니다.

검사

바이너리를 교체하기 전에:

  1. 실행 중인 바이너리에 들어 있는 IronFlock 릴리스 키로 version.txt의 서명을 확인합니다.
  2. 같은 키로 새 바이너리의 서명을 확인하고, 빌드 정보도 확인합니다: 프로그램 ironflock, 이 플랫폼용, 수정되지 않은 소스 트리에서 빌드되었는지.
  3. 새 바이너리를 같은 폴더의 기존 바이너리 옆에, 기존 바이너리의 모드, 소유자, 그룹으로 쓰고 한 번 실행합니다(version --json). 새 바이너리는 요청한 릴리스이며 이 플랫폼용이라고 답해야 합니다. 서명은 버전을 묶지 않으므로, 최신 릴리스 대신 제공된 이전의 서명된 바이너리는 여기서 거부됩니다.
  4. 그런 다음에야 한 단계로 기존 바이너리 위로 이름을 바꿉니다.

sqv나 gpgv는 필요하지 않습니다. ironflock이 서명을 직접 확인합니다.

검사에 실패한 파일은 바이너리를 교체하지 않으며, 옆에 쓴 새 파일은 다시 삭제됩니다. 실패하거나, 거절되거나, 중단된 실행은 기존 바이너리를 그대로 둡니다. 파일이 교체되는 동안 실행 중인 ironflock 명령은 시작할 때의 파일로 계속 실행됩니다. 쓰기와 이름 바꾸기 사이에 Ctrl-C를 두 번 누르거나 전원이 끊기면 새 파일(바이너리 옆의 .ironflock.new-*)이 남을 수 있습니다. 직접 삭제하십시오.

바이너리를 교체할 수 있는 사용자

새 파일이 소유자와 그룹을 유지하도록, 명령에는 바이너리 폴더에 대한 쓰기 권한이 필요하며, 바이너리의 소유자이면서 그 그룹의 구성원으로 실행하거나 root로 실행해야 합니다. 설치 명령줄이 바이너리를 두는 /usr/local/bin/ironflock이면 root입니다. 그렇지 않으면 명령은 아무것도 다운로드하기 전에 종료 코드 3으로 끝나며, 소유자나 그룹, 그리고 sudo를 붙인 명령줄을 알려 줍니다.

IronFlockOS와 다른 머신

  • IronFlockOS는 시스템과 함께 ironflock을 제공하며, 모든 OS 업데이트는 시스템 전체를 교체합니다. 그곳에서 명령은 아무것도 살펴보기 전에 종료 코드 3으로 끝나며 os update를 알려 줍니다. IronFlockOS 설치 USB 스틱에서는 agent 명령과 마찬가지로 거부합니다.
  • --host를 사용하면 실행 중인 바이너리는 그 실행의 사본이며, 명령이 끝나면 삭제됩니다. 그래서 명령은 대신 그 머신의 /usr/local/bin/ironflock을 업데이트합니다. 그 파일이 없으면 종료 코드 3으로 끝나며 설치 명령줄을 알려 줍니다. 설치된 ironflock이 실행되지 않거나 버전을 알려 주지 않을 때도 아무것도 다운로드하기 전에 종료 코드 3으로 끝납니다. 이때는 설치 명령줄로 ironflock을 새로 설치합니다.
  • 여러 머신에서(--host를 여러 번, 또는 --hosts) --yes를 사용하면 각 머신이 자신의 /usr/local/bin/ironflock을 업데이트합니다.

결과

$ sudo ironflock self-update This ironflock is 2.0.3, at /usr/local/bin/ironflock. Download base: https://instance-registry.ironflock.com/dl (from default) The downloads go through the proxy of the install's record (/etc/ironflock/proxy.env). The newest release at https://instance-registry.ironflock.com/dl is ironflock 2.1.0 (its version.txt is signed by key F6C94D96CE315377ACA7C8EA4990543373212788). ironflock 2.1.0 replaces 2.0.3 at /usr/local/bin/ironflock. A command of ironflock that runs now goes on with 2.0.3; the next one runs 2.1.0. ? Install ironflock 2.1.0? Yes Downloading ironflock 2.1.0 for linux/amd64 from https://instance-registry.ironflock.com/dl. Signature verified (key F6C94D96CE315377ACA7C8EA4990543373212788): the program ironflock for linux/amd64. The new file says it is ironflock 2.1.0 linux/amd64; it is in place. ironflock at /usr/local/bin/ironflock is updated from 2.0.3 to 2.1.0.

바이너리는 답을 받은 뒤에 다운로드됩니다. 터미널이 없거나 --json을 사용하면 명령에 --yes가 필요합니다. 이미 최신 릴리스인 바이너리에 --json을 사용하면:

{"outcome":"current","path":"/usr/local/bin/ironflock","version":"2.1.0","latest_version":"2.1.0"}
필드값
action바이너리를 교체했으면 updated. 그 밖에는 없음
outcomeupdated(새 릴리스, 또는 --version으로 같은 수준의 다른 빌드), downgraded(--version이 요청한 이전 릴리스), current(할 일 없음)
path교체한 파일, 또는 교체했을 파일
version그 파일의 현재 버전
previous_version파일을 교체한 경우 이전 버전
latest_versionversion.txt가 지정하는 버전. --version을 사용하면 이 파일을 읽지 않으므로 없음

종료 코드

코드의미
0업데이트함, 또는 할 일 없음
1다운로드 실패, 검사 실패, 다운로드 트리에 이 플랫폼용 최신 릴리스 바이너리가 없음, 또는 교체 실패. 바이너리는 그대로입니다
2잘못된 명령줄. 버전이 아닌 --version, 또는 다운로드 트리에 이 플랫폼용으로 없는 --version도 포함
3IronFlockOS에서 실행, 파일을 교체할 권한 없음, --host에서 /usr/local/bin/ironflock이 없거나 버전을 알려 주지 않음
4질문에 아니요로 답했거나, 질문할 수 없는데 --yes가 없음
130중단됨. 바이너리는 그대로입니다
Last updated on