В прошлой части я, как обычный пользователь, пытался сделать свой локальный репозиторий Debian, ведь по яростным заявлениям некоторых любителей Linux, это должно быть проще простого! Но в итоге проблема погоняла проблемой, и ничего не получилось (ух, неосилятор!):
Танцы с бубном, или почему Linux репозитории несостоятельны в Desktop сегменте
Тогда было решено бросить это мракобесие на какое-то время, как говорится, утро вечера мудренее... И вот, настало время вернуться к танцам над репозиториями!
На этот раз я кое-что придумал, раз не получается сделать скопировать репозиторий по мануалам, значит нужно просто скачать DVD с Debian! Иначе говоря "подсмотреть" как это сделали сами разработчики... Однако скачать всё нормальными ISO образами невозможно, ведь их просто не существует:
Почему так? Ну, на официальном сайте Debian заявляют (2024-03-03), что Jigdo лучше, чем прямая загрузка, потому что это быстрее обычного скачивания ISO образов (по сути ложь), особенно когда серверы перегружены (и это при около нулевой популярности линуксов в Desktop сегменте), ну а ещё там жалуются на нехватку места для размещения нормальных ISO:
А ведь некоторые будут рассказывать сказки, что репозитории это хорошо, удобно и круто! И неважно что сами разработчики Debian откровенно жалуются на нехватку места на серверах для хранения несчастных ISO образов, что так сильно разжирели по вине тех самых репозиториев, и будут жиреть дальше, если конечно в очередной раз не удалят массу "устаревшего" софта, как всегда, оставив пользователей у разбитого корыта...
Кстати, сейчас затронем заявление относительно Jigdo, мол, это быстрее обычного скачивания ISO файлов, и объясню, почему я назвал это ложью, так вот, нормальный ISO я могу скачивать со скоростью ~3.6 MiB/s прямо средь белого дня (браузер под MB/GB подразумевает MiB/GiB):
Так как общий размер загружаемых образов составляет 99 GiB, процесс скачивания обычным веб браузером у меня занял бы примерно 469 минут, или около 7 часов 49 минут:
Но сколько времени было потрачено на загрузку дисков через Jigdo? Давайте посмотрим на логи, процесс начат 2024-03-22 в 00:48:06, а завершён 2024-03-22 в 15:51:18, из этого следует, что на скачивание 99 GiB через Jigdo было затрачено целых 15 часов, что почти в 2 раза дольше, чем если бы я вручную скачивал обычные ISO файлы через браузер, и где тут высокая скорость?
|
|
|
Причём важно заметить, скачивание обычных ISO файлов не тратит много вычислительных ресурсов системы пользователя, когда Jigdo нагружает мой R7 2700X примерно на 20-30% в процессе сборки образов, ну и вдобавок расходует ресурс накопителей, ведь сначала скачиваются файлы, а потом упаковываются в образ, что ведёт к двойному объёму перезаписи для накопителя.
А учитывая, что из-за безалаберности линуксоидных разработчиков утилита Jigdo недоступна в виде адекватных автономных исполняемых файлов, которые можно было бы просто скачать и запустить где угодно, этот способ загрузки образов я не могу назвать никак иначе как линуксоидным мракобесием, что не только сложно в использовании, но и приводит к значительному расходу ресурсов.
Хотя если честно, распространение софта в виде исходного кода тоже есть ничто иное как мракобесие, ведь на компиляцию из "исходников" тратится значительный вычислительный ресурс, а учитывая что компиляция линуксоидного софта редко когда проходит без ошибок и проблем с зависимостями, вынуждающих начинать процесс заново по 10 раз подряд... Ну да ладно, сейчас речь не про ущербность концепции распространения софта в виде исходного кода.
Как можно заметить, у меня есть 21 DVD с Debian 12.5, правда есть и проблема, там репозитории только для архитектуры amd64, а мне нужно ещё и i386, но не суть, важно что можно "подсмотреть" как всё сделано, это порой бывает гораздо эффективнее, чем читать линуксоидные мануалы:
Как эти диски подключить в качестве локального репозитория? Казалось бы, ну что может быть проще, просто выбрать "Add CD-ROM" в пакетном менеджере Synaptic, и готово!
Ага, конечно, размечтались, чтобы в Linux хоть что-то по-человечески работало... Оно не может использовать ISO образы дисков, ну не может и всё на этом! Этот недоразвитый хлам может работать только с дисководами! Просто смонтированный диск как обычная папка тоже не прокатывает, оно должно висеть в системе именно как дисковод! Боже мой...
В общем монтирую диск, благо это дерьмо можно решить без особо неистовых танцев с бубном. Важно заметить, папку "/media/cdrom" нужно заранее создать если её нет, и делать это надо, как обычно, из под учётной записи root (привет от "безопасности" в линуксах), ну и желательно не запутаться в терминальных заклинаниях, иначе можно получить "invalid":
Возможно прокатило бы и монтирование "диска" в обычную папку где-нибудь, чтобы не дёргать root лишний раз, однако я не проверял, не хочу лишний раз ковыряться в случае возникновения очередных проблем...
Как думаете, что произошло у меня при первом подключении? Правильно, очередные ошибки и танцы с бубном, ведь пакетный менеджер демонтирует дисковод когда пользователь пытается добавить диск как репозиторий, и если не соблюдать танцы с бубном в строгом порядке - получается вот так:
Какие танцы нужно правильно исполнять? Конечно же порядок монтирования дисков! Сначала нужно нажимать кнопку "добавить диск", появится окошко "вставьте диск в дисковод", только после этого можно "вставлять диск" и подтверждать сие действие:
Причём абсолютно ничего не сказано про какой именно дисковод идёт речь, вдруг у меня три дисковода? В какой именно загружать диск? Непонятно...
И да, для каждого диска нужно заново танцевать с бубном, ведь пакетный менеджер каждый раз демонтирует дисковод, и его нужно заново монтировать ровно в момент запроса диска, чуть шаг влево или вправо и всё поломается, в общем это было очень "увлекательное" занятие, если скажу иначе, то это будет набор матерных слов в адрес разработчиков всего этого линуксоидного дерьма:
|
|
|
|
Так выглядит список репозиториев после танцев с бубном, наверное можно считать себя "хакером", ведь столько всяких строчек текста, кнопочек то там, то тут, ну и терминал за кадром:
Отлично, оно работает, хотя и не совсем очевидно из какого именно источника будет устанавливаться тот, или иной пакет, но как я уже говорил, мне нужна не только amd64 архитектура, но и i386, чего диски не могут предоставить, а значит нужно прикрутить полноценный локальный репозиторий, да и каждый раз возиться с подключением дисков не хочется, например после переустановки линукса.
Потому нужно посмотреть что там на диске, а там вижу совершенно странную и непонятную символическую ссылку "debian", что указывает на каталог в котором находится, это какой-то прикол? Или без таких костылей "дряхлый пингвин" разваливается? Забавно:
В каталоге "pool" ничего интересного, просто набор deb пакетов разложенных по папкам:
|
|
|
Но в папке "dists" наконец нашлось "то самое", символическая ссылка с именем "stable" указывающая на папку "bookworm"!
|
|
|
|
Почему эту "деталь" я посчитал столь важной и сразу обратил внимание? Ведь это же просто ссылка, что в ней такого... А ведь в прошлой части я уже обращал внимание на документацию Debian, в которой между текстом сказано про символическую ссылку:
И я её сделал, некоторые ошибки пропали, что косвенно говорило об успехе... Но это было заблуждение, тем более система не даёт никаких внятных сообщений об ошибках, а их "решения" на форумах попросту оказались бесполезны в конкретной ситуации (всё же Linux это вам не Windows):
Какова документация - таков и результат, когда документация писана на "отвали", то и у пользователей будет результат на "отвали", а документация тут действительно писана плохо, особенно примеры, которые нужно ещё умудриться адаптировать без ошибок, так как они уже давно устарели, просто скопировать и вставить не выйдет:
Почему я ошибся с символической ссылкой? Собственно, а как много людей смогут адаптировать вышеуказанный "пример", особенно если это будет полнейший новичок в линуксах, коих абсолютное большинство если судить по статистике операционных систем?
Меня конечно сложно назвать новичком в линуксах, но даже меня до сих пор вымораживает утилита под названием "ln", которая в аргументах сначала принимает "TARGET", то есть "пункт назначения", а уже потом имя создаваемой ссылки!
У любого нормального человека, как правило, всегда подразумевается что сначала будут указаны данные "что/где", а уже потом "куда", но в линуксах вечно всё через задницу сделано, и утилита ln не исключение...
В совокупности с длинной портянкой под названием "пример" получилось так, что я сделал ссылку не там где надо, тем более мне не нужен прибитый гвоздями к диску репозиторий, потому изначально хотел сделать ссылку относительной, чтобы это было правильно и не ломалось если вдруг перемещу папку с репозиторием в другое место.
Тем более не забываем про тот факт, что изначально я просто пошёл в интернет искать мануалы по созданию локального репозитория, и в попавшемся мне мануале вообще ничего не было сказано про то, что нужно создавать ссылку. Перечитал мануал уже раза 4 наверное, ну ни слова не сказано про то, что нужно колхозить какие-то ссылки внутри репозитория после клонирования, якобы просто берите и используйте после клонирования:
https://habr.com/ru/articles/110444 (2024-03-23)
|
|
|
Ах, да, ведь этот мануал оказывается за 2010 год, как я сразу то не заметил, у меня есть несколько вопросов дизайнерам, может шрифт текста с датой публикации нужно сделать ещё меньше? А цвет ещё более светло-серым? Ну чтобы наверняка всё сливалось с белым фоном сайта? Впрочем, тухлость мануалов для Linux это типичное явление:
Так или иначе, я уже подсмотрел как всё сделано в DVD репозиториях, и просто решил повторить, если честно, мне уже абсолютно фиолетово было до официальной "документации" Debian, которая даже не появляется по запросам в поисковике:
|
|
|
В общем репозиторий наконец подключился, столько проблем из-за одной поганой символической ссылки находящейся не там где надо...
Наверное просто мой IQ ниже 70, ну точно не документации паршивые, и не линуксы вместе со своими репозиториями говно... Ну или коротко про малую, не отличающуюся адекватностью часть сообщества Linux, что верещит громче всех на весь интернет как только "сказали плохо про линукс":
P.S. Метка [РЕШЕНО] в заголовках на форумах ещё не значит что проблема на самом деле решена, но даже если и решена, это ещё не значит что решение подойдёт к другим вариациям одной и той же проблемы, вроде давно известный факт, а некоторые не в курсе оказывается...
Ну и конечно отмечу неприятную особенность работы с репозиториями, совершенно непонятно из какого источника пакетный менеджер взял пакет, я то понимаю что это из локального репозитория, но почему нигде не указан конкретный путь к пакету? Чтобы пользователь мог узнать откуда он берёт пакет не только лишь на основании списка подключенных репозиториев, но и просто в параметрах пакета, в общем ещё один минус в копилку линуксоидных репозиториев:
|
|
|
|
Ладно, осталось проверить работает ли это сборище костылей, установим утилиту "0xffff" с ироничным описанием "Open Free Fiasco Firmware Flasher", ничего не понятно что, куда и откуда, но вроде работает:
|
|
|
|
Что дальше? Да ничего! Можно сказать я благополучно потратил почти неделю времени на возню с репозиториями Linux, "спасибо" кривым мануалам и документациям, что писаны не для нормальных людей, а для задротов и так уже давно знающих все нюансы...
Да и вообще, когда линуксоиды ценили своё время и труд, а так же время и труд других людей? Что-то я не припомню такого, всю историю вечно какие-то танцы с бубном, ковыряние конфигов и заучивание так называемых "документаций".
Кстати говоря, я тут понял кое-что... Если для использования операционной системы нужно неистово изучать документацию, значит это не операционная система, а нечто непригодное для нормального использования обычным человеком, в конце концов никто не кладёт в комплект к Android смартфонам книгу размером с "Р. Лафоре ООП в C++" под названием "руководство пользователя", просто чтобы этим смартфоном можно было как-то пользоваться.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.