github.com/rkt/rkt@v1.30.1-0.20200224141603-171c416fac02/Documentation/install-rkt-in-coreos.md (about) 1 # Installing a different version of rkt in CoreOS Container Linux 2 3 If a different version of rkt is required than what ships with CoreOS Container Linux, a 4 oneshot systemd unit can be used to download and install an alternate version 5 on boot. 6 7 The following unit will use curl to download rkt, its signature, and the CoreOS 8 app signing key. The downloaded rkt is then verified with its signature, and 9 extracted to /opt/rkt. 10 11 ``` 12 [Unit] 13 Description=rkt installer 14 Requires=network.target 15 16 [Service] 17 Type=oneshot 18 RemainAfterExit=yes 19 ExecStart=/usr/bin/mkdir -p /opt/rkt 20 ExecStart=/usr/bin/curl --silent -L -o /opt/rkt.tar.gz <rkt-url> 21 ExecStart=/usr/bin/curl --silent -L -o /opt/rkt.tar.gz.sig <rkt-sig-url> 22 ExecStart=/usr/bin/curl --silent -L -o /opt/coreos-app-signing-key.gpg https://coreos.com/dist/pubkeys/app-signing-pubkey.gpg 23 ExecStart=/usr/bin/gpg --keyring /tmp/gpg-keyring --no-default-keyring --import /opt/coreos-app-signing-key.gpg 24 ExecStart=/usr/bin/gpg --keyring /tmp/gpg-keyring --no-default-keyring --verify /opt/rkt.tar.gz.sig /opt/rkt.tar.gz 25 ExecStart=/usr/bin/tar --strip-components=1 -xf /opt/rkt.tar.gz -C /opt/rkt 26 ``` 27 28 The URLs in this unit must be filled in before the unit is installed. Valid 29 URLs can be found on [rkt's releases page][rkt-releases]. 30 31 This unit should be installed with either [ignition][ignition] or a [cloud config][cloud-config]. 32 Other units being added can then contain a `After=rkt-install.service` (or 33 whatever the service was named) to delay their running until rkt has been 34 installed. 35 36 [rkt-releases]: https://github.com/rkt/rkt/releases 37 [ignition]: https://coreos.com/ignition/docs/latest/ 38 [cloud-config]: https://coreos.com/os/docs/latest/cloud-config.html