В сегодняшней реальности практически не бывает IT без интернета. Всё, чем мы пользуемся, ставится и обновляется из интернета, заливается обратно в интернет. А если доступа к интернету вдруг не станет?

Если вдруг вас позовут в срочную миссию на Марс. Или в длительную IT-робинзонаду на таинственный остров, куда каждому участнику можно взять на флешке только что-то одно из софта. Или вообще никуда не позовут, а просто заботливо и скрепно-надзорно будут пытаться обрубить все неуставные каналы связи с внешним миром.

Пусть это будет остров - там тепло, кокосы и вкусные креветки. И речь не про выживание в физическом плане; еда, жильё, оборудование и развлечения - всё там есть. А про выживание в качестве IT-специалиста, которому нужно относительно комфортно пережить время без связи с внешним миром и при этом быть работоспособным и продуктивным.

Что если взять с собой... Arch Linux? Да, определённо, это может быть Арч!

Почему Arch Linux?

Арч простой и удобный; сам по себе не имеет версии, но в его репозиториях всегда более-менее свежие стабильные версии софта. Официальные репозитории не так велики, но в них встречаются полезные вещи, которые в остальных линуксах приходится скачивать и устанавливать по-отдельности (либо подключая сторонние репозитории). Да, в Арче есть проприетарный софт. Но это удобно. И честно. Это отличает его от многих дистрибутивов, которые формально содержат и пропагандируют только "free software", но тут же лицемерно предлагают официальную инструкцию и лазейку как эти принципы обойти и нарушить. Копия репозиториев Арча умещается (пока что) на 64GB флешке.

Создание локального зеркала Arch Linux репозиториев

Самый простой способ создать себе локальную копию репозитория с пакетами - сделать rsync с одним из живых официальных зеркал. Узнать список и проверить статус зеркала можно на страничке Mirror Status. Их там сотни. Для примера взят сервер яндекса. Создать зеркало можно вот таким простым скриптом:

archlinux-mirror.sh

#!/bin/bash

REMOTE=rsync://mirror.yandex.ru/archlinux
LOCAL=/mirror/archlinux

mirror() {
  echo "Mirroring $1"
  rsync --recursive --hard-links --safe-links --copy-links --times \
    --delete-after --delete-excluded \
    --info=progress2 --stats --human-readable \
    $REMOTE/$1 $LOCAL
}

mirror core
mirror extra
mirror community
mirror multilib
mirror iso

В данном случае скачиваются только стабильные (не тестовые) пакеты из официальных Арч-репозиториев. Такое зеркало не содержит пользовательских AUR (Arch User Repository) пакетов. В каталоге "iso" находится актуальный образ Арча для установки.

Чтобы оценить размер и количество скачиваемых файлов, можно добавить параметр --dry-run. При этом реального скачивания не произойдёт, но покажется статистика, насколько локальное зеркало отстаёт от удалённого.

Репозитории Арча обновляется очень интенсивно. Вот немного статистики по репозиториям за 2022-02-22:

Репозиторий

Количество пакетов

Размер, MB

core

247

1070

extra

2986

9363

community

9049

42964

multilib

277

407

всего

12559

53805

Суммарная статистика за некоторые даты в прошлом:

Дата

Количество пакетов

Размер, MB

2020-12-25

11436

45182

2022-02-02

12497

53598

2022-02-20

12542

53769

И сравнение их с 2022.02.22:

Дата

Дни

Изменилось пакетов

Размер изменения, MB

2020-12-25

424

10521, 84%

48497, 90%

2022-02-02

20

2950, 23%

15188, 28%

2022-02-20

2

188, 1.5%

870, 2%

Пакеты постоянно добавляются, свежие версии заменяют собой старые (старые при этом удаляются), иногда пакеты просто удаляются (не оставляя себе альтернативы). За пару лет меняется порядка 98% содержимого репозиториев.

Итак, для хранения файлов зеркала понадобится около 60 гигабайт места на диске. Можно скачать всё, а можно сэкономить немного, исключив заведомо ненужные пакеты с локализациями приложений (типа "firefox-developer-edition-i18n-jp" или "gimp-help-zh_cn"). Кроме того в Арч, к сожалению, иногда пролазит лютая дичь, исключение которой тоже сохранит место на диске. Для фильтрации файлов в предыдущем скрипте можно добавить параметр --filter="merge archlinux-mirror-filter.txt" и создать рядом файл с include/exclude шаблонами типа этих:

archlinux-mirror-filter.txt

- **.old

- /community/os/x86_64/kea-devel-docs-*

+ /community/os/x86_64/firefox-developer-edition-i18n-en-us-*
+ /community/os/x86_64/firefox-developer-edition-i18n-ru-*
- /community/os/x86_64/firefox-developer-edition-i18n-*
+ /community/os/x86_64/gimp-help-en-*
+ /community/os/x86_64/gimp-help-ru-*
- /community/os/x86_64/gimp-help-*
+ /community/os/x86_64/vim-spell-en-*
+ /community/os/x86_64/vim-spell-ru-*
- /community/os/x86_64/vim-spell-*

+ /extra/os/x86_64/firefox-i18n-en-us-*
+ /extra/os/x86_64/firefox-i18n-ru-*
- /extra/os/x86_64/firefox-i18n-*
+ /extra/os/x86_64/hunspell-en_us-*
- /extra/os/x86_64/hunspell-[a-z]*
+ /extra/os/x86_64/libreoffice-fresh-en-*
+ /extra/os/x86_64/libreoffice-fresh-ru-*
- /extra/os/x86_64/libreoffice-fresh-[a-z]*
+ /extra/os/x86_64/libreoffice-still-en-*
+ /extra/os/x86_64/libreoffice-still-ru-*
- /extra/os/x86_64/libreoffice-still-[a-z]*
+ /extra/os/x86_64/thunderbird-i18n-en-us-*
+ /extra/os/x86_64/thunderbird-i18n-ru-*
- /extra/os/x86_64/thunderbird-i18n-*

