CoreOS에서 패키지를 수동으로 업데이트하는 방법은 무엇입니까?

CoreOS에서 패키지를 수동으로 업데이트하는 방법은 무엇입니까?

저는 CoreOS 493.0.0+2014-11-14-1501을 사용하고 있습니다. 이 CoreOS 버전은 2014년 10월 15일자 OpenSSL OpenSSL 1.0.1j를 사용합니다. 수동으로 업데이트를 사용하려고 하면 update_engine_client -update실패합니다. 로그에 다음 예외가 표시됩니다(위치 journalctl -ru udpate-engine:

Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:payload_state.cc(400)] Current URL Index = 0
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:payload_state.cc(257)] Resetting the current URL index (0) to 0 as we only have 1 URL(s)
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:payload_state.cc(97)] Updating payload state for error code: 18 (kActionCodeDownloadPayloadPubKeyVerification
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:ERROR:update_attempter.cc(787)] Update failed.
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:update_attempter.cc(460)] Processing Done.
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:action_processor.cc(73)] ActionProcessor::ActionComplete: finished last action of type DownloadAction
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:action_processor.cc(68)] ActionProcessor::ActionComplete: DownloadAction action failed. Aborting processing.
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:ERROR:download_action.cc(118)] Download of https://update.release.core-os.net/amd64-usr/1068.8.0/update.gz failed
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000f0 : 8a e0 af 10 58 76 f6 c1 dd a5 c5 f3 98 51 05 6e
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000e0 : ae 7f e9 2f a0 a0 ba fb 7c 19 af c6 1a 65 a3 f5
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000d0 : 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000c0 : ff ff ff ff ff ff ff ff ff ff ff ff 00 30 31 30
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000b0 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000a0 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000090 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000080 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000070 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000060 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000050 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000040 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000030 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000020 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000010 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000000 : 00 01 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(251)] Logging array of length: 256
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:ERROR:delta_performer.cc(861)] Computed Signature:
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000f0 : 6f 1e c4 e8 66 1f 8b 31 db 78 ac 9b 69 04 bd 5a
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000e0 : 3c 4c 71 bf a5 d6 47 86 05 e0 f5 d8 30 98 0b 90
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000d0 : b0 c7 3e 2d 29 23 88 7f 9b 8a e4 a4 de 39 1e 01
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000c0 : 7b 17 de 97 99 d4 89 07 c7 39 10 eb 50 ca 7d 9d
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000b0 : 32 e2 e8 07 ae 07 cf 77 c6 9a 46 6d f3 c9 ac 44
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x000000a0 : 87 01 10 cd 40 ce ce 49 b2 8e bf aa d0 57 06 26
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000090 : 94 4c ce 4c 91 df 4a 8c 37 1a 13 7f c8 7f 5a 72
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000080 : 36 9c 8a b3 20 09 b8 95 ae 10 e9 3e 8b 63 62 e9
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000070 : f4 29 63 42 2a 09 28 dd 3f 8c 5a 0a 4d 68 e2 ee
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000060 : 65 2c ce 16 1b 21 25 03 e2 80 89 c6 76 67 d7 74
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000050 : 40 9f be e9 e9 2b 2c e1 72 11 b9 30 05 2d 08 a8
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000040 : 38 88 23 c3 e1 d6 49 42 05 10 db ca 32 89 f0 ad
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000030 : 8b 16 98 92 7c 2c 11 6a 0a bd 55 97 e6 18 1b 3b
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000020 : 41 7e 2d 3a 16 19 d7 48 1e 98 07 80 17 77 f5 af
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000010 : aa ea 13 e6 f4 c0 d8 de ed 7a 3e 3b 9e 3b 04 f8
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(268)] 0x00000000 : 58 a4 b9 9e 5f 63 27 f3 79 b3 9d 52 54 a5 4b 07
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:utils.cc(251)] Logging array of length: 256
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:ERROR:delta_performer.cc(858)] Public key verification failed, thus update failed. Attached Signature:
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:payload_signer.cc(265)] signature size = 528
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:delta_performer.cc(821)] Verifying delta payload using public key: /usr/share/update_engine/update-payload-ke
Aug 04 09:02:52 coreos update_engine[562]: [0804/090252:INFO:update_attempter.cc(597)] Download status: inactive
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:multi_range_http_fetcher.cc(141)] Done w/ all transfers
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:multi_range_http_fetcher.cc(107)] TransferEnded w/ code 200
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:multi_range_http_fetcher.cc(150)] Received transfer complete.
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:libcurl_http_fetcher.cc(318)] Transfer completed (200), 217528649 bytes downloaded
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:libcurl_http_fetcher.cc(261)] HTTP response code: 200
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:delta_performer.cc(153)] Completed 1017/1017 operations (100%), 217528649/217528649 bytes downloaded (100%),
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:delta_performer.cc(738)] Extracted signature data of size 528 at 217471746
Aug 04 09:02:51 coreos update_engine[562]: [0804/090251:INFO:delta_performer.cc(767)] Skipping hash verification for signature operation 1017
Aug 04 09:02:42 coreos update_engine[562]: [0804/090242:INFO:delta_performer.cc(153)] Completed 903/1017 operations (88%), 200129083/217528649 bytes downloaded (92%), ove
Aug 04 09:02:35 coreos update_engine[562]: [0804/090235:INFO:delta_performer.cc(153)] Completed 782/1017 operations (76%), 182729275/217528649 bytes downloaded (84%), ove
Aug 04 09:02:29 coreos update_engine[562]: [0804/090229:INFO:delta_performer.cc(153)] Completed 684/1017 operations (67%), 160971323/217528649 bytes downloaded (74%), ove
Aug 04 09:02:22 coreos update_engine[562]: [0804/090222:INFO:delta_performer.cc(153)] Completed 611/1017 operations (60%), 131553851/217528649 bytes downloaded (60%), ove
Aug 04 09:02:11 coreos update_engine[562]: [0804/090211:INFO:delta_performer.cc(153)] Completed 509/1017 operations (50%), 112007739/217528649 bytes downloaded (51%), ove
Aug 04 09:02:03 coreos update_engine[562]: [0804/090203:INFO:delta_performer.cc(153)] Completed 416/1017 operations (40%), 87013947/217528649 bytes downloaded (40%), over
Aug 04 09:01:59 coreos update_engine[562]: [0804/090159:INFO:delta_performer.cc(153)] Completed 346/1017 operations (34%), 60193339/217528649 bytes downloaded (27%), over
Aug 04 09:01:53 coreos update_engine[562]: [0804/090153:INFO:delta_performer.cc(153)] Completed 204/1017 operations (20%), 45529659/217528649 bytes downloaded (20%), over
Aug 04 09:01:45 coreos update_engine[562]: [0804/090145:INFO:delta_performer.cc(153)] Completed 96/1017 operations (9%), 26106427/217528649 bytes downloaded (12%), overal
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:delta_performer.cc(404)] Starting to apply update payload operations
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:delta_performer.cc(940)] Verifying source partitions.
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:delta_performer.cc(277)] PartitionInfo new_rootfs_info sha256: Opa16PO0hOn0JqGW7V7sLgqWZE/EC4G40BDF5gM27ds= s
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:delta_performer.cc(153)] Completed 0/? operations, 294/217528649 bytes downloaded (0%), overall progress 0%
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:libcurl_http_fetcher.cc(448)] Setting up timeout source: 1 seconds.
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:libcurl_http_fetcher.cc(185)] Setting up curl options for HTTPS
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:libcurl_http_fetcher.cc(51)] We are connected via Ethernet, Updates allowed: Yes
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:libcurl_http_fetcher.cc(62)] Starting/Resuming transfer
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:multi_range_http_fetcher.cc(57)] starting transfer of range 0+?
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:multi_range_http_fetcher.cc(29)] starting first transfer
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:update_attempter.cc(597)] Download status: active
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:install_plan.cc(52)] InstallPlan: , new_update, url: https://update.release.core-os.net/amd64-usr/1068.8.0/up
Aug 04 09:01:35 coreos update_engine[562]: [0804/090135:INFO:action_processor.cc(82)] ActionProcessor::ActionComplete: finished OmahaRequestAction, starting DownloadActio
Aug 04 09:01:35 coreos update_engine[562]: </response>

