From 2c46e35d2aad0c8d60f5a8fd0e95728d90c533cc Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Sun, 31 Jul 2022 15:59:52 +0300 Subject: [PATCH] alpine add pkg from edge --- .../2022/alpine-add-package-from-edge.md | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 content/posts/2022/alpine-add-package-from-edge.md diff --git a/content/posts/2022/alpine-add-package-from-edge.md b/content/posts/2022/alpine-add-package-from-edge.md new file mode 100644 index 0000000..8af2fac --- /dev/null +++ b/content/posts/2022/alpine-add-package-from-edge.md @@ -0,0 +1,76 @@ +--- +title: "Установить пакет из edge в Alpine Linux" +date: 2022-07-31T15:38:09+03:00 +draft: false +tags: [linux, tips, alpine linux] +--- + +## Пердисловие + +Стало мне необходимо обновить язык программирования Crystal до версии 1.5.0. + +Имеем версию дистрибутива **3.16**: +```sh +cat /etc/os-release + NAME="Alpine Linux" + ID=alpine + VERSION_ID=3.16.0 + PRETTY_NAME="Alpine Linux v3.16" + HOME_URL="https://alpinelinux.org/" + BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" +``` + +[Crystal](https://crystal-lang.org/) +[1.5.0](https://pkgs.alpinelinux.org/package/edge/community/x86_64/crystal) лежит в edge, +а в Alpine Linux 3.16 на момент напиcания статьи версия пакета +[1.4.1](https://pkgs.alpinelinux.org/package/v3.16/community/x86_64/crystal). + +## Добавляем новый репозиторий и устанавливаем (обновляем) пакет + +Списки репозиториев хранятся в файле `/etc/apk/repositories`: +```sh +cat /etc/apk/repositories + https://dl-cdn.alpinelinux.org/alpine/v3.16/main + https://dl-cdn.alpinelinux.org/alpine/v3.16/community +``` + +Добавляем новый: +```sh +echo "@edge https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories +``` + +Подробнее здесь - [Repository pinning](https://wiki.alpinelinux.org/wiki/Package_management#Repository_pinning). + +Можно указать ссылку на репозиторий через параметр `--repository`: + +```sh +apk add librdkafka --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community +``` + +## Проблемы + +В моём случае всё не так просто, потому что необходимо обновить ещё +[llvm14-libs](https://pkgs.alpinelinux.org/package/edge/main/aarch64/llvm14-libs). + +```sh +apk add crystal@edge + ERROR: unable to select packages: + so:libLLVM-14.so (no such package): + required by: crystal-1.5.0-r0[so:libLLVM-14.so] +``` + +Устанавливаем: +```sh +apk add llvm14-libs --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main +apk add crystal@edge + (1/2) Upgrading crystal@edge (1.4.1-r0 -> 1.5.0-r0) + (2/2) Purging llvm13-libs (13.0.1-r2) +``` + +```sh +crystal -v + Crystal 1.5.0 (2022-07-15) + + LLVM: 14.0.6 + Default target: x86_64-alpine-linux-musl +```