- /iso/latest/arch
+ /iso/latest
+ /iso/latest/*
- /iso/**

Тут ещё стоит упомянуть, что в Арче пакеты могут прыгать из extra в community и наоборот. А могут и вообще вернуться обратно в AUR. Поэтому некоторые исключения со временем могут стать невалидными. Чтобы проверить, какие файлы были действительно исключены во время создания зеркала, можно воспользоваться таким скриптом:

archlinux-mirror-check.sh

#!/bin/bash

REMOTE=rsync://mirror.yandex.ru/archlinux
LOCAL=/mirror/archlinux

check() {
  echo "Checking $1"
  rsync --recursive --verbose --dry-run --copy-links --stats --human-readable \
    $REMOTE/$1 $LOCAL >archlinux-mirror-check-$1.log
}

check core
check extra
check community
check multilib
check iso

После того как зеркало скачано, нужно прописать его в конфигах пакетного менеджера.

  • Pacman может брать пакеты напрямую из файловой системы, тогда в файле "/etc/pacman.d/mirrorlist" надо прописать:

Server=file:///mirror/archlinux/$repo/os/$arch
  • Либо зеркало можно захостить на локальном веб-сервере, чтобы оно было доступно другим машинам в локальной сети. Тогда в "/etc/pacman.d/mirrorlist" запись будет иметь вид:

Server=http://mirror.local/archlinux/$repo/os/$arch

Надо только не забыть прописать "mirror.local" в hosts-файл или локальный DNS.

Для хостинга зеркала удобно использовать nginx. Его конфиг при этом выглядит совсем просто:

/etc/nginx/conf.d/mirror.conf

server {
    listen 80;
    server_name mirror.local;

    location /archlinux/ {
        alias /mirror/archlinux/;
        autoindex on;
        expires 1d;
    }
}

После этого пакеты можно устанавливать стандартно: pacman -Sy package-name

Софт выживальщика-разработчика в Arch Linux

Имея под рукой зеркало Арча, можно отлично жить, устанавливая всё единообразно с одного локального источника. Для разработчиков в нём есть всё то же, что и в большинстве других дистрибутивов: компиляторы/интерпретаторы для множества языков программирования, инструменты для сборки, системы контроля версий, библиотеки в ассортименте и т.д. Но есть и свои эксклюзивы (*этот лишь малая часть, упомянутая на основании собственных потребностей и предпочтений), как то:

  • arduino - IDE для программирования для Arduino, ESP и множества других MCU.

  • codeblocks - IDE для C/C++ проектов.

  • dbeaver - универсальный клиент для баз данных.

  • intellij-idea-community-edition - IDE для разработки на Java.

  • kicad - CAD для разработки электрических схем и печатных плат.

  • pycharm-community-edition - IDE для разработки на Python.

  • vscode - редактор и среда абсолютно для всего, но это ВСЁ в изоляции сложно получить без доступа к Extension Marketplace.

Есть небольшая проблема в том, что в изоляции будут недоступны внешние репозитории с библиотеками, пакетами и модулями, на которых обычно строятся современные проекты:

  • без maven-репозиториев сложно представить разработку на java.

  • без npmjs будет неоткуда взять эти бесценные 100500 нод-модулей для angular/react веб приложений.

  • без pypi-репозитория не скачать зависимости для python (хмм, или нет?).

Разработчику придётся либо перестроиться и девелопить без них. Либо надеяться, что у кого-то из коллег на флешке будет nexus или artifactory с кешем, под завязку набитым нужными либами. Ну, или выкручиваться как-то ещё.

Вот, кстати, разработчики на python окажутся в самом выгодном положении, потому что в репозиториях Арча до дури пакетов с питоновскими модулями. И вместо pip install django-rest-framework можно ставить всё глобально через pacman -Sy python-django-rest-framework, не заботясь о версиях и virtualenv.

А java разработчики от большой любви могут помародёрничать по Арч-пакетам в поисках нужных библиотек в составе других приложений (типа pacman -F -x "log4j.*jar" для поиска предмета недавнего всеобщего обожания).

Инфраструктура выживальщика на Arch Linux

Арч великолепен в качестве утилитарного линукса, рабочей станции и площадки для экспериментов. Но любимца энтузиастов практически не встретишь на корпоративных серверах, где всё оккупировали Red Hat и Ubuntu. Там ему на самом деле не место. Суровый энтерпрайз жаждет стабильности, чего сложно требовать от Арча.

Тем не менее в нём есть почти всё, что нужно для развёртывания IT инфраструктуры (но это не точно). Вот кое-что из пакетов, которые есть в Арче:

  • argocd - для управления kubernetes-кластером. На острове кластер - это же штука, крайне необходимая для выживальщика.

  • bugzilla - баг-трекер от Mozilla.

  • docker, podman - вот только на острове не будет докер-хаба, и все образы придётся лепить вручную.

  • elasticsearch, logstash и kibana - компоненты популярного стека для индексирования, поиска и визуализации всего. Нет! Ещё вчера они были в community репозитории, а сегодня их оттуда уже удалили и они остались только в AUR-репозитории. Альтернативой им предлагают opensearch.

  • gitlab - отличная платформа для разработчиков софта, карманный гитхаб со всем, что нужно: git-репозитории, пул-реквесты с кодревью, CI/CD, проектные вики, трекер задач и багов.

  • grafana - инструмент визуализации данных (метрик мониторинга, например). В её составе есть интеграция с эластиком, но для opensearch придётся ставить плагин.

  • jenkins - CI/CD сервер автоматизации сборки, тестирования и деплоя.

  • keycloak - SSO/IAM сервер для аутентификации и авторизации пользователей.

  • mediawiki - вики-движок для организации своей википедии.

  • zabbix - универсальный инструмент для мониторинга.

С базами данных всё стандартно:

  • mysql - нет; его в Арче давно заменили на mariadb.

  • postgresql и pgadmin - безусловно, лучшие SQL сервер и интерфейс к нему.

  • mongodb - увы, снова нет; монгу выпилили из Арча пару лет назад.

Многое из софта устанавливается в базовом виде, и для полноценной работы требует установки плагинов и экстеншенов, которых чаще всего нет в официальных репозиториях Арча.

Та же проблема с контейнерами. Инструмент вроде бы есть, но привычные образы в изоляции не доступны. Можно с нуля собрать образы на базе Арча. Это не очень удобно и образы далеки от идеала в плане размера. Шутка ли, официальный базовый докер-образ Арча почти в сотню раз больше Alpine. Одни только glibc, gcc-libs, coreutils и bash, которые есть в зависимостях у большинства пакетов, занимают около 250 мегабайт. Добавляем pacman с его деревом зависимостей - и вот получается уже 350 мегабайт. Но с другой стороны - контейнер контейнеру рознь; например, на фоне 15-гигабайтного образа с "tensorflow-cuda", это уже не кажется чем-то большим.

Документация выживальщика в Arch Linux

В изоляции наличие документации важно не меньше, чем сами приложения. Там не погуглить и не найти ответа на Stack Overflow. Арч же богат на документацию. Кроме стандартных манов и инфо в его репозиториях есть много доков по технологиям, инструментам и языкам программирования (типа ant, arduino, erlang, gradle, grails, groovy, julia, openjdk, python, postgresql, qt, ruby, rust, scala). И самая прелесть - это база знаний Арча Arch Wiki, упакованная в пакет "arch-wiki-docs".

Большая часть документации в html виде - это копии соответствующих сайтов с разной степенью адаптации под оффлайн использование.

  • Некоторые пакеты - отличные, типа "python-docs" (это копия https://docs.python.org/py3k/) - там даже работает поиск.

  • Некоторые - так себе, типа "arduino-docs" (это копия https://www.arduino.cc/) - от безысходности можно заглядывать в "Language Reference" или "Libraries", но половина стилей и скриптов тянутся с внешних ресурсов, поэтому в автономном режиме всё выглядит слегка кривовато.

  • А есть пакет "kea-devel-docs" - та самая лютая дичь, которая была упомянута выше. Это устаревшая документация к DHCP серверу. Балласт размером 737 MB, что больше, чем в 35 раз толще пакета с документацией по всему ядру Linux ("linux-docs", 20 MB).

Всю документацию, как и зеркало, удобно хостить в том же nginx:

/etc/nginx/conf.d/docs.conf

server {
    listen 80;
    server_name docs.local;
    
    autoindex on;
    expires 1d;

    location /arch-wiki {
        alias /usr/share/doc/arch-wiki/html/;
    }

    location /arduino {
        alias /usr/share/doc/arduino/;
    }

    location /groovy {
        alias /usr/share/doc/groovy-2.5.0/html/;
    }

    location /linux {
        alias /usr/share/doc/linux/;
    }

    location /postgres {
        alias /usr/share/doc/postgresql/html/;
    }

    location /python {
        alias /usr/share/doc/python/html/;
    }
}

Если "docs.local" прописан в hosts-файле, то доки будут доступны по ссылкам типа:

А точно Arch Linux?

Арч - как питомец. Постоянно растёт и развивается, время от времени показывая что-то новое. Во всём помогает. Но может наложить кучу в углу, если не уделять ему внимание.

В обычной жизни в Арче довольно непросто получить повторяемость результата: каждая сборка системы с теми же параметрами будет чем-то новым. В отличие от LTS дистрибутивов, в которых всё предсказуемо, надёжно, годами неизменно и старо, в Арче, эволюционирующем по "rolling release" модели, почти всё новое и свежее. Но в нём сложно сказать, что было несколько дней назад. С Арчем можно нестись в этом непрерывном потоке. А можно создавать себе острова стабильности за счёт локальных зеркал, обновляясь когда удобно, или когда есть возможность.

Такой питомец, у каждого свой.

Комментарии (82)


  1. DragonZet
    25.02.2022 11:48
    +3

    Не знал, что есть офлайн-версия Вики. Обязательно надо скачать, вдруг пригодится.


    1. aik
      25.02.2022 13:39

      У меня она в телефоне лежит. Английская без картинок что-то около 10 гигов занимает, по-моему.


      1. spacediver
        25.02.2022 13:48

        И с поиском?)


        1. aik
          25.02.2022 13:56

          Полнотекстовым? Вроде нет. Но зачем он, если конкретную статью посмотреть хочешь?


          1. Maxim_Evstigneev
            25.02.2022 14:44

            elastic можно по идее использовать для этого?


            1. aik
              25.02.2022 15:10

              На телефоне?


              1. Xantorohara Автор
                25.02.2022 16:56
                +2

                Так это... android->termux->docker->elastic. Всего несколько шагов, и википедия с поиском в кармане.


                1. pfffffffffffff
                  25.02.2022 20:42
                  +3

                  Докер на телефоне, жесть


                1. aik
                  26.02.2022 17:32

                  Но непонятно, зачем всё же поиск. Для меня оно всегда было энциклопедией — то есть конкретная статья требовалась, а не все упоминания этого слова.

                  Ну и на телефоне всё это поднимать… Думаю, что даже в оффлайне это не будет единственным вашим устройством. Задача телефона — обеспечивать оперативный доступ к информации, а не пытаться заменить собой ББ.


                  1. Xantorohara Автор
                    26.02.2022 17:41

                    Не надо это всерьёз воспринимать )

                    Никто не будет поисковый движок на телефон натягивать. Особенно такими особо извращёнными способами.


            1. Arris
              25.02.2022 18:17

              А зачем эластик? Почему не ManticoreSearch?


              1. ommunist
                26.02.2022 07:41

                A как? Научите пожалуйста в статье как на iOS и на Android и какаом карманном nix планшетном сделать себе офлайновую копию доков и википед с мантикорой поиска.


      1. Xantorohara Автор
        25.02.2022 13:59
        +1

        Если речь про ArchWiki (а не про глобальную википедию) то она весит всего 17 мегабайт в сжатом виде.


        1. aik
          25.02.2022 14:04

          Не, я про большую вики.
          С ней в офлайне веселее будет сидеть, чем с одной только вики по арчу. ;)


          1. Self_Perfection
            25.02.2022 18:03

            1. aik
              25.02.2022 19:40

              И зачем все описанные там телодвижения? Достаточно скачать нужный zim и открыть его в кивиксе. Не надо ничего распаковывать, дополнительно устанавливать и т.п.
              Плюс там ещё allmax требуют зачем-то качать обязательно.


              1. Self_Perfection
                25.02.2022 23:32

                Ну погодите, не обязательно самому изготавливать дамп. Можно просто отзеркалить в своём инстансе IPFS текущий снапшот - https://github.com/ipfs/distributed-wikipedia-mirror#cohost-a-full-copy Это будет в некотором смысле полезнее для общества: из большего количества мест будет раздаваться контент. Далее, хранение своего зеркала в IPFS позволит другим людям с IPFS в одной с вами локальной сети просматривать отдельные страницы из вики не сливая к себе зеркало полностью. IPFS даст устойчивость за счёт распределённости и дублирования.


                1. aik
                  26.02.2022 17:36

                  А причём тут общество? Я не против с ним поделиться, если мне это бесплатно, но вот платить за что-то, только ради того, чтобы можно было поделиться?

                  Для себя я скачал kiwix, скачал нужный дамп — не обязательно allmax, мне и минимального вполне хватало — и спокойно пользуюсь.
                  А ваш вариант — скачать allmax, распаковать — увеличив объём в разы наверняка, настроить ipfs — и всё только ради того, чтобы гипотетические обладатели той же ipfs поблизости могли просматривать отдельные страницы?
                  Я в оффлайне, какие ещё локальные сети и ipfs? И у телефона моего всего лишь 128 гигов памяти, туда allmax влезет только запакованная, распакованная уже не поместится. И трафик у меня тоже ограниченный. И батарейку жалко на поднятие сервера тратить. Ну и т.п.


        1. delphersf
          25.02.2022 14:36

          А где она есть то? Можете ссылку дать на архив Arch Wiki?


          1. Xantorohara Автор
            25.02.2022 14:54
            +2

            В Арче можно вот так скачать: pacman -Sy arch-wiki-docs, файлы будут лежать в "/usr/share/doc/arch-wiki".

            Либо вот тут: https://archlinux.org/packages/community/any/arch-wiki-docs/
            Там слева ссылка "Download From Mirror" на актуальную версию.


            1. daggert
              25.02.2022 21:39

              Простите за глупый вопрос, а чем потом этот zst файл открыть? Tar не берет вроде как...


              1. rPman
                25.02.2022 21:52

                архиватор zstd идет во всех дистрибутивах linux

                zstd -d --stdout archive.tar.zst | tar -x


              1. Xantorohara Автор
                25.02.2022 22:07
                +1

                Если zstd установлен в системе, то распаковывается просто:

                mkdir arch-wiki-docs && tar -x -C arch-wiki-docs -f arch-wiki-docs-20200527-1-any.pkg.tar.zst


  1. Self_Perfection
    25.02.2022 12:02
    +2

    Есть зеркало Arch репозиториев в IPFS: https://github.com/RubenKelevra/pacman.store
    Можно подключиться к кластеру, чтобы иметь у себя актуальное зеркало.


  1. rehci
    25.02.2022 13:11
    +4

    Да, определённо, это может быть Арч!

    Не согласен. Арч примечателен тем, что иногда может быть нестабильным и сломаться при обновлении (особенно в периоды крупных перемен). И по закону Мерфи это будет в самый неподходящий момент (у меня было). Если что и использовать для таких вещей, то Ubuntu LTS. У меня был достаточно длительный период, когда я использовал Debian с репами на dvd-дисках.

    p.s Пару лет использовал Arch, сейчас Fedora.


  1. Xantorohara Автор
    25.02.2022 14:07
    +7

    Да, я упомянул, что Арч не самая стабильная система. Есть вероятность, что в день синхронизации зеркала кто-нибудь выкатит что-нибудь всё ломающее. Но на этот случай у меня в запасе есть несколько зеркал, созданных в разное время )

    А Убунта, отличная - это мой второй питомец, начиная вот с этих вот времён:


    1. rehci
      25.02.2022 15:01
      +5

      Тогда нужно переименовать тему в "Оффлайн использование ArchLinux", потому что она вводит в заблуждение. Кто-то ведь и правду может подумать, что это хороший выбор для автономного использования. Arch -- один из лучших дистрибутивов в плане самобытности, а его комьюнити делает невероятную работу, но он точно не про стабильность и автономность.


      1. vtb_k
        25.02.2022 15:10

        Arch — один из лучших дистрибутивов в плане самобытности, а его комьюнити делает невероятную работу, но он точно не про стабильность и автономность.

        У меня он дома работает очень отлично последние 5 лет и пережил уже 2 переезда на новые машины. А вот бубунту я совершенно никому не советую, потому что там просто ничего нет, все очень древнее и нужно самому все компилить, если вдруг понадобилась новая версия. Арч имеет одни из самых больших реп среди всех дистров. Поэтому в нем есть все, а чего не хватает — найдешь в ауре.


      1. Xantorohara Автор
        25.02.2022 16:29

        Слово "выживальщик" в названии статьи уже говорит о том, что ситуация далека от нормальной. А эксперимент длиною в год показал, что с одной копией зеркала Арча вполне можно жить.


        1. rPman
          25.02.2022 18:53

          Помимо штатных репозитариев есть python pypi, а если ты хоть немного разработчик, есть nodejs npm, есть куча других узкоспециализированных.

          Но главное, документации, указанной в статье, для жизни без интернета точно хватит?
          у меня такое ощущение что отключи сейчас интернет и 99% людей практически ничего не смогут сделать, буквально окажутся чуть ли не в каменном веке,… мы стали сильно зависимы от возможности получить информацию из интернета.


          1. Xantorohara Автор
            25.02.2022 19:10

            Про maven, pypi и npmjs я написал в статье, что они будут в этом случае недоступны. Но отключи интернет, и я поделюсь зеркалом Арча и, надеюсь, что кто-то поделится со мной другими зеркалами.


    1. AlienJust
      26.02.2022 22:08
      +1

      у Арча еть ещё и rollback machine

      https://wiki.archlinux.org/title/Arch_Linux_Archive


      1. Xantorohara Автор
        26.02.2022 22:39

        Вау! Большое человеческое спасибо! Сколько пользовался Арчем - не знал про это.


        1. AlienJust
          27.02.2022 08:14

          Пожалуста, на всякий случай оставлю ещё ссылку на downgrade :-)

          https://github.com/pbrisbin/downgrade


  1. redsh0927
    25.02.2022 14:58
    -6

    Сама по себе концепция репозиториев софта — болезненная выдумка шизофреника и прямое вредительство.
    В разумном мире у разумных инженеров всё стараются делать модульным и стандартизировать интерфейсы, в линупсе же какие-то альтернативные гении додумались ОС и ВЕСЬ СОФТ запечь в монолит!
    Да, можно в теории выкачать репозиторий целиком (либо «только нужное») и полностью изолировать себя от мира, исключив возможность обновления и установки нового софта. (напоминает древнюю стори с баша когда девице хотели продать плеер с предзаписанной «всей нужной» музыкой...)
    В реальной-то жизни через 2 недели понадобится свежая фича кикада — так что качаем новый пакет, пытаемся ставить — линупс говорит что надо ещё обновить десяток компонентов, которых опять же нет в бесполезной выкачаной оффлайн-помойке. Итог — качать стремительно устаревающий хлам из репозитория и писать на болванки нет абсолютно никакого смысла.
    Нормально написанный софт под винду работает в любой версии винды, по крайней мере нужные версии всегда можно положить в архив и знать что они у тебя есть.
    Так что по сути линупс работает только пока есть инет и живы зеркала. И пользоваться можно только «актуальными» версиями пакетов. Совершенно не годится для инженера и для серьёзной работы — зависимость от соединения напрягает, плюс необходимым инструментарием хочется «обладать» а не полагаться на авось что в репе всегда будет то что нужно, что его не испортят и не забажат.


    1. mpa4b
      25.02.2022 15:13
      +8

      Не очень (или очень не) верные утверждения.

      1. Во-1, как правило для сборки софтов нужно что-то выкачать (-dev пакеты, если убунта), но такого, чтоб в текущей версии той же убунты что-то не собиралось при всех выкачанных пакетах и БЕЗ обновлений этих пакетов -- не припомню. То есть не стоит путать необходимость что-то выкачать (а все репы по условию мы уже выкачали) и необходимость обновиться (что довольно редко в убунте влияет на функционал). Второе это как правило фиксы багов и дырок и на функционал очень редко когда влияют.

      2. Если кто-то хочет как в венде (когда каждый самый последний софт с собой тащит все либы заново, разных версий и с неисправляемыми дырами), то к его услугам всякие там snap, flatpak и прочее.


      1. redsh0927
        25.02.2022 15:28
        -10

        В венде всё нужное уже встроено в венде и, самое главное — стандартизовано! Софт тащит с собой только что-нибудь особо специфическое, которое уже каждая первая утилита не юзает. А не так вот:

        «ОШИБКА КОМПИЛЯЦИИ: установите библиотеку не ниже huiTamLib-2.4.0». При том, что в системе, разумеется, давно присутствует какая-нибудь «huiTamLib2-5.1»? Ее предлагается снести, чтобы отвалилось полсистемы или обновить до старой, чтоб полсистемы отвалилось? Вам же знаком этот повседневный линуксовый дзен, не правда ли?

        В рабочем софте всем решительно наплевать на дыры, да и баги можно запомнить и обойти. Самое главное — стабильность, доступность, отсутствие неожиданностей, чтобы на софт можно было расчитывать, чтобы воркфлоу построенный на этом софте ВНЕЗАПНО не разваливался в самый неподходящий момент.
        Вон, сколько промышленного оборудования работает на ХР или ДОС, любители всего самого последнего гавкают про дыры, но конвеер идёт.


        1. hogstaberg
          25.02.2022 16:42
          +6

          Вы же отдаёте себе отчёт о том, что делаете отсылку на выдуманную ситуацию в глупейшей статье про пригорание у очередного человека, чьим желаниям реальный мир, как оказалось, не соответствует?


        1. JerleShannara
          25.02.2022 16:44
          +10

          Наверное это линуксоиды придумали DLL-Hell, ой, погодите, ведь это же в винде .dll библиотеки…
          П.С. Линукс тоже можно один раз поставить и вообще не обновлять, как собственно с вашим пром. оборудованием и происходит.


        1. vsb
          25.02.2022 18:34
          +4

          Ничего в винде не стандартизировано. Там даже libc нет. Точней она есть, для системных программ, но её использовать очень громко запрещается, ибо версия никем не гарантируется, совместимости нет и не будет и всё такое. Нужна libc - носите с собой. Всё, что в винде стандартизировано - это WinAPI. Ну так и в линуксе сисколлы стандартизированы. Всё остальное никто не мешает собирать статически. Просто так не принято, это ненужные расходы диска и оперативной памяти.


          1. bodqhrohro
            26.02.2022 06:45

            Ну так и в линуксе сисколлы стандартизированы

            Лол.

            Сисколлы линукса — аналог сисколлов ядра NT, внезапно. WinAPI уровнем абстракции повыше. В сисколлах формочек и работы с сетью нет.

            Другое дело, что напрямую WinAPI действительно редко используют нынче и всё равно таскают с программой жирные обёртки.


            1. F0iL
              26.02.2022 10:16

              Аналогом WinAPI по сути дела является POSIX API (который, кстати, как раз-таки на самом деле стандартизован) и его сателлиты.

              Окошек там нет, это правда, но и WinAPI для окошек напрямую никто не использует уже почти три десятка лет как.


            1. redsh0927
              26.02.2022 11:57
              -2

              В сисколлах формочек и работы с сетью нет.
              WinAPI — это, например, WaitForMultipleObjects, который даёт возможность асинхронной ловли событий от любых модулей — тредов, эвентов мультимедиа, сети и т.д. (хотя нынешние программисты в асинхронщину разучились, создают стопицот тредов с синхронизацией опросом volatile-переменных каждые 1 мс, так что врядле поймут...)
              Доисторическое говно мамонта POSIX API — вообще ни в какое сравнение с WinAPI не идёт. Для синхронизации единственный select, который только I/O, при написании для чистого POSIX API каких только извращений вокруг него не городят, но поделать особо нечего ибо убогое говно 60-летней давности.


        1. F0iL
          25.02.2022 18:58
          +5

           В венде всё нужное уже встроено в венде и, самое главное — стандартизовано!

          То-то каждая вторая нативная виндовая программа тащит с собой свой экземпляр CRT или MFC специфической нужной версии, лол :)

          Софт тащит с собой только что-нибудь особо специфическое

          В Винде до недавних пор на каждом шагу был DLL Hell.
          Бороться с ним начали просто - статической линковкой и/или тасканием всех библиотек прямо с приложением. В Линуксе для такого есть Snap/Flatpak, если зачем-то вам это так надо.

          Самое главное — стабильность, доступность, отсутствие неожиданностей, чтобы на софт можно было расчитывать

          Хочется стабильности, доступности и отсутствия неожиданностей - ставьте софт из реп. Он там протестирован и есть гарантии, что все необходимые для конкретной версии библиотеки тоже будут в репе. Единожды установленная и настроенная система будет стабильно работать годами, особенно если это LTS-релиз.
          Если вы начали скачивать или компилировать какие-то левые пакеты и пытаться впихнуть их в систему - как говорится, ССЗБ, нечего удивляться, что всё разломается - всё-таки перед тем, как лезть нестандартным способом своими кривыми руками в ОС, желательно все-таки изучить, как она работает и как с ней работать.
          А если вам зачем-то срочно понадобилось "самое новое", чего нет в репах - для этого, как уже было сказано, есть Snap/Flatpak, в которых все зависимости лежат вместе с самим приложением, и никаких выдуманных проблем не будет.

          Ее предлагается снести, чтобы отвалилось полсистемы или обновить до старой, чтоб полсистемы отвалилось?

          Если вам зачем-то так сильно приспичило собрать пакет из исходников руками, то откройте уже для себя Docker, он легко и изящно решает подобные проблемы.

          В рабочем софте всем решительно наплевать на дыр

          Ахахаха. Ну да, пока гром не грянет - мужик не перекрестится. Вы наверное и дорогу на красный свет ежедневно перед потокомм машин перебегаете?

          Вон, сколько промышленного оборудования работает на ХР или ДОС

          Ну это вообще ни о чем не говорит - да, в изолированной air gap сети подобное может жить довольно долго без особых проблем. Вот только во-первых, как показали некоторые события, air gap не является стопроцентной защитой, а во-вторых, одним промышленным оборудованием мир не ограничивается.
          Кстати, на embedded linux подобного "промышленного оборудования" годами стабильно и надежно работает в сотни, а то и в тысячи раз больше :)


          1. rPman
            25.02.2022 19:02

            как показали некоторые события, air gap не является стопроцентной защитой
            какие события?


            1. F0iL
              25.02.2022 19:13

              Из самых громких - Stuxnet.


          1. redsh0927
            26.02.2022 13:00
            -1

            Хочется стабильности, доступности и отсутствия неожиданностей — ставьте софт из реп.
            В дебиане, во времена когда я тыкал это говно, софт в репе обновлялся раз в 2 года. Про стабильность — вонючая ложь и пропагандонство, пользоваться двухлетним старьём приходилось не потому что получаешь за это сверхстабильность, а потому что такая версия была актуальна на момент формирования репозитория. Я помню случай когда в репе валялась версия нужной мне штуковины, условно, 0.9b, а действительно акутальная и стабильная 1.0 была свежее на пару месяцев и добавляла кучу полезных фич и улучшений. Ну либо ставь «testing» и получай кучу беток сомнительной стабильности, как и заявлено.
            Вся эта шиза от того что линупс никогда не был предназначен для работы. Линупс исторически заявлялася как «система для опытного пользователя», вот только если опытный пользователь винды — тот, кто эффективно использует компьютер, то опытный пользователь линупса — тот, для кого работа за компом — настраивать линупс.
            есть Snap/Flatpak, в которых все зависимости лежат вместе с самим приложением
            Это тулзы для разработчика (внезапно, коммерческие разработчики серьёзного софта обычно что-то такое и юзают). Мне-то какой прок, как юзеру? Например, относительно недавно вышел 6-й кикад, но до этого был очень старый и малоюзабельный 5.1 (или вроде того), так что все сидели на предрелизном ежедневно обновляемом «5.99 найтли». Много проку со всех этих стабильных репозиториев? Когда посмел ставить пакеты не из репозитория — начинается цирк с клоунами, происходит рассинхронизация состояния компьютера и того что должно быть по мнению репозитория, на каждое движение пакетный менеджер начинает сыпать какие-то ошибки и отказываться выполнять команды. В винде я просто качаю нужную версию, распаковываю архив, даблклик и всё запущено!
            В винде всегда можно просто сохранить нужную софтину в архив и знать что у тебя есть эта вещь. Даже если она 20+ летней давности, даже если давно выпилена из интернетов — просто достаёшь и всё работает. В общем — линупс маздай, винда форева!
            зы. Посмел высказаться против наглой лжи о том как в линупсе прекрасно и удобно ставится любой софт — заткнули рот, пока что на один камент в час. И эти люди жалуются на цензуру…


            1. F0iL
              26.02.2022 14:58
              +2

              В дебиане, во времена когда я тыкал это говно, софт в репе обновлялся раз в 2 года.

              ...

              потому что такая версия была актуальна на момент формирования репозитория

              Всё верно. "Стабильность" и "самый свежий непротестированный софт" - вещи не очень-то совместимые. Поэтому в LTS-репах софт фиксируют на определенной мажорной версии и потом докидывают туда backports для безопасности.

              В конце концов, одними Debian и RHEL мир не ограничивается. Есть Fedora, есть Manjaro и Arch с роллинг-релизами - выбирайте исходя из потребностей.

              Это тулзы для разработчика. Мне-то какой прок, как юзеру?

              Своим комментарием вы в очередной раз продемонстрировали, что вообще не понимаете, о чем говорите.

              Это не только "тулзы", это в первую очередь формат пакетов дистрибьюции софта, который обеспечивает... знаете что? Он обеспечивает именно то что вы написали:

              я просто качаю нужную версию, распаковываю архив, даблклик и всё запущено

              ...

              всегда можно просто сохранить нужную софтину в архив и знать что у тебя есть эта вещь

              именно так как сказано выше. И все работает. Соответственно, если вам зачем-то резко приперло использовать самый последний bleeding edge релиз софта - ставьте его через snap/flatpak и не будет никаких неожиданностей. Ваш любимый KiCad в виде Flatpak доступен аж на официальном сайте KiCad'а.

              В общем — линупс маздай, винда форева

              Звучит как высказывание ученика средней школы, ну или это просто очень жирный троллинг.


  1. t76480
    25.02.2022 15:33
    +1

    Напишите кто-нибудь статью как сделать локальными репозитории для разных систем Linux.

    На случай отключения Интернета.


  1. sedyh
    25.02.2022 16:01
    +6

    Сколько бы я не пользовался Арчем, у меня ни разу не было ощущения, что он "простой и удобный". Каждый раз что-то ломается, с чем обычно на Mint или CentOS нет никаких проблем.


    1. ptech
      25.02.2022 17:09

      Хотелось бы примеров.
      Что делают те, кому удаётся ломать Archlinux?


      1. Arris
        25.02.2022 18:26
        +2

        Мне однажды удалось сломать генту. Вот прямо до состояния Dependancy Deadlock, когда зависимость версий была принципиально неразрешима без сноса всех вовлеченных участников... и один из этих участников был kernel.

        Но я старался, да.

        Потом понял, что не вывожу администрирование генты сам, плюнул и поставил Debian 11.

        P.S. Центос мне удалось сломать одним `make install` :-D


        1. JerleShannara
          26.02.2022 21:41

          Кернел можно было совершенно спокойно снести нафиг, сохранив только конфиг (а можно и не сохранять, при --unmerge emerge не снесёт то, что там ядро при сборке и конфиге понаписало).


      1. speshuric
        25.02.2022 23:38
        +4

        Давайте будем честны. Тут есть нюанс. Понятие "поломанность" у пользователей Arch отличается от "поломанности" %another_distr%. Вот у пользователя %another_distr% "поломанность" - это почти любое неудобство: ну там гном не стартанул или дравер Nvidia не так обновился - уже катастрофа. А в arch установка считается в общем-то завершённой и успешной после разбивки диска, pacstrap и работающего pacman.

        Там где %another_distr% считается нафиг убитым, арчевод видит работающий арч, который надо "немного донастроить". И, при некотором понимании своих действий, офигенной вики и наличии некоторого упорства, чтобы не бросить разбираться через пару часов, arch вполне позволяет настроить себя очень близко к тому, как хочется данному арчеводу. А при чуть большем желании разобраться, благодаря простоте арча (в той трактовке "простоты", которая подразумевается в arch!) - однажды сделанное уже работает ровно так, как задуманно, поэтому уже не ломается ни в каком понимании.

        Но цена этой "простоты" - гораздо больше потраченного времени. Кому-то полученные знания и понимание деталей работы системы нужны - тогда это его дистрибутив. Кому-то не нужны - тогда есть сотни других отличных дистрибутивов.


      1. justaguest
        25.02.2022 23:54
        +1

        Например я репортил [вот такой баг](https://gitlab.freedesktop.org/drm/amd/-/issues/1850).

        С Арчем ты как бы живёшь на передовой, и нужно быть готовым, что возникнет проблема и её надо репортить. С AMDGPU я дважды натыкался на регрессии и их репортил (их пофиксили). С podman как-то возникали, тоже пофиксили.

        Редко, но что-то возникает. Мне льстит мысль, что в частности благодаря мне эти баги не доходят до стабильных дистров.


        1. justaguest
          26.02.2022 00:02

          Хмм, а markdown на хабре перестал работать? Я гуглю, вроде доки на месте https://habr.com/ru/docs/help/markdown/ , написано галочку при наборе текста поставить. Но поля с галочкой нет.


      1. radioxoma
        27.02.2022 09:41

        Не читают новости (так, пакет с deprecated драйвером nvidia может попасть в AUR под другим именем nvidia-xxx и соответственно иксы не запустятся) и обновляются раз в год, когда накопится критическое количество изменений.

        После паузы в несколько месяцев лучше обновлятся через pacman, а не AUR helpers, т.к. pacman покажет и предложит разрешить конфликты.


    1. Xantorohara Автор
      25.02.2022 18:26
      +1

      Арч простой не в том плане, что вставил live-флешку, установил и радуйся готовому рабочему столу. Он удобный и простой, когда находясь в одной системе надо собрать другую систему под определённую задачу. То-есть это уже такое "подкапотное" удобство.


  1. lealxe
    25.02.2022 17:02
    +1

    Честно говоря, не понимаю, почему Arch.

    Slackware или Void можно так же использовать, соответственно Слакбилды с сорцами и xbps-src с дистфайлами.

    Можно еще дерево pkgsrc вытащить с дистфайлами тоже.


    1. garbagecollected
      25.02.2022 21:27
      +1

      Поддерживаю. Лично мне кажется самым простым и автономным PuppyRus Linux. Пакеты не нужно устанавливать, просто скачиваешь файл в определенную папку и всё, работает без распаковки. Флешка сделаная 6 лет назад, до сих пор запускается и работает. Я даже заменил файл Firefox на последнюю представленную для PuppyRus версию и браузер открылся без каких либо вопросов. Жаль, что такой идейный дистрибутив умирает.

      А что имеем в ArchLinux? Вот есть у меня компьютер, который я не включал полтора года с ArchLinux. Недавно включаю. Вроде бы все работает. У меня нет желания обновиться, но я хочу поставить screenfetch или neofetch для того, чтобы заскринить характеристики. И что я получаю? Чтобы мне поставить screenfetch мне необходимо обновиться. А pacman не работает. Он просто не понимает как распаковать пакет, который ожидает в формате tar.xz. Разумеется, после 40-минутного треша я всё же умудрился обновить систему и ожидаемо получил незагружающуюся, конфликтующуюся с текущими конфигами систему. Причем конфиги в большинстве своём дефолтные. Хороший пример для подражания от системы для выживальщика.


      1. Xantorohara Автор
        25.02.2022 21:57

        Идея статьи в том, что есть зеркало, и оно позволяет всё устанавливать - хоть через 100 лет. Статические локальные зеркала сильно снижают зависимость Арча от rolling release.

        Плюс, имея два разных зеркала, например от 2020 года и от 2022, в одной Арч системе вполне может жить софт из обоих поколений. Добиться этого можно кучей способов: виртуализацией, контейнеризацией, lmod-модулями, парой pacstrap + arch-chroot. Ну и в конце-концов, просто манипуляцией с "LD_" -переменными окружения.

        Если же Арч устарел настолько, что даже не понимает новый форматов пакетов - это значит, что для данного конкретного применения он был выбран неправильно. В этом случае нужен какой-нибудь LTS.


      1. nitro80
        26.02.2022 07:38

        Старенький Slax так же работал, файлики в папку и привет новая программа.

        Вроде дистрибутив до сих пор живой


        1. AVX
          26.02.2022 22:43

          Подтверждаю, живой! я как-то подписался на уведомления в почту, недавно получил, что вышла новая версия.

          Кстати, держу на флешке и старый slax, и новый PuppyRus (да вроде даже и старый какой-то есть) - работают все. И без интернета тоже.


  1. ptech
    25.02.2022 17:16

    В статье было бы нелишним описание того, как настроить web-cache для браузинга по любимым сайтам в офлайне.


    1. Xantorohara Автор
      25.02.2022 17:40

      Это мог бы быть "Internet выживальщика") Но любимые сайты погрязли в ангулярах и реактах. И вебкеш тут часто бессилен.


      1. ptech
        25.02.2022 18:37

        Понял.
        Не знал, что он не умеет такое.

        Ничего для таких не придумано?


        1. garbagecollected
          25.02.2022 21:49
          +1

          Придумано

          $ wget -r https://example.com/path

          Параметр -r для рекурсивного поиска.

          Что скачается?

          1. Сама страничка по указанном адресу.

          2. Все JS- и CSS-файлы, подключенные к странице.

          3. Все страницы, найденные ссылки на которые будут иметь путь глубже указанной страницы /path и рекурсивно найденные на этих страницах ссылки на другие страницы.

          Если указать главную страницу сайта, скорее всего, скачается весь сайт.

          Далее для воспроизведения нужно из папки с сайтом запустить node-static без параметров.


          1. Xantorohara Автор
            25.02.2022 22:34
            +1

            Проблема ангуляр-реактных сайтов в том, что они рендерятся на клиенте. Если делать, например, так:

            wget https://www.facebook.com/react

            то ничего толком не скачается. Но можно попробовать прикинуться гугл-ботом, тогда некоторые сайты включают серверную генерацию страниц:

            wget -U "Googlebot/2.1 (+http://www.google.com/bot.html)" https://www.facebook.com/react

            результат совершенно другой. Ну и для полноценного зеркалирования сайта можно сделать так (!не делайте, вам не нужен весь фейсбук):

            wget --mirror --no-parent --page-requisites --convert-links --adjust-extension \
              -U "Googlebot/2.1 (+http://www.google.com/bot.html)" \
              https://www.facebook.com


  1. prefrontalCortex
    25.02.2022 18:36
    +2

    Ещё на чёрный день есть Яндексовские зеркала различных дистрибутивов, в том числе Арча.


  1. oWeRQ
    25.02.2022 19:09
    +2

    Как верно заметили ранее, Arch не слишком предсказуем в любой момент времени, это не фатально в онлайне, в моем представлении первый кандидат на дистрибутив "судного дня" - Debian, это один из немногих дистрибутивов полностью доступных на dvd(на данный момент 18 штук, привет дискетки).


  1. AlexanderS
    25.02.2022 20:32

    Ультимативная автономинация: дебиан в виде четырёх 22-гиговых BD диска или образов с пакетами и трёх дисков с исходниками =)


  1. kmeaw
    25.02.2022 20:46
    +5

    Arch Linux не выглядит хорошим вариантом. В нём rolling release, нет возможности установить предыдущую версию пакета с зеркала и одновременно с этим не поддерживаются частичные обновления. Попробуйте не обновлять систему полгода, а потом установить какую-нибудь программу из бинарного репозитория - скорее всего, она не запустится, так как не найдёт нужную версию какой-нибудь библиотеки (а раз частичные обновления не поддерживаются, то авторы пакета не будут утруждать себя указанием правильных версий зависимостей в метаданных).

    Ubuntu или Debian выглядят в этом плане несколько лучше. Можно установить систему релизной версии (не unstable/sid), затем доставить что-нибудь новое из -updates или -backports, а если что-то пойдёт не так, то стандартными средствами откатиться на прежнюю версию пакета: apt install PKGNAME=1.0.24. Проблема только в инструментах, которые используются для поддержки репозиториев - самые популярные из них (в том числе и тот, что используют в самом проекте) не позволяют залить несколько версий одного пакета в один репозиторий - в этом случае "побеждает" максимальная версия. Но ни в apt, ни в форматах метаинформации такой проблемы нет - используя другие инструменты, можно создать репозиторий, где будет лежать, например, до пяти последних версий каждого пакета.

    Gentoo - ещё лучше. В portage лежат только рецепты для сборки пакетов (ebuilds), а многие зеркала отдают дельты изменений и поддерживают rsync - значит получится, потратив мало трафика, иметь всегда актуальную версию portage. Старые версии пакетов оттуда удаляют не сразу, а сломанные маскируют вместо удаления, что даёт пользователю возможность откатиться (даже на заведомо уязвимую версию, если пользователь будет настаивать). Rolling release, но поддерживается частичное обновление (в рамках одной версии EAPI). Для сборки потребуются distfiles (исходники), и именно они займут больше всего места, но portage не навязывает какой-то определённый источник, а сами ebuild содержат ещё и ссылки на upstream, откуда можно скачать исходник. Для проверки целостности в portage лежат хэш-суммы всего, что требуется для сборки. Из недостатков - придётся компилировать исходники, но для крупных пакетов (libreoffice, firefox, chromium) есть готовые бинарные сборки. Если использовать в рамках организации, то можно держать свой binhost для того, чтобы избежать повторной сборки на всех узлах.

    И стоит рассмотреть NixOS. Можно обмениваться кусками /nix/store, разработчики системы сильно продвинулись в достижении цели полной воспроизводимости сборки, окружения получаются гораздо более герметичными. Переход от input-addressable к content-addressable должен сократить ненужные скачивания при обновлении зависимостей. Число готовых пакетов сравнимо с Debian, более 80000. Из недостатков - очень отличается от привычных систем подходом к управлению пакетами, структурой директорий.


    1. w96k
      25.02.2022 21:06

      Мне кажется самым хорошим вариантом будет Slackware или какой-нибудь или такой дистрибутив, который может сразу тонны софта установить заранее, а не минимальный, где ты сам устанавливаешь по отдельности пакеты. Я не знаю есть ли в арче подобие .deb или .rpm, с ними оффлайново хотя бы пакетами можно обмениваться в приемлемом для пакетного менеджера виде, в арче вроде бы пакеты распространяются в виде "рецептов", скачай оттуда, сделай то, потом установи туда, но это не совсем то что надо. В дебиане при желании можно просто поставить скрипт, который бы скачал все эти .deb пакеты и устанавливать большую часть из них по необходимости. Также можно поднять свою билд-ферму для упомянутого NixOS и неупомянутого Guix и стараться набирать всю пакетную базу хотя бы на определённые даты.

      Ни что не мешает конечно подготовиться вообще с какой-угодно Unix-подобной системой, скачав просто все исходники нужных тебе программ (через apt-src например) и собирать на своём же компьютере как в случае с билд-фермой в nixos и guix, но понадобится очень много свободного места на диске.


      1. kmeaw
        25.02.2022 23:41

        В Arch Linux основной пакетный менеджер, pacman, работает как раз с бинарными пакетами. Но обмениваться ими проблематично как раз из-за того, что это rolling release, и пакеты собираются под самые свежие версии зависимостей. Рецепты (их обычно берут из AUR) - это файлы PKGBUILD, из которых makepkg делает пакеты.

        Чтобы обмен бинарными пакетами был возможен, все должны либо всегда обновляться на самые свежие версии всего, либо договориться сделать срез зеркала на какой-то момент времени (фактически "отвести релиз") и собирать всё остальное против зависимостей из этого среза.

        В Debian и Slackware такой проблемы не будет из-за существования релизов, а в NixOS и Guix ещё и из-за возможности установить новую программу с новыми зависимостями, не обновляя их для старых программ - в последних можно жить как с релизами, так и без.

        Пока писал этот комментарий, захотел посмотреть, как у Guix с разнообразием пакетов и частотой релизов, но обнаружил, что не могу из России подключиться к https://guix.gnu.org/


    1. garbagecollected
      25.02.2022 22:01

      Gentoo - ещё лучше. В portage лежат только рецепты для сборки пакетов
      (ebuilds), а многие зеркала отдают дельты изменений и поддерживают rsync - значит получится, потратив мало трафика, иметь всегда актуальную версию portage.

      Ага, сколько недель будет собираться chromium на 2Гб-ном нетбуке с каким-нибудь Celeron N-серии, работающем от солнечных панелей?


      1. kmeaw
        25.02.2022 23:31
        +2

        Нисколько, на него можно поставить chromium-bin.


  1. Bergtagen
    26.02.2022 12:21

    А что вы думаете про EndeavourOS, который упорно в течение полугода полз и дополз до второго места на distrowatch?)


  1. Kirikekeks
    26.02.2022 14:54

    В дебиане есть Parrot home построенный по идеологии арча, и да - на острие мэйнстрима. И выбирая между Дебом, со всеми недостатками и упомянутым Парротом, - точно Дэб, концептуально лучше для изоляции. По документации - лучше Арча нет, сложно не согласиться. Но тогда и забирать ее нужно в html и читать консольным браузером, w3m, lynx и прочие. Да, независимо от дистра, документацию Арча нужно взять. Между Виндой и Линуксом выбор очевиден, голая винда занимает столько, сколько любой линукс + локальный репозиторий на 200-300k программ (100 Гб). Но если нужна одна пограмма под Винду - еще очевиднее, конечно Винда. Но вообще женить весь мир на бесприданнице, еще и бесплодной - это уметь надо.


    1. ljonya
      27.02.2022 08:25

      Подскажите, документация хранится где-нибудь одним архивом? Как ее проще забрать?


    1. radioxoma
      27.02.2022 21:54

      Но тогда и забирать ее нужно в html и читать консольным браузером, w3m, lynx и прочие

      Можно без браузера. Поставить этот пакет (20 Мб в установленном виде) на чёрный день и забыть.

      sudo pacman -S arch-wiki-lite # http://kmkeen.com/arch-wiki-lite/


  1. pnl
    27.02.2022 20:21
    +1

    Когда открывал, думал тут про то как с помощью Linux можно разводить огонь, и что из каких папок можно жрат, а тут... :(


    1. Xantorohara Автор
      27.02.2022 23:24

      Нее, тут всё для тех, кто уже не поддаётся кернел-панике и не хранит продукты в темповой папке. А огонь Линуксом развести совсем просто; достаточно похвалить его негромко, как из-за кустов вылезут знатоки, у которых от этого всегда пригорает :)