따라서 이 시스템에서 OpenSSL을 수동으로 업데이트할 계획입니다. 인터넷 검색을 시도했지만 CoreOS를 업데이트하는 것이 유일한 방법인 것 같습니다. 우분투에 설치한 것과 같은 방식으로 설치를 시도했습니다 dnf -y install opensssl. 존재하지 않으면 설치하고 그렇지 않으면 업데이트하십시오. 그러나 이 시스템에는 dnf가 설치되어 있지 않습니다. 나는 또한 yum을 사용해 보았지만 yum도 존재하지 않습니다.

이 컴퓨터에서 openssl을 어떻게 업데이트하나요?

답변1

다른 많은 Linux와 달리 CoreOS에는 패키지 관리자가 없습니다. 루트 파일 시스템은 원자 이미지로 제공됩니다. 사용자 배포 애플리케이션은 일반적으로 systemd-nspawn, Docker, rkt, runc 등과 같은 Linux 기반 컨테이너에 배포됩니다.

updateservicectl관리를 위한 도구이다오마하업데이트 페이로드를 제공하는 서버입니다. 이 경우 올바른 도구를 사용했습니다 update_engine_client.

CoreOS 버전이 시작되면 업데이트가 자동으로 수행됩니다(비활성화되지 않은 경우). 보기현재의버전(반드시 그런 것은 아님) 시작 시 배포된 버전 다음 명령을 실행합니다.

$ cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1576.1.0
VERSION_ID=1576.1.0
BUILD_ID=2017-10-26-0503
PRETTY_NAME="Container Linux by CoreOS 1576.1.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"

마지막으로 버전이 이라고 말씀하셨습니다 493.0.0+2014-11-14-1501. 일반적으로 이는 +2014-11-14-1501개발 버전 또는 처음부터 컴파일된 버전을 의미합니다. 유사한 이미지에는 로그에 참조된 호스트로부터 업데이트를 수신하기 위한 GPG 공개 키가 내장되어 있지 않을 수 있습니다 update.release.core-os.net. 이렇게 하면 다음 두 가지 옵션이 제공됩니다.

  1. 이미지를 직접 빌드하는 경우 SDK를 사용하여 필요한 업데이트 패키지로 새 업데이트 페이로드를 생성하고 SDK에 포함된 개발 Omaha 서버를 통해 제공하세요. 이것은 단지 CherryPy 유틸리티이며 실행이 간단합니다.

  2. 호스트를 프로덕션 이미지로 업데이트합니다. 일반적으로 이 작업을 수행해서는 안 되며 호스트를 다시 배포해야 합니다. 이를 위해서는 현재 서버에 사용되는 파티션을 식별 /usr하고 CoreOS 파티션 레이아웃을 참조하여 선택해야 합니다.비활성분할. 여기에서 update.gz파일을 수동으로 다운로드하여 dd올바른 파티션에 적용할 수 있습니다. 명확한 복사-붙여넣기 지침은 의도적으로 제공되지 않습니다. 이것이 의미가 없다면 운영 체제가 손상되어 치명적인 데이터 손실이 발생할 가능성이 있습니다.

현실적으로 가장 좋은 접근 방식은 실행 중인 컨테이너에 태그를 지정하고 레지스트리에 푸시하고, 클라우드 구성을 백업하고(배포 기간으로 인해) 재배포하는 것입니다. 드리프트를 최소화하고 업데이트 프로세스가 진행되는 것을 확인하려면 버전부터 시작할 수도 있습니다.494.0.0.

관련 정보