Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
АААА! Этот день будет вписан в историю великой страницей! Нуу, на самом деле не такой уж и великой, но у меня давно в жизни ничего великого не происходило, поэтому всё зависит от точки зрения, верно? читать дальше Обе версии LFS строятся одинаково примерно до середины, после чего разветвляются - на одну версию ставится systemd, на другую продолжаем ставить обычные пакеты и ближе к концу sysVinit. С самого начала я задумывался о том, что надо бы попробовать две версии и посмотреть, чем они отличаются. Но прям с нуля каждую это долго и никому не нужно. 5я глава для них общая, различия начинаются в середине шестой.
Перед установкой systemd я сохранил копию будущей системы, после чего поставил systemd, оставшиеся пакеты, и начал геморроиться с ядром. Которое не загружалось. Дык вот, вооружённый знаниями, прихожу с утра на работу и смотрю - все те модули, которые я говорил, у меня вкомпилены в ядро. Так хер ли ж оно не загружается? Проверяю ещё раз - загружается! Проверяю предыдущее - тоже загружается и так все варианты ядер, которые я собрал, включая самое первое ядро! (( Мистика, сука-блядь! В чём же было дело? Ну, я использовал как вспомогательный диск с Arch-linux, и у арчеводов принято делать метки на разделах диска и ссылаться на эти разделы через метки или через UUID. То есть, в grub.cfg они пишут так:
и у них прокатывает, потому что есть initramfs. ну и я писал так и обламывался. А надо было так:
Архаично? Ну, возможно, зато работает. В общем, все мои ядра загрузились с параметром /dev/sda загрузились только в путь. Как это объяснить. Ну, типа udev умеет распознавать LABEL & UUID, поэтому, если в initramfs есть udev, то это сработает, а если нет, то нет. Но я вчера напоследок загружался с initramfs, в котором только base, никакого udev, и неожиданно - оно распознало LABEL. В общем хуй знает, этот ебучий Линукс полон загадок.
Ободрённый успехом, что ядро загрузилось и LFS 8.1-systemd собран, я поднапрягся, докомпилил недостающие пакеты в версии sysVinit, создал новую виртуальную машину, захерачил всё туда, собрал ядро и запустил ещё один LFS! Второй раз всё происходило быстрее, понятное дело. Примечательно, что у ютуберов, собирающих LFS видео сборки тоже получается примерно в 7 частях. На радостях я даже зарегился на их сайте и похвастал своим достижением! Ура, товарищи!
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Ебаные красноглазики, сука-блядь, поубывав бы! Чо-то нахуевертят, напидорасят, блядь, своими руками ижжопы! Десять конфиругационных файлов, один ссылается на другой, якобы, чтобы было "удобно". Хочешь что-то изменить под себя и понимаешь что надо менять сразу в нескольких местах.
Пытаешься разобрацца в этом говне, чтобы как-то его использовать, продираешься сквозь ибаные дебри зависимостей зависимостей зависимостей, а когда тебе кажется, что ты уже видишь свет в конце тоннеля, они хоп - уже всё переделали! Получилось то же самое говно или чуть лучше, но - абсолютно другое. И у тебя есть выбор - послать их нахуй или начать всё заново. Точнее, послать-то ты можешь только заочно. Ну или вот, в тырнете написать. читать дальше Но обо всём по порядку. Я откомпилировал всё это говнище, которое перечислено в их книжке-инструкции и даже немножко постиг дзэн ГНУ-Линукса. Казалось бы, всё! Ещё немного, и ты получишь результат, ради которого столько ебался. У меня впереди было два тихих выходных на работе. Один день я потратил, чтобы перенести эту хрень с каталога на виртуальный диск плюс ещё докомпилинг доп.пакетов. Ну, тут они ни при чём, с каталога на диск это моя инициатива - они в самом начале предупреждали, что нужен хотя бы отдельный раздел. Второй день я целиком посвятил ебле с ядром. Безрезультатной.
Для тех, кто не в курсе - дело в том, что стандартное ядро не знает, на каком оборудовании ему придётся запускаться. И для успешного запуска главное это опознать диск (контроллер диска), на котором лежит собсно операционная система. Для этого есть два пути. Первый - внедрить в код ядра драйвера всех возможных дисков. Получится охуенно большое ядро, ну как охуенно, нормальное в целом, на десяток мегабайт больше, короче, больше обычного. И поскоку система ставится один раз и стоит на одном и том же компе годами, то все эти драйвера будут загружаться и висеть в памяти зря.
Второй путь - оформить драйвера в виде подгружаемых модулей. Тогда в памяти будет висеть только то, что нужно. Но тут проблема - если модули отдельно от ядра, то они лежат на диске. А чтобы получить доступ к диску, внезапно нужны модули, которые лежат на диске.
Для этого придумали такую штуку - initramfs. Это такой архив, в который запакованы все драйвера и библиотеки, которые могут понадобиться, а в ядре ничего нет. Архив лежит рядом с ядром, при загрузке загрузчик помещает в память ядро и архив и передаёт управление ядру. Ядро своими щупальцами дотягивается до архива, находит нужные ему драйвера, монтирует диск, и загрузка продолжается.
Во FreeBSD и вообще в *BSD такой хуйни нет, и ядро там - загружается. Зато в *BSD есть много другой хуйни, которая сводит на нет все преимущества, и о которой мы поговорим позднее. Может быть.
Дык вот, а не похуй ли нам? Ну загружается как-то там и ладно. Мне в общем тоже было похуй до того момента, когда в LFS наступил последний шаг - сборка ядра. Они там предлагают собрать ядро БЕЗ initramfs. Ядро собирается, стартует, но подцепить диск не может. Теоретически, если вкомпилить в ядро нужный модуль, точнее, несколько нужных, оно загрузится. Но только на этой машине, а если на другой машине стоит другой драйвер диска, то там оно снова споткнётся. Но это дело будущего, а сейчас надо хотя бы понять, какой драйвер подоткнуть и как.
И если в память загрузить в initramfs одинокий драйвер без ничего, догадается ли ядро его там найти или ему кто-то должен сообщить? Ядро при загрузке выдаёт какую-то малоинформативную хуйню вроде Dump stack: 0x100ff и дальше куча цифр. Можно ли это как-то использовать или нет, хз.
Вообще, я никогда до этого не конфиругил ядро в Линукс. Не было необходимости. А вот во FreeBSD - конфирурил, и оно загружалось! Как дело было во FreeBSD - ты открываешь текстовый файлик и правишь параметры. Там куча комментариев, в которых написано, что за параметр и в каких случаях его включать. В целом несложно. Выкидываешь то, что ненужно - поддержку всяких накопителей на магнитной ленте, перфокарт, перфолент и прочего, чего у тебя никогда не будет. Добавляешь то, что нужно - какой-нибудь там IPFW2, NAT и прочее, и потом компилишь.
В Линуксе перед тобой открывается шикарный псевдографический интерфейс с менюшкой с подменюшками. По нему можно лазить. А ещё есть графический тырфейс - аж целых два. Ух ты! - подумал я, почему же во FreeBSD до сих пор никто ничего такого не сделал? Потому что нихуя непонятно, что же ты на самом деле правишь. Ну или надо знать. Я скоро перешёл на текстовый файлик - так быстрее. В менюшке написано "Поддержка SCSI", ты включаешь, а что ты там включил - хер его знает. А в тырнете тебе пишут: CONFIG_SCSI_MOD=y CONFIG_SD_MOD=y и именно это ты должен найти в файлике и включить. Нередко в разных местах.
Я нескоко раз пересобрал ядро с разными вариантами: make menuconfig - запускает меню для конфигурации make defconfig - стандартное ядро make localmodconfig - собираем ядро со всеми модулями, которые есть на текущей машине make localyesconfig - то же, что предыдущее, только модули вкомпилены в ядро make nconfig - не помню, то такое тоже есть
Методом научного тыка и неистового гугления (вы же не думаете, что я бездумно собирал ядро?) я накопал, что у меня в VirtualBox используется 00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02) Для него нужны чо-то там AHCI. Модули, которые я нашёл в /lib/modules на своей машине ahci.ko libahci.ko libata.ko ahci_platform.ko libahci_platform.ko В общем чо-то типа того. В Гугле рекомендовали включить CONFIG_SATA_AHCI, CONFIG_SCSI_SATA_AHCI и мож ещё парочку. В LFS-машине можно прочитать файлик /lib/modules/4.12-7/modules.builtin - модули, вкомпиленные в ядро. Я получил все, кроме libata.ko
К вечеру я заебался, спиздил ядро и initramfs из Арча и подсунул его на свой LFS-диск. Похуй, что в LFS версия ядра 4.12, а в Арче 4.13, моё ядро вместе с Арч-initramfs загрузилось, а вот ядро Арча без своей initramfs - нет.
В GRUB2 тоже есть модули - файлы с расширением .mod (а у ядра с расширением .ko). Они нигде толком не описаны, хотя нет, пижю, вот апесание blog.fpmurphy.com/2010/06/grub2-modules.html Как я понял, это не то же, что модули ядра, это скорее как команды загрузчика. Например boot, linux это отдельные модули. Впрочем, иногда несколько команд упаковывается в отдельный модуль. Эти модули могут помочь загрузчику в загрузке ядра, а вот могут ли они помочь ядру - хер знает.
Я ваще прочёл несколько серьёзных (или пытающихся казацца таковыми) книг по Линуксу и нигде не сказано, как именно ядро определяет из всех драйверов нужный. Вот "как-то там" определяет.
Почти весь следующий день убил на то, чтобы разобраться как же собрать без Initramfs. Нашёл на archwiki, как в Арче генерится файл initramfs и как управлять его конфигурацией. Делаем так: cd /etc/mkinitcpio.d/ cp linux.preset linux-1.preset vim linux-1.preset В нём правим ('default') на ('normal'), initramfs-linux.img на initramfs-normal.img, default_image на normal_image normal_options="-S udev,keyboard,filesystem,fsck,block,autodetect,modconf" #тут перечисляем, что нужно исключить из будущего initramfs. Через запятую. А взято оно из строчки HOOKS=(... в /etc/mkinitcpio.conf Сразу скажу - исключить можно всё, кроме base. Hook "base" содержит процесс init, без которого всё загибается. В /etc/mkinitcpio.conf надо в пункт MODULES=() включить те модули, которые нам нужны. Как узнать, какие? Эт я определил на своей виртуалке под Арчем с помощью modinfo & lsmod. Запустить LFS надо на той же самой виртуалке = оборудование одинаковое. ??? PROFIT! lsmod перечиляет загруженные модули, modinfo module_name|grep depend даёт строчку модулей, которые зависят от module_name. А значит, если ты загрузишь один из них, module_name подгрузится автоматически, как необходимый. Загружено было около 70 модулей, из них я отследил следующие связанные: ahci, libahci, libata, ata_piix, ata_generic, pata_acpi, scsi_mod, sd_mod, sr_mod, cdrom Вот про scsi_mod & sd_mod хер бы я когда догадался сам. Я-то всё задрачивал на *ahci* & *libata*. Короче, в стоку в /etc/mkinitcpio.conf включаем следующее MODULES=(ext4 ahci sd_mod). Остальное всё подгрузится автоматически. В HOOKS там же можно включить HOOKS=(base) и тогда скомандовать mkinitcpio -p linux-1, после чего в /boot окажется компактный initramfs-normal.img. Надеюсь, это всё вам очень пригодилось. Следующим пунктом исследований будет как вкомпилить всю эту хрень в ядро и загрузится ли ядро без initramfs в принципе? init-то у него не будет. У меня вот нет очучения, что я узнал чо-то там полезное, сокровенное. Так, будто в куче говна какой-то порылся, время убил, ни хрена не понял, но хоть результат есть, и на том спасибо.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Поехали недавно в Метро на закупку гречки с падругой. Она не очень хотела ехать - ей вести предстояло. Есть ли смысл покупать гречку именно там? Не знаю. Промониторили цены в Авоське, Пятёрочке и Перекрёстке - гречка стоит 80 -70р/900г. Есть также гречка чуть ли не за 20р, но я побоялся её брать. Явно подъёбка какая-то присутствует. Правда, мы совершенно не знаем, сколько должна стоить гречка, а начинать надо именно с этого. Приехали в Метро, там та же гречка те же 80р. Но была Fine Life, она чуть подешевше, и я взял именно её, потому что в сетевых магазах её не было, и так поездка в Метро обретала смысл. Ещё мы там взяли зелёную гречку, булгур и кускус.
Булгур и кускус это такая специальным образом обработанная пшеница. Булгур стоит чуть дороже гречки, а кускус ещё дороже булгура - чо-то там 130р 500г.
В отличие от гречки, их промывать не нужно. Кускус хорош тем, что варить его не надо вообще. Заливаешь кипятком и через 5 минут он готов. Щас есть такая же вермишель (стоит тоже 80р) - кидаешь её в кипяток, варишь 3 минуты и готово. Но тут надо варить, а там просто залил. И то вермишель, а тут какая-никакая крупа. Плох кускус тем, что он дорогой. Такой бюджетный деликатес гыгыгы.
Булгур дешевле кус-куса, но его надо варить, как и гречку, минут пятнадцать. Это заёбывает. И даже после этого он всё равно остаётся твёрдый, как перловка. А гречка мягкая.
Короче, везде есть какое-то но. Пожалуй, продолжу жрать гречку. Но иногда хочется разнообразия.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Короче, камрады, мне тут внезапно в голову ёбнуло, что я ведь никогда не ставил другие BSD-системы. Всегда только FreeBSD и её причёсанные версии. Почему? Ну потому что она была самая популярная и я думал, что это не зря. Помню, когда вышла DragonFlyBSD я загрустил. Потому что мне хотелось её посмотреть, но я думал "я с этой Фри в жопе сижу, ни хуя не разобрался, куда мне ещё кидаться чо-то остальное осваивать - усилия распылять. Этак ваще ничо не изучу. И пыхтел над FreeBSD." А надо было-таки распыляться. Потому что, если здесь ты упёрся в стену, мож там будет прорыв. В итоге я забил хер на ФриБСД и ушёл в йезучение Виндаса. Сертификация и всё такое. А если бы я вместо Фри попробовал сразу же Линукс, глядишь, всё было бы проще.
Например, после Фри у меня остался страх - что сейчас прочитаешь инструкцию, сделаешь как там написано - и ни хрена не заработает. И ты будешь сидеть, копать тырнет и чувствовать себя мудаком. А надо повысить самооценку - если у тя чо-то не выходит, это необязательно ты мудак, это мож операционка какая-то не такая. В общем, этот страх остался до сих пор и мешает. В Винде такого нет. В Линуксах такая херня (когда чо-то ломается и не знаешь, что делать) происходит раз в 100 реже, чем во ФриБСД.
Короче, мы отвлеклись. Я тут решил поставить все эти операционки по очереди и позырить на них, пока они ещё живы и развиваются. А то загнутся ещё, а я так их ни разу и не поставил, хотя мог. И Gentoo я ещё не ставил для полного щастья.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Со стороны может показаться, что я занялся какой-то хернёй - устанавливаю какие-то операционки левые, компиляю - на хер это надо? Ну или на лонгборде, например, катаюсь.
На это у меня есть аргумент, что это лучше, чем смотреть BadComedian или Red Cynic. Всё-таки, когда компиляешь, узнаёшь что-то новое, и есть шанс, что оно тебе пригодится в жизни и на работе.
На это можно возразить, что когда смотришь BadComedian или Red Cynic, тоже узнаёшь что-то новое, что с тем же успехом может пригодиться в жизни или на работе. А главное - этак можно всю жизнь прокомпилять безрезультатно - и ни пеффка в подъезде не попить, ни Red Cynic'а не посмотреть. И почувствовать, что проебал свою жизнь. Впрочем, точно такое же ощущение будет, если вместо компиляции делать всё вышеуказанное.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Вот, думаю, стоит ли это делать и сколько времени займёт. С одной стороны, это позволило бы тем, кто не знает Энглиша, но хочет попробовать свои силы - таки попробовать. С другой стороны, это их не спасёт от чтения английского текста - там будут логи, англоязычные форумы с обсуждением ошибок.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Короче, камрады, если кто будет собирать LFS, лучше собирайте на отдельном диске или разделе.
Но обо всём по порядку. читать дальшеВ эти выходные у меня были наполеоновские планы закончить наконец это дрочево. Возможно, прямо в субботу. В субботу пришёл на работу и вперёд! Сначала доустановил проги, которые там рекомендовалось - lynx, openssl, openssh, dhcpcd, sudo, wget, gptfdisk & gparted. Начал с openssl. Оказывается, тесты для него надо выполнять не из-под root. А то будут траблы. Все эти проги входят в книжку BLFS. А для неё нету логов компиляции (наверное, до хрена места занимают) соответственно, если при сборке возникают ошибки, непонятно - это нормально или надо пересобирать.
Тесты openssl под root провалились, под nobody прошли. Дальше ставим openssh. Снова тесты под nobody. Вываливаются с сообщением чо-то там nobody HOME=/dev/null No such file or direcrory. Чо за фигня? Задумался. Оказывается, у nobody не определена домашняя папка. Делать нечего, создал полноценного пользователя user. С домашним каталогом и всеми делами. Там этот ssh создал ключи и тесты отхерачил. Собрал остальное. Там под каждый пакет есть минимум один дополнительный, который тоже надо поставить. Это уже заебало. Апофеозом был gptfdisk, которому нужен какой-то popt, чтобы собрать прогу sgdisk и ICU, чтобы метки писать в unicode. Не знаю, чо за sgdisk, но мож нужное чо-то, поэтому popt скачал и поставил, потому качаю ICU, начинаю собирать, оно медленно собирается, а я и думаю - вот нахер мне в unicode метки писать? Скоко раз я буду разбивать диск с помощью этой проги? Скорее всего 0, а если очень повезёт, то один. На каком языке я буду давать метку? На китайском штоле? Правильно! Скорее всего на английском. Потому что если написать на русском или турецком, в другой программе можно обрести геморрой. Поэтому метки дисков все и пишут на Энглише - не выёбываются. Прервал сборку этой ICU, грохнул исходник и собрал без неё. На всю эту хрень убил несколько часов - пока ошибки разберёшь, пока то-сё.
Теперь мне предстоял квест по переносу содержимого из папки на виртуальный диск. В прошлый раз я установил на виртуалку Арч, сегодня он успешно запустился, правда, не сразу. Я пробросил туда ssh, подцепил второй виртуальный диск и через scp поставил копироваться. Копируется минуту, другую, третью, какие-то файлы пошли двоичные с расширением s2ml. Чо за херня? - думаю. Посмотрел в тырнете - это ж Старкрафт! Оказалось, что в безопасном и защищённом Линуксе эта хрень каким-то образом через /home/lfs/lfs/var/run/media/... вылезла на соседний диск и всё оттуда перекачивает. Уже 12 Гб дерьма!
Прервал, думаю, как так? Вроде отмонтировал всё перед запуском, проверял специально. Проверяю ещё раз mountpoint var/run - является точкой монтирования. Отмонтировал - всё равно является. umount --force, ему пох. Перезагрузился. Всё равно. Таких папки в var две: lock & run. Горят светло-голубым дьявольским огнём. Заходишь внутрь, а там куча файлов и каталогов! Переменовываешь - пох. Перед этим делом я сделал резервную копию lfs - lfs_bckp. Захожу в lfs_bckp/var/run, а там - та же херня! Мистика! Оказалось, это симлинки(ярлыки)! Указывают на /run & /run/lock! Конечно, бля, там будет куча файлов. И ваще, что за умник догадался засунуть в /var симлинки на /run да ещё и /run/lock? Есть же /run в корне, её прекрасно всем видно, хер ли ему не хватает-то? Он бы ещё на десять уровней вглубь бы их захерачил, чтобы точно никто не нашёл! ((
команда cp позволяет не следовать по симлинкам. А в scp такой опции нет. Что делать? Попробуем через общие папки в виртуалке. Проблема в том, что Х-ы подо мной, VirtualBox тоже подо мной, а собирал я под lfs - прав у меня нет на его папку. Решил на корень lfs дать права себе, а дальше мы подмонтируем и в виртуале уже будет root. Подмонтировал, копирую, cp не хочет копировать некоторые файлы. Там суидный бит. А ещё на некоторые файлы права не root:root, а root:какая-то левая группа. Которой нет ни на моей машине, ни на виртуалке. Только в файлах lfs. cp при копировании ставил root:root.
Почитал тырнет - самый верный способ - сделать архив и распаковать его там. Делаем архив: tar cvf --numeric-owner --same-owner --preserve-permissions lfs_bckp lfs Сделал, перекачал на виртуалку, распаковал - красота! Всё сохранилось - права, суидные биты и прочее. Смонтировал там всякие /dev /run /sys и прочее, перешёл в chroot, а времени уже до хера. Читаю про конфиг ядра. Открываю, там менюшка неебовая, короче, опять читать надо, что отмечать, что нет, а уже пора домой валить - время 21:30.
Если бы собирал на отдельном разделе этой херни бы не было, сэкономил бы несколько часов. Вот такая у меня потрясающая эффективность! И этот человек хочет учить других Линуксу ыыы. Хотя... Кто умеет - работает, кто не умеет - руководит, кто не умеет руководить - учит. Так что всё по канону.
Во FreeBSD и Windows такого дерьма ни-ког-да бы не случилось! Потому что во Фри нет всяких виртуальных run'ов и прочей хуйни, а в Windows ярлык это блядь просто ярлык! Там можно сделать похожие симлинки, но - не нужно.
Смущает токо то, шо до этого платили 2000 пользователей. Сейчас 4567 платежей, некоторые по нескольку раз. Т.е. 2000, которые и так платили + ещё, допустим, 1500 новых раскошелилось. Из 30 000 пользователей. Под угрозой закрытия. М-да. Этот народ непобедим не запугать!
Что же должно произойти, чтобы, скажем, больше половины проявили чо-то там? А, думаю, ничто не заставит. Наверняка найдёцца добрая сотня тырнет-пользователей, которым даже задницу будут поджаривать, и они не чухнуцца гагага.
Ладно, чо мы о грустном. Наоборот, можно порадоваться, что из этих 30к имеются не 1, не 2, а несколько тысяч смелых пользователей с деньгами! И я среди них! Ура, товарищи, жизнь удалась! Думаю, в такой компании мы будем жить припеваючи
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Камрады, я-таки нашёл, как "установить" дизай! diary-tips.diary.ru/p127982528.htm?oam Оказывается, у меня при копировании из кода почему-то удалились всякие url(), а я сижу голову ломаю (( Ну ничего, щас будем пилить новый дизай. Ну как новый - цвета поменяем чуток.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Окрылённый успехом установки guest additions на Arch, и как оно всё работает, и как я до хера там понял, решил-таки попробовать поставить Её - великую и ужасную FreeBSD. Не какой-то там допиленный и причёсанный клон типа TrueOS или DesktopBSD, неее - нам подавай настоящую еблю! Стоя в гамаке! На лыжах! читать дальшеЗачем? Ну, у меня было две цели. 1) Сравнить современную FreeBSD с современными Linux-дистрибутивами. 2) Попробовать примерить FreeBSD на роль декстопной оси на работе. Первое стало возможно, потому что в этом году у меня наконец появился некоторый опыт использования, которого раньше не было. А второе, если получится, это просто круто само по себе. Ну и примерить это ж не значит поставить? Итак: Создаём виртуалку, сразу ставим 32Мб видеопамяти, 1Гб ОЗУ, больше не могу, у меня их всего 3. Скачал диск, начал ставить. В отличие от Arch, там текстовый инсталлятор. Хорошо знакомый по предыдущим установкам FreeBSD. Хорошо они его не стали менять. Доходим до собсно установки. На экране появляется набор того, чего ставить: [ ] base-dbg base system (debugging) [ ] doc additional documentation [ ] kernel-dbg kernel (debugging) ...
Чо, бля? Вы чо, уже прямо при установке предлагаете вместо использования сразу дебажить её? Оказалось, это добавочные опции. Дальше идёт настройка сети и всё - перезагружаешься, вываливаешься в чёрный экран с логином. Конечно, я хотел поставить графику и конечно я не хотел ставить из портов - накомпилялся уже. И ещё я хотел guest additions. Как ни странно, в хэндбуке FreeBSD было описание, как их ставить и в репозитории тоже были специальные пакеты для guest additions. Другое дело, что заработали они далеко не сразу.
Нашёл инструкцию по установке Gnome. Есть два варианта - ставить из портов или пакетов. Ставим из пакетов. Пакет pkg, при помощи которого собсно и надо ставить ещё не стоит. Предлагают его установить. Сделано. Ставим gnome3. 559 пакетов! Это они предлагали мне всё это компилять? Серьёзно? Через несколько минут поставилось. Запускаем X -configure, получаем xorg.conf, X вылетает. Оказывается в guest additions нужны какие-то модули, которые не все поставились. Ну ладно, хрен с ним. Никогда я такой хернёй не занимался ещё, модули какие-то. Они нашлись, установились, общие папки подключаются. Но не так как в Линукс. В Линукс: mount -t vboxsf share /mnt А здесь: mount -t vboxvfs share /mnt Ладно, продолжаем. Надо в xorg.conf дописать имена этих модулей в нужные места и всё будет ок. Записываю, по -configure вроде запускается и даже не вылетает. Хорошо. Пишем в .xinitrc exec /usr/local/bin/gnome-session Запускаем. Нету startx. Нечем запускать. Что за фигня? Полез в тырнет, оказывается, надо поставить пакет xinit. А чо нельзя было его вместе с gnome3 затянуть? Видимо, нет. startx появился, запускаем. Вылетает - нету xauth. Что за фигня? Полез в тырнет. Ничего внятного, допёр, что, возможно нету пакета xauthorization или как-то так. Точно. Поставил. Запускаем. Запустилось, всё круто, токо мышь не реагирует и клава тоже. Искал искал - нашёл рецепт - не работает. Снова искал - не хватает пакетов xf86-input-keyboard xf86-input-mouse Тут я задумался и выяснил, что не установлен X-сервер, поставил xorg и всё заработало - ещё 140 пакетов. Мне их тоже предлагалось компилять из портов? На эту хуйню я убил несколько часов. Твою ж мать! Вроде в 2017 году живём, неужели сложно блядь при установке того же gnome сделать элементарную проверку и написать, что не установлен ни xorg, ни xfree, ни xwayland? В обычном Линуксе такого ни-ког-да бы не случилось, потому что при инсталяции он предлагает сразу поставить графику. Старые версии FreeBSD тоже это предлагали, какого хера они перестали делать это сейчас - хер знает. Я бы сэкономил несколько часов времени. Кстати, уже по-моему второй раз в одну и ту же западню попадаю. Вижу, что gnome затягивает кучу пакетов xorg, значит, наверное он его ставит, а вот не факт. В итоге gnome3 у меня запустился и всё на этом - памяти не хватает. KDE и пробовать не стал, попробовал xfce, оно запустилось, настроил большой экран, а ещё поставил windowmaker, вот тот - вообще летает. Поставил firefox и libreoffice. Из пакетов, не из портов. Вот сцылка про установку графики, если кому будет любопытно www.freebsd.org/doc/handbook/x11-wm.html fusion809.github.io/mate-freebsd/ - для mate Mate поставил ещё. DesktopBSD поставляется в двух версиях xfce & mate, вот мне стало интересно, чо за mate такое. Mate это, в сущности, gnome2.
Современный linux сейчас использует кучу виртуальных файловых систем - всякие proc, run, sys, dev, dev/pts, dev/чо-то ещё и так далее. Во FreeBSD11 ничего этого нет. В том числе нет и initrd/initramfs. Есть только /devtmpfs. Думаю, хорошо - не хер плодить всякую виртуальщину, скоро собственный диски хрен найдёшь в дебрях всяких sysfs.
Но как только ты собираешься ставить на Фрю "современную графическую среду", картина меняется. Gnome3, KDE, Mate требуют /proc, dbus и HAL. Видимо, потому что они написаны под Linux и там всё это есть. dbus это шина, которая позволяет приложениям обмениваться между собой. Межпроцессная коммуникация, IPC-решение, короче. HAL HAL это Hardware Abstraction Layer (никак не связан с Windows HAL, хоть и расшифровывается одинаково). hald это прога, которая отслеживает подключение и отключение нового оборудования и доступ к нему. Использует /sys fs. В Linux уже считается устаревшим, и с 2011 года его пытаются выпилить, тем не менее, почему-то граф.среды продолжают его использовать. А, вот. Его код растворился в коде udevd. Во FreeBSD вместо udevd существует devd. Чо-то муть какая-то. devd есть, а hald всё равно нужен. Короче, ладно. Таким образом, во FreeBSD появляется /proc и ещё целая куча чужеродных вещей. XFCE 4.12 вроде как этого пока не требует (если верить инструкции по ссылке выше)
В принципе оно на езду не влияет, но неплохо бы понимать, что откуда берётся.
По нагрузке на систему (1Гб ОЗУ) Gnome3 (3.18.0) пиздец, может только запуститься и всё. Открываешь терминал, он сразу падает. Mate (1.18) пиздец, та же фигня. Терминал не может открыть. Xfce (4.12) полегче - терминал можно открыть и даже чо-то делать в нём. Windowmaker ну это не среда, это wm. Вот с ним всё заебись - летает. Но это актуально для виртуалки с 1Гб, на нормальной машине пох чо запускать.
В Linux vi это ссылка на vim и даже в режиме vi этот vim более удобен. (Хотя там вроде можно как-то включить эмуляцию самого настоящего vi) Во FreeBSD vi это vi, а vim надо дополнительно ставить.
В Linux для модулей есть команды lsmod, insmod. В самой логичной(тм) системе подобные команды называются kldstat, kldload. k это kernel, ядро, ld видимо load. kldstat - kernel load statistic. kldload - kernel load load гагага, логично, не так ли?
Во FreeBSD нет удобных команд lsblk, lsusb, lscpu, lsscsi, blkid, которые очень выручают. Аналогов этих команд тоже пока нет. Можно получить ту же инфу, но не так удобно отформатированную и всё такое. lsblk вроде кто-то собирался портировать.
Попробовал узнать, к какому пакету принадлежит команда ps во Freebsd. Потому что в Linux ps берёт инфу из /proc. Тут /proc изначально нет, значит, пакет должен быть другой. А ни к какому пакету не принадлежит! Пакетный манагер я поставил уже после установки системы и он ничего не знает о тех файлах, которые тут были до него. В Линуксе такой хуйни нет. Там даже ядро это пакет. В итоге ты легко можешь отследить зависимости для любого файла, что поможет избежать неприятностей.
Kоманда find / медленно работает на FreeBSD, т.к. там /usr/ports - наверное миллион мелких файлов, и она по ним копает. А уж если исходники добавить, наверное, будет вообще пиздец.
Новый хвалёный пакетный манагер FreeBSD - pkgng не обеспечивает функцию 'provides' - поиска пакета, который устанавливает нужный файл. Старый тоже не обеспечивал. А как с этим в Линукс? Yum & dnf обеспечивают. Вот сцыла на таблицу с эквивалентами команд разных пакетных манагеров wiki.archlinux.org/index.php/Pacman/Rosetta видимо, все остальные тоже обеспечивают.
Подключился через ssh к виртуалке с FreeBSD, а щас и думаю - на хрена мне общие папки, если можно было всё через scp залить?
Закрыл ещё один гештальт - несколько лет назад в тырнете видел скриншот рабочего стола windowmaker и на обоях - горы. Тогда у меня чо-то ни хера не вышло эти горы поставить, а щас я поднапрягся, нашёл куда картинки сложить и всё получилось. Теперь сижу с горами на рабочем столе. Крутота! Итоги сравнения - пока что выходит, что Линукс, сцуко, удобнее, чем FreeBSD. Но мож мы чего-то не знаем. То шо было давно это не в счёт, а с современной FreeBSD11 я работал пока не очень много. Мы её ещё не русифицировали, Gnome как следует не запускали, принтер не подключали, даже ядро не пересобирали, так что занимательного красноглазия будет очень, очень много
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Итак, камрады, я докомпилировал 6ю главу LFS ещё во вторник. Начал читать про 7ю главу про настройку и прочее. читать дальшеПосмотрел видео одного перца, дык там он за 25 минут прошёл 7,8,9 главу и загрузился в LFS. Ободрённый его успехом я с новыми силами ринулся в среду на бастион. Прочитал 7ю главу повторно, внезапно всё стало понятно. Создал конф.файлики. Нужно удалить отладочные символы из системных библиотек и пакетов (это называется striping) для уменьшения места. Но перед этим надо сохраниться. 14499 Мб=14,5 Гб - размер системы до операции 13672 Мб=13,7 Гб - после. Мы спасли целых 828 Мб! Потом я решил удалить распакованные исходники (во время компиляции я их не удалял, плевал на инструкции) 2401 Мб=2,4 Гб фига се! Вот это эффект! Мож не стоило эти сраные символы трогать, достаточно исходники было удалить. Это токо распакованные исходники. Архивы tgz там ещё остались. Ну да ладно.
Как они в своей книжке предлагают "вдохнуть жизнь" в новую систему? Очень просто. На твоей машине уже должен быть Линукс, ты собираешь LFS на отдельном диске (или разделе). Когда наступает время Ч, ты или добавляешь загрузку с этого диска в имеющийся загрузчик или ставишь новый загрузчик и прописываешь туда обе системы - ту, что была и свежесобранную LFS. Получается dualboot. Если что-то пошло не так, всегда можно загрузиться в основную систему и поправить.
У меня на компе лишних дисков нет, собирал всё в папке. И основной загрузчик я трогать не хочу. Поэтому будем делать всё на виртуалке. Для этого нужно как-то закинуть содержимое на виртуальный диск. Сначала я думал подмонтировать виртуальный диск к основной системе и перелить всё на него, но ни хрена не вышло. Не знаю, чем подмонтировать. Вроде есть какой-то пакет virtualbox-fuse, но в основных репозиториях его нет. Мож надо какой-то сторонний подключить, хз, это разбираться надо. Тогда я решил подмонтировать содержимое к виртуалке как общую папку, но на пустой виртуалке этого сделать нельзя. Тогда я решил загрузиться с LiveCD, пусть это будет Arch - он маленький, всего 523 Мб. Скачал, запустился. Но, оказалось, без guest additions общие папки всё равно сделать нельзя, а установить их можно только на нормальную систему. Тогда я решил "по-быстрому" установить Arch. (Это как бы намекает на аццкую сложность его установки). Разбил диск в GPT, а на виртуалке BIOS. EFI написано "только для ОС специального назначения" и я его зассал включать, но это и хорошо, т.к. для UEFI на диске нужен специальный раздел размером 500Мб, а нах он нам там нужен? Arch поставился без проблем, ставлю загрузчик GRUB, а хер там, ошибку пишет. Оказывается, ему нужен маленький раздел, буквально 1Мб для BIOS-boot. Тороплюсь, 1Мб создать не получилось, грохнул бутовый раздел 100Мб в начале диска, создал этот BIOS-boot 1 Мб и 99Мб бутовый раздел для Linux. Сделал grub-install, написал grub.cfg, гружусь, а хер там - ядра нет в /boot. Сначала я поставил Arch, потом грохнул /boot, и там было ядро. Надо его переустановить. А времени уже не осталось, и пошёл я домой. В выходные точно добью эту хрень.
В четверг меня мысли одолевают - ну допустим, поставлю я Arch, надо вкрячить guest additions, чтобы общие папки были доступны. Дома же есть Arch, можно значит попробовать. Подцепляю диск guest additions - конечно, ни хера не ставится. Лезу в тырнет, оказывается, на Arch-wiki прям расписали чо как делать для virtualbox и даже пакеты специальные есть - те же guest additions, но проверенные. Я от такого сервиса аж охуел. Во виртуализация как далеко шагнула! Раньше как было - есть у тебя, допустим, vmware, к нему чо-то там прилагается, не работает, вот и ебись! Это проблема твоя и vmware. А щас не так. Ща виртуалки токо ленивый не запускает, и, видимо, как производители, так и пользователи уделяют повышенное внимание тому, чтобы всё работало без гемора.
Ставлю пакеты - не ставятся. Уже, говорят, стоит там уже guest additions, которые с диска. Наполовину встали и зафейлились. А чо толку, что они стоят, они ж не работают. Полез смотреть. Это всё софт-линки, а сами guest additions поставились в /opt. Линки я удалил, и пакеты встали. Сразу общие папки появились, экран больше стал, ваще красота!
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Хотел сегодня на доске покатацца, чтоб больше трёх часов за год, так бля снег пошёл потом дождь. Ну ничего, я думаю будет ещё солнечный сухой денёк, добьём это дело.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
вчера стояла сухая погода, даже тёплая, я бы сказал, для ноября. А я работал и подумал шо это - осталась у меня нереализованная мечта - покататься в Сокольниках. Уже наверное больше года прошло с тех пор, как у меня эта идея появилась и всё никак. Как же так? А вот так. Для этого надо задать другой вопрос - что случится, когда я покатаюсь-таки в Сокольниках? А ни хуя не случится. Ну и раз такое дело, чего тогда жопу рвать? Вот и результат. На работе вечером с тоской открыл сайты по продаже досок. За пятнарик можно прикупить на genza.ru хороший вариант. Но закрыл. Давайте так - в 2013м году, а это у нас 4 года назад, я уже купил у них в ноябре доску. И чем это закончилось? Продажей предыдущей доски и поначалу частыми, а теперь редкими покатушками. Да, было прикольно, но глобально ничего не поменяло. Хотя... если хочется, мож купить? читать дальше В этом году у меня потрясающе малое количество наката часов на лонге - 1ч 40 мин. Чем занимался весь год, хер знает, не смогу внятно объяснить. Ну короче ладно, вчера я подумал, что если завтра (то есть сегодня) будет хорошая погода, то не съездить ли в эти Сокольники - закрыть гештальт?
Встал где-то в 12. Солнышко, красота, но я лохматый, пиздец, пожрал, решил постричься, поэтому вышел токо в два - полтретьего, а на месте был около четырёх. В 15.47 встал на доску. В Сокольниках есть круг, ну вот с него и начал. В четыре солнце спряталось, стало прохладно и потихоньку начало темнеть.
Про круг. Если с северной точки круга ехать вниз, с обоих сторон там есть небольшой уклон. В юго-западной четверти круга катицца хорошо, в юго-восточной похуже, а с севера чо-то не особо. В СВ четверти поначалу чуть-чуть, потом никак, в СЗ вроде получше. При этом прошу заметить, доска у меня уже давно не рвёт из-под жёппы - надо видимо подшипники менять, а чо их щас менять, сезон заканчивается. Асфальт шероховатый. Короче, круг - не особо. Дальше я поехал на какую-то северную аллею, там поначалу асфальт ацтой, но дальше положили гладкий и выехал на большой круг. На нём раздолья побольше, но надо больше времени, чтобы изучить профиль трассы и всё такое, а поскольку темнело, особого желания это делать у меня не было. Всего на покатушки я потратил 1ч 10 мин, из них, думаю 50 мин мне можно записать в стаж. Чувствуется долгий перерыв - вставал я на доску нормально, но отталкивался херово, чтобы разогнаться слезал с доски - навык толкаться на ходу похерен (( Слишком рано спрыгивал - боюсь скорости - а раньше я спрыгивал значительно позже. Круто я сказал. Ну, в том смысле, что когда я катался более-менее регулярно, критическая скорость, на которой надо спрыгивать для меня была больше. Ну, тут ещё трасса незнакомая - хер знает, что там ждёт впереди, лучше перестраховаться.
Короче, есть там места, где можно покататься, но надо изучать дополнительно. А ехать туда час с небольшим и обратно столько же. Асфальт шероховатый, в общем не так поразило, как в первый раз. Вот, хорошо, что съездил, а так бы думал "вооот, так я там и не покатался, а там такие дороги ааа ооо" Итак, суммарное время покатушек за год у меня теперь 2,5 ч, надо завтра ещё куда-нибудь сгонять, чтоб получилось больше трёх часов - и всё. В 2014 у меня уже было 3 часа, поэтому надо поднапрячься, шоб хоть видимость прогресса была
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Ещё примерно в марте, когда меня поразила идея сдать экз по Линуксу, я начал читать про эти самые Линуксы и узнал, что есть Arch Linux и Gentoo. Про Gentoo как-нибудь потом, а сейчас про Арч. Он славится сложностью установки. Инсталлятора, как такового, у него нет. Пользователя заставляют вручную разметить диск, а потом выкидывают в голую консоль - и делай, что хочешь! Зато, это типа такой дистрибутив, который ты можешь настроить полностью под себя и там будет только то, что тебе нужно - только то, что ты туда поставил. читать дальше Я конечно хотел попробовать его поставить, испытать себя, так сказать, но, памятуя об опыте FreeBSD, боялся, что просто проебу кучу времени и в итоге ни хрена не получу. Но после LFS я несколько осмелел, и хотел быстрее его закончить, чтобы наконец поставить этот Арч и посмотреть, так ли он страшен. LFS всё никак не заканчивался, и я решил не ждать.
Вчера, то есть, в понедельник, ко мне приехала падруга и стала смотреть обзор "Игр престолов" от Red Cynic. А я это уже смотрел (и ей посоветовал), поэтому лежал и думал об Арче, потом, когда она закончила, я вскочил и говорю - щас мы с тобой поставим Арч Линукс! Там будет голая консоль и тайловые менеджеры, короче, он совсем не такой, как Fedora! У падруги на лице отразилось сомнение, но было уже поздно.
Я открыл инструкцию по установке, скачал Archiso (образ диска), открыл в ютюбе перца, который ставит Арч с графикой www.youtube.com/watch?v=08CmQICtrGE, но он очень долго это всё объяснял, мне некогда было ждать. Основную идею я примерно понял - надо разметить диск, смонтировать его, закачать туда пакеты, заинсталлировать GRUB, и всё будет готово. Так я и сделал, но падруга не дождалась, свалила раньше. Поставил GRUB (в инструкции есть специальная страница по загрузчикам), перезагрузился - не грузится. Оказывается, я эту страницу по загрузчикам до конца не дочитал гыгыгы. GRUB поставил, но не сконфигурил. Похожая ситуация у меня уже была один раз весной, так что я открыл свой Дневничок, ввёл командочки и загрузился в Арч. Потом написал boot.cfg, поставил графику, xfce4 и тайловый манагер i3wm.
Первое впечатление Сложность установки Арча сильно преувеличена. Чем-то похоже на FreeBSD - там тоже тебе предлагают вручную разметить диск, но потом есть текстовый инсталлятор. Тут он тоже когда-то был, но развивать его было некому, поэтому его выкинули. Те, кто ноет, ещё не видели LFS и Gentoo (Gentoo я тоже пока не видел, не знаю, буду ставить или нет, но наверное стоит для полноты охвата, так сказать) Вас выкидывают в консоль с чёрным экраном и делай что хочешь. Пиздёж. Не "что хочешь", а у тебя есть инструкция, какие команды вбивать - работаешь инсталлятором, так сказать. Команд там штук 10-15 Это будет система, которую ты настроишь под себя, там будет только то, что тебе нужно и ничего лишнего. Ну, вот после разметки диска Арч тебе ставит пакетную базу в 150 пакетов. Что это за пакеты и что в них напихано - хз. Ну, то есть, надо смотреть. Когда я ставил xfce, вместе с ним закачалось до хрена каких-то приблуд из Gnome. Так что "только то, что тебе нужно" и "настроишь под себя" звучат несколько самонадеянно. Да, можно настроить и выкинуть всё лишнее, но поебаццо придётся примерно так же, как и с остальными дистрибутивами. Другое дело - зачем... Суровые арчеводы для редактирования конф.файлов используют nano (а не vi или echo >>) Потому что так написано в инструкции. В общем, установка может и чуток сложнее, но когда всё установишь, выглядит примерно так же, как и остальные дистрибутивы. Преимущество - самые свежие пакеты (и оно же недостаток - в свежих пакетах бывают глюки). Короче дистрибутив достойный. Ну эт пока первое впечатление. Не знаю, буду ли я его юзать, посмотрим.
Тайловый менеджер i3. Чо-то как-то на вид более удобно, чем потом оказывается на самом деле. d-меню у меня не открывается, а при нажатии Alt+h alt+v текущее окно не разбивается надвое, а просто следующее открывается в горизонтальной или вертикальной половине. А это значит, надо кнопками херачить чаще, чем я думал. Конечно, 5-10 минут вряд ли достаточно для адекватной оценки другого стиля работы. Будем осваивать дальше другие похожие манагеры и держать вас в курсе.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
В понедельник 6 ноября (во всеобщий выходной) по-прежнему стояла холодная сухая погода. Токо пасмурная, но не будем зарываться, главное, сухо. Я встал в 12, с одной хотел пойти покататься ещё с субботы, т.к. скоро будет снег, лёд и жопа, с другой стороны чо-то в лом, потому что ничего нового мне там не светит, только повторение пройденного и ностальжи.
И всё-таки в пять вечера. когда стемнело, я вышел. Где-то часик раскатывал около дома, сходил даже на свою первую горку, где начинал осваивать лонгбординг в 2013м. Катался-катался, где-то час. Из них 40мин чистых покатушек, думаю, мне можно записать. Поначалу я неловко перемещался и вставал на доску, но довольно быстро всё вспомнил.
Падруга всё не ехала, я уж домой зашёл и тут она токо приехала.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
В это вс решили сгонять, потому что это как раз средний день выходных, типа, чтобы пробок не было. читать дальшеОна летом собиралась, но я не захотел ехать и она не поехала. Щас я тоже не хотел ехать, я бы лучше дома посидел на жопе, мож про Линукс почитал чо, а ещё стоит сухая холодная погода, которую я люблю - и можно ещё на доске покататься. Но - пришлось поехать. Хотя, про себя подумал, что день убит. У меня на Вольве опять аккум сел, наверное, надо его менять. Утром в субботу перед работой я его снял и поставил заряжаться. К вечеру он был готов, но зелёный огонёк погорит чуток, потом жёлтый, потом опять зелёный. Если он прямо во время зарядки разряжается, похоже, ему кранты. В вс я планировал встать пораньше и поставить аккум, но проснулся часов в 11, пока глаза продрал, уже падруга едет. Она ваще предлагала поехать на её машине, потому что у неё всесезонка, а погода холодная и там, куда мы едем, может быть лёд. Я прикинул, а и ладно, ставить его ещё, а это время... мож я новый куплю. И поехали на её машине. С нами был брательник и он взял права. Случай неординарный.
Пока мы ехали я ёб мозги брательнику, спрашивая его про книжку про TCP/IP, которую дал ему читать, чтоб он хуи не пинал. Дело у него идёт туго и похоже сетевиком он-таки не станет в ближайшее время. Хотя... мож в отдалённом будущем... Я ваще охуеваю, как это он институт закончил? Короче, ладно. Мы ехали по трассе, потом сворачиваем на двуполосную дорогу, по которой надо ехать до города, а потом уже по городу. Я думаю, раз уж чувак взял права, когда у него будет ещё шанс? Ну чо? - спрашиваю - Ты готов морально? Он чо-то пробурчал - готов, говорит. Падруге грит, мол, я те помогу и всё такое. Я про себя чуть не обоссался от смеха, помощь конечно сомнительная, но - с чего-то надо начинать? Мож всё-таки однажды он-таки себя покажет и перекуётся в мото-курьера
А там дорога, потом левый поворот, потом правый. Падруга доехала до левого поворота - не доверяет. Поменялись и он поехал. Ну ничего так ехал, чо. Небыстро, конечно - 50-60 км/ч. Остальные его обгоняли молча по встречке. Потом был правый поворот, он переключился на вторую повернул, доехал до города, остановился и снова повела падруга.
Приехали. Папаня меня два раза обозвал зятем. Я насторожился, но не стал заострять на этом внимание. Ну там пожрали, всё-такое, они с нами поделились, что смотрят программу "Удивительные люди". И сейчас как раз идёт финал. Ну посмотрел я эту передачу краем глаза. Во-первых, они там все такие удивительные, а мы неудивительные, конечно, у меня сразу подгорело. Как сама передача проходит: выходит какой-то чувак, который, например, помнит число пи до десяти тысяч знаков. У меня сразу вопрос - какая в этом польза для народного хозяйства? Правильно! Никакой! В Америке люди вон коммерческие полёты в космос осваивают, а у нас чо? Число пи заучивают на память! Но это ладно. Значит, из раза в раз - выходит чувак, начинает выполнять задание - показывают чувака, показывают ведущую - Шелест, которая такая ах! ох! - в шоке от талантов выступающего, потом мужика показывают - он тоже в шоке, только по-своему, потом другую тётку, потом другого мужика, и все они ааа, ооо, потом опять выступающего и снова по кругу. Зрителей иногда показывают, которые тоже ОООО! - чисто как дикари на бусины пруцца. Периодически во время выполнения задания ведущий какую-то хуйню спрашивает у выступающего, чтобы отвлечь. Единственный полезный навык (для народного хозяйства), как мне показалось, у чела, который 19 языков знает. Первый раз услышал про эту передачу и оно в общем-то к лучшему.
Дальше они там трындели-трындели, я падруге показывал на часы, время 22.00, надо валить. Накрутили они нам сумки со жратвой, мёдом там, капустой квашеной - каждый раз такое, каждый раз мы пытаемся отмазацца и каждый раз приходится брать. Спустили вниз сумки, загрузили в машину, сели, едем. Тут звонок. Оказывается, брательник увёз с собой ключи папани. - На хуй, говорю, ты их увёз? - Я забыл - А чем у тебя голова забита, что ты забыл? (Она же абсолютно пустая) И нахуй ты их вообще брал? Вот с какой целью? Свой поступок брательник объяснить не смог. Вернулись, отдали ключи, снова едем. Выехали на трассу, едем, вдруг - пиздык-хуяк! Какой-то звон охуенный дын-дын-дын-др-др-др... и не прекращается. - Тормози, говорю! Колесо спустило? Колпак попал под днище? Падруга тормозит, вылезаем, колёса все в норме, колпаки тоже. Мож чо-то чужое за нас зацепилось? Подруга грит, мож я отъеду? Тут брательник говорит - защита картера отвалилась! Причём, она хитро отвалилась - передние болты. Держится только на двух задних. Стали думать, чо делать. Надо её чем-то привязать, говорю. И тогда может быть до сервиса какого-нибудь доедем, если кто-то ещё работает в такое время. Верёвки, грю, есть какие-нибудь? - У меня есть только трос, говорит падруга, а ещё провода для прикурки, а ещё ремень Почесал репу, буксирным тросом обвязал, теперь сверху ещё внутри капота надо к чему-то привязать, а привязать не к чему, кругом один чёртов пластик - не выдержит. Есть одна железная балка, дык прямо под ней радиатор - верёвку хрен просунешь. Кое-как сбоку просунул этот трос, сделал пару петель, вроде держится. Поехали, говорю, через 7км посмотрим. Проехали, вылезли, вроде держится. Проехали ещё 15 - стала опускаться. Перевязал по-другому, уже смелее. Я ж типа должен морские узлы знать, дык в такой ситуации они чо-то все из головы вылетели. Потом я сосредоточился и смог изобразить морской штык - вокруг какой-то херни петлю там завязал. Проехали ещё 10км - вроде держит, потом ещё 20, держит, и дальше уже до дома. Вот такое приключение. Хорошо, говорю, что передние болты отвалились. Если б задние - это была бы жопа! Можно было бы не подвязывать и так ехать, скрести, но вот подвязать я хз как - это надо было бы под машину лезть, найти за что зацепить... Хотя - можно было бы передние тогда открутить, у вас же ключи гаечные с собой? - Нет, говорит падруга, у нас вообще ничего с собой нет. И ведь не спросишь "как же ты ездишь?", потому как много лет уже она так ездит и всё норм (ттт) Домой приехали часа в три ночи. Меня на такси домой отправили, чтоб машину не гонять туда-сюда, не испытывать прочность узла. На следующий день она заехала на сервис, защита, говорят, проржавела, надо бы новую поставить, ну ладно, хер с ней - и приварили её куда-то там без всяких болтов. Такие дела, камрады! Дух приключений!
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Я тут обнаружил шо это - в новом дизайне нет поля Login. То есть, приходится заходить сначала на главную, логиниться там и уже оттуда к себе. Херня же? Надо исправить!
А теперь об RSS. Кто-нибудь это использует? Ещё в 2011 году моё внимание привлекла модная аббревиатура (которая возможно уже тогда не была модной, а сейчас тем более) Ну я её тогда поковырял, нихуя не понял и забил. Теперь вот снова всплыло. Есть программы RSS-читалки. Суть в том, что раньше ты сам лазил за новостями по сайтам, а теперь новости будут доставляться к тебе. Тырнет пестрит рассказами о том, как это полезно и экономит время. Как я понимаю, существуют сайты или страницы "в стиле RSS". С RSS-лентой или типа того: news.yandex.ru/#
Я вот когда попадаю на подобные сайты, это не то шо экономит время, а как раз наоборот - пожирает его пылесосом. Хочется тыкнуть во всё сразу - и то интересно, и то. Потыкав какое-то время, я их закрываю нахер и продолжаю работать. ИМХО, когда ты сам ищешь чо те надо, ты знаешь чо те надо, и если нашёл чо-то не то, знаешь, кто виноват. А когда тебе новости "сами доставляются", не удивляйся, что вместе с нужными новостями получишь ворох какого-то говна, в котором можно часами ковыряться.
А как у вас с RSS? Кто пользуется? Я вот думаю поставить себе RSS-читалку и попробовать-таки, чо это.
Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Продолжаем собирать ебучий LFS. читать дальшеЯ честно гря уже заебался, но не потому, что это сложно, а потому что думаешь бля, сегодня уже закончишь, а хер там, продвигаешься на чуть-чуть всего, а я уже хотел бы прихвастнуть перед коллегами новым LFSом. Почему так долго? Ну, например, собираешь какой-нибудь ебучий пакет. Запускаешь на нём тесты (прилагаемые к пакету) Тесты валятся с ошибкой. Может это хуйня, а может и нет. Если хуйня, можно продолжать, а если что серьёзное, может получиться так, что дальше что-нибудь не соберётся и всё равно придётся возвращаться обратно. В пятницу я немного дособрал и остановился перед пакетом systemd. Пакеты нужно собирать в определённом порядке, так как некоторые пакеты требуют присутствия других пакетов в системе на момент установки. Но не все. Я осмелел и поставил сначала команду less, хоть она впереди хер знает где. Сначала проверил её зависимости на своей хостовой системе через rpm -qR и ldd, в книжке про зависимости тоже ничего не написано. less скомпилилась и поставилась. Теперь работает. Но мож подвох какой потом выяснится. Потом нашёл пакет which и поставил его. Нашёл в тырнете, но потом подглядел в книжке BLFS 8.1, какую версию надо ставить и как. Никаких хитростей, which собралась и тоже работает. А тут надо сказать, что щас есть две версии LFS - с systemd и с sysvinit. Я подумал, почему бы не собрать их обе? Сделать это просто - надо скопировать сейчас перед установкой systemd всё, что я уже поставил и на одну копию поставить systemd и остальные пакеты, а на другую sysvinit и его пакеты в очерёдности, которая указана в нужной версии книги. Так я подумал и ушёл домой. Дома у меня родился хитрый план. Что там, что там пакеты одни и те же. Нафига спрашивается два раза их ставить на обе копии, если можно сначала поставить все общие пакеты, а под конец оставить systemd с d-bus или sysvinit, ksyslogd & Eudev.
На работе с утра я поискал о зависимостях и обнаружил глюк. В обеих версиях книги в Приложении С указаны зависимости для sysvinit. Об чём я набрался наглости написать авторам проекта. Ещё раз внимательно перечитал 6ю главу - всё-таки есть пакеты, зависящие от systemd и требующие его наличия в системе до установки. Это, например, coreutils. util-linux. Ещё он же встречается в зависимостях для Kmod & Xz. Кто там от кого зависит, хз, но факт имеет место быть. Подумал, и решил собирать по инструкции. Сделал резервную копию, потом поставил systemd. Дальше поставил два пакета более менее без проблем и застрял на coreutils. К нему прилагается патч, причём написано, что в патче в своё время находили много глюков, поэтому проверьте, может, новый вышел. Вот она, сука-бля, самая совершенная и безопасная система в мире. coreutils, между прочим не последнее место в ней занимают, как ясно из самого названия. Это команды, которые используются каждый день. Начал собирать, делаю тест, ошибку выдаёт, падла. Ошибка на тесте test/mv/sticky-to-xpart. В логах на сайте LFS этот тест пройден, в тырнете похожая ошибка обсуждается один или два раза. Нашёл видео какого-то перца, дык и у него тест прошёл. Ладно, думаю, попробую пройти дальше. Дальше тоже выдало ошибки. Стал ковырять логи. Чо-то там пишут про selinux. Отключил, помогло. Перекомпилял для чистоты. Первый тест норм, следующий прерывается с ошибкой, а на сайте логи дальше идут. В инструкции приведена команда make RUN_EXPENSIVE_TESTS=yes check, и если верить логам, у них всё шоколадно - делает два теста, в каждом по 1 ошибке, но идти продолжает. А у меня останавливается на первом из-за ошибки. Попробовал make RUN_EXPENSIVE_TESTS=yes -k check, проканало. Ошибки выдаются на тестах misc/date debug и test-getlogin, об чём написано в инструкции. Решил продолжить, но сомнения гложут - у них в инструкции нет ключа -k и типа дальше проходит, хотя ошибки точно такие же, а мне вот ключ пришлось поставить. И целый час на эту херню убил ((
Осталось немного до седьмой главы, где начинается новый ебаторий - конфигурация.
Это было касательно сборки LFS, но помимо её я тоже провожу время с пользой. Во-первых, попытался разобраться, как, что и зачем делается в LFS. Стало понятнее. Нашёл тот пункт в 6.10, где раньше накосячил. Хотя, вопросов ещё много остаётся и наверное они будут всегда.
Начинается всё с того, что мы собираемся компилировать систему. Что нам для этого нужно? Первым делом - компилятор, компоновщик, и библиотека языка (о которой часто забывают). Если речь идёт о С, понадобится ещё ассемблер, т.к. С транслирует сначала в него. Если речь идёт ещё и о С++, то понадобится ещё и препроцессор и библиотека для С++.
С этого LFS и начинает - первым шагом собирается компоновщик с ассемблером. Потом сразу же компилятор. Причем, устанавливается в /tools/bin. /tools/bin не похож ни на один из стандартных системных путей типа /usr /bin /sbin и т.д. Таким образом, это гарантирует, что случайно не запустится утилита с хостовой системы, а только то, что мы поставили в /tools/bin.
Потом собираются заголовки ядры и библиотеки для С и С++ (glibc & libstdc++). Компоновщик и компилятор были собраны хостовыми инструментами и испытали на себе "влияние" хостовой среды. В частности, то, что в бинарниках прописан (насколко я понял) хостовой компоновщик и хостовые библиотеки. Теперь, когда у нас есть свои библиотеки в /tools/bin, мы пересобираем заново компоновщик и компилятор. Т.к. они собраны в среде /tools/bin, то испытают на себе "влияние" уже этой среды - в них будут прописаны пути /tools/bin и они же будут прописываться во всех компонентах, которые мы теперь будем собирать.
Дальше меня смущает, что мы не пересобираем библиотеки С и С++ (glibc & libstdc++), как можно было бы подумать, а продолжаем собирать остальные пакеты. Хрен знает, возможно, именно эти библиотеки неподвластны "влиянию" среды, т.к. туда некуда прописывать путь, а возможно вообще все библиотеки неподвластны. Рано или поздно мы это узнаем.
Дальше мы собираем кучу пакетов, после чего начинаем с заголовков ядра, комплекта мануалов и библиотеки С - glibc. (видимо, это компоненты, не подверженные "влиянию"). Потом мы делаем "adjusting toolchain" - подправляем пути и подменяем компоновщик, чтобы он указывал не на /tools/bin, а на /usr/lib, /usr/include и т.д. Дальше собираем пакеты и инсталлируем их в каталоги будущей ОС, а дальше я пока не дошёл.
Раньше я думал, что glibc это один большой бинарный файл. Хер там. Glibc это пакет, в который входит куча мелких файлов-библиотек, составляющих функционал glibc + ещё несколько команд для установки временной зоны, функции для работы с файлами /etc/passwd & /etc/group + ещё локали и команды для работы с ними.
Я понял, что мало написать и отладить пакет. К нему нужен ещё набор тестов, который убедит остальных, что всё собралось и работает правильно.
Я понял, почему FreeBSD называют "логичной", а Linux - набором пакетов с кое-как прикрученным ядром. Дело в том, что сообщество FreeBSD разрабатывает всё вместе - ядро и обвязку. Изменилось у них что-то в ядре - они могут подогнать под это функционал команд. Могут менять код команд и ядра так, как им удобно. В Linux ядро разрабатывает отдельно одна группа разработчиков во главе с Линусом, а всё остальное разрабатывается сообществом GNU и им ещё надо совместно договариваться, как и что писать, чтобы их продукты можно было соединить в систему. Не всё разрабатывается GNU, что-то ещё кем-то другим пишется. Через это типа ядро Linux никогда не будет так плотно пригнано, как ядро FreeBSD. Странно, правда, что GNU за все эти годы так и не удосужилось разработать своё ядро.
Раньше я изучал команды "группами". Группы формировал по своему усмотрению. Ну или в книгах команды даются вместе, я их и читал. Дык вот, оказывается, очень удобно, хоть и не очевидно, учить команды пакетами. Например, в пакет e2fsprogs входят библиотеки и команды для работы с системами ext2, ext3, ext4. Команды очень разные по назначению, но выстроены вокруг файловой системы. В другом пакете будут например команды работы с текстом.
До хера ваще виртуальных файловых систем в Linux! Да, возможно, удобно, но всё равно многовато: /proc /run /sys /dev /dev/pts хуй прассыш! Кстати, пакет procps-ng выстроен вокруг файловой системы /proc. Во FreeBSD пока замечены /proc & /dev. Но наверняка скоро появится и остальное.
Раздобыл книжку How Linux Works Брайана Уорда. Читаю, вникаю. Всё началось с команд ldd & readelf, с которыми я познакомился в LFS.
Вот ещё нашёл статейку прикольную stoplinux.org.ru/project/FAQ_why_linux_suks.htm... Круто он их обосрал! Но это был 2009 год, и щас что мы видим? Прошло 8 лет, Linux по-прежнему в строю, тех микроядерных систем, про которые он говорил (Haiku, Syllable, AROS) не видно и не слышно, только Haiku вроде ещё пока существует, а сам он пишет какие-то унылые новости, а вот раньше жог просто пиздец, у красноглазегов пуканы взрывались!
Ещё вот бесило меня, когда набираешь find / он начинает искать по всем этим ёбаным /proc /run и т.д. Нашёл я вариантик - find -xdev или find -mount. Оставаться в пределах файловой системы. Если у тя токо /home и всё остальное на / (у меня на десктопе так), это очень удобно. Если /usr /var и прочее подмонтированы, тогда да, херня. Версия для cp: cp -x чтоб не копировать опять же все эти /proc /run, а только то, что нужно. Ладно, пока хватит, вникайте, а я спать пошёл