вторник, 17 февраля 2009 г.

KDE 3.5.10, установка, KDE 4.2, установка

по не известным мне причинам рядом с KDE 4.2 можно поставить KDE 3.5 версии не меньше чем 3.5.10

сейчас KDE 3.5.10 замаскирован, что бы его размаскировать я использую утилиту unmasker.
для работы unmasker`у нужен пакет eix.

unmasker --prefer-slotted =kdebase-startkde-3.5.10-r4

emerge -pv =kdebase-startkde-3.5.10-r4
emerge просит удалить пакеты моего предыдущего KDE 3.5.9...удаляем...

emerge =kdebase-startkde-3.5.10-r4:3.5

установка прошла без единой ошибки.

KDE 4.2 ставлю по этим двум мануалам

используя такие USE-флаги
USE="webkit -python -mysql" emerge -pv kdebase-startkde:4.2
установка проходит нормально

И KDE3.5 и KDE4.2 работают нормально.

воскресенье, 15 февраля 2009 г.

KDE 4, всё еще веселее чем я думал

У меня была цель поставить KDE3 и  KDE4 рядом так что бы они друг другу не мешали.

уточню свои версии KDE3
kdebase-3.5.9-r3
kdelibs-3.5.9-r4

так вот у KDE 4.2 стоит блокировка на эти два пакета KDE 3.5.9..
и если я хочу поставить KDE 4.2 мне надо обновить KDE3 до версии 3.5.10

на KDE 3.5.10 сейчас стоит маскировка ~x86

пока что это всё

суббота, 14 февраля 2009 г.

индикатор прогресса emerge, KDE split packages

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

Первое что предлагают - genlop это приложение анализирует /var/log/emerge.log файл, и на основе стастистики предыдущих сборок выдаёт усреднённое время сборки..в моём случае - мало пользы, т.к. ставлю всё впервые. 

К сожалению решения на сегодняшний день нету.

Между тем KDE3 уже доставилось и работает нормально.
Мне очень не понравилось ждать пока в составе KDE проставились десятки пакетов, которые я никогда не буду использовать, повторять такую установку в будущем не придётся, т.к. в gentoo есть возможность ставить только нужные части KDE, сократив время ожидания в разы. Подробнее можно почитать в хендбуке тут.

пятница, 13 февраля 2009 г.

удалённый доступ по ssh. port forwarding

захотелось мне с работы иметь доступ к домашнему gentoo.

на пути 2 проблемы:
1. дома нет выделенного ип.
2. подключатся нужно в wmware.

что бы всё таки получить доступ к gentoo, решил воспользоватся такой хитрой штукой как ssh port forwarding.

что это такое и как работает знает гугл.

у меня есть FreeBSD в интернете, которую я буду использовать как мост между компьютером на работе и gentoo.

Последовательность действий такая получилась.

Ставлю на gentoo пакет screen - что бы была возможность подключатся к сессии с запущенным emerge.
в gentoo запускаю команду
ssh -R 7777:localhost:22 user@host.com
где host.com - машина в интернете
теперь если я на работе подключусь к host.com и выполню команду
ssh localhost -p 7777
попадаю в gentoo.

Есть еще один важный момент - обрыв ssh сессии gentoo с host.com.
решается таким образом:
while true ; do ssh -R 7777:localhost:22 user@host.com ; sleep 60 ; done
но тут есть момент: надо устанавливать соединение так что бы не было запроса пароля, для этого:
на машине с генту выполняю
ssh-keygen -t rsa (пароль пустой)
теперь содержимое сгенереного файла ложу в
~/.ssh/authorized_keys2
на host.com

все. пароль вводить не надо, и реконект-скрипт будет работать

среда, 11 февраля 2009 г.

KDE 3, установка

Первая проблема на пути сборки KDE 3.5.9.

Несколько раз по разным причинам сборка пакетов для KDE 3 прерывалась, не знаю стоит ли именно к этому приписывать проблему, которая звучит следующим образом:

configure: error:
you need to install kdelibs first.

If you did install kdelibs,then the Qt version that is picked up by this configure is not the same version you used to compile kdelibs.

это при попытке сборки пакета kde-base/kdenetwork-3.5.9...

> emerge -s kdelibs
*  kde-base/kdelibs
 Latest version available: 3.5.9-r4
 Latest version installed: 3.5.9-r4

пересобрать kdelibs..?
запустить команду ldconfig...?

сделал и то и другое, помогло! поехали дальше, еще 15 пакетов...КДЕ огромен.

понедельник, 9 февраля 2009 г.

Происхождение слова MACRO

Для тех кто дружит с gentoo макрос это не пустое слово, мне очень понравилась эта история повествующая откуда взялись эти макросы =)


Давным давно, много лет назад, была компания Lisp программистов. Это было так давно, что Lisp не имел макросов. Каждый раз все то, что не могло быть определенно с помощью функций или сделано с помощью специальных операторов, должно было быть написанно в полном объеме, что было очень тяжело. К сожалению программисты в этой компании были хоть и блестящи, но очень ленивы. Нередко в середине процесса написания своих программ, когда скука от написания больших объемов кода становилась слишком велика, они вместо кода писали комментарии, описывающие требуемый в этом месте программы код. К еще большему сожалению, ведь они были ленивы, программисты также ненавидели возвращаться назад и действительно писать код, описанный в комментариях. Вскоре компания стала иметь большую кучу кода, которую никто не мог запустить, потому что он был полон комментариев с описанием того, что еще предстоит написать.

В отчаяньи большой босс нанял младшего (junior) программиста, Мака, чьей работой стал поиск комментариев, написание требуемого кода и вставка его в программу на место комментариев. Мак никогда не запускал программы, ведь они не были завершены и поэтому он попросту не мог этого сделать. Но даже если бы они были завершены, Мак не знал, какие данные необходимо подать на их вход. Поэтому он просто писал свой код, основываясь на содержимом комментариев, и посылал его назад создавшему комментарий программисту.

С помощью Мака все программы вскоре были закончены и компания сделала массу денег продавая их: так много денег, что смогла удвоить количество программистов. Но по какой-то причине никто не думал нанимать кого-то в помощь Маку; вскоре он один помогал нескольким дюжинам программистов. Что бы избежать траты всего своего времени на поиск комментариев в исходном коде, Мак внес небольшие изменения в используемый программистами компилятор. Теперь, когда компилятор встречал комментарий, он слал Маку электронное письмо с ним и ждал от Мака ответа с заменяющим комментарий кодом. К сожалению, даже с этими изменениями Маку было тяжело справляться со всей работой. Он работал тщательно, как только мог, но иногда, особенно когда записи не были ясны, он допускал ошибки.

Однако программисты обнаружили, что чем точнее они пишут свои комментарии, тем больше вероятность того, что Мак вернет правильный код. Однажды один из программистов, встретив затруднение с описанием в словах нужного кода, включил в один из комментариев программу на Lisp, которая генерировала нужный код. Такой комментарий был удобен Маку: он просто запустил программу и послал результат компилятору.

Следующая инновация появилась, когда программист вставил в самый верх одной из своих программ комментарий, содержащий определение функции и пояснение, гласившее: «Мак, не пиши здесь никакого кода, но сохрани эту функцию на будущее; я собираюсь использовать ее в некоторых своих комментариях.» Другие комментарии в этой программе гласили следующее: «Мак, замени этот комментарий на результат выполнения той функции с символами x и y как аргументами.»

Этот метод распространился так быстро что в течение нескольких дней большинство программ стало содержать дюжины комментариев с описанием функций, которые использовались только кодом в других комментариях. Чтобы облегчить Маку различение комментариев, содержащих только определения и не требующих немедленного ответа, программисты отмечали их стандартным предисловием: «Definition for Mac, Read Only» (Определение для Мака, только для чтения). Это (как мы помним, программисты были очень ленивы) быстро сократилось до «DEF. MAC. R/O», а потом до «DEFMACRO».

Очень скоро в комментариях для Мака вообще не осталось английского. Целыми днями он читал и отвечал на электронные письма от компилятора, содержащие DEFMACRO комментарии и вызывал функции, описанные в DEFMACRO. Так как Lisp программы в комментариях осуществляли всю реальную работу, то работа с электронными письмами перестала быть проблемой. У Мака внезапно стало много свободного времени, и он сидел в своем кабинете и грезил о белых песчаных пляжах, чистой голубой океанской воде и напитках с маленькими бумажными зонтиками.

Несколько месяцев спустя программисты осознали что Мака уже довольно давно никто не видел. Когда они пришли в его кабинет, они обнаружили на всем тонкий слой пыли, стол был усыпан брошюрами о различных тропических местах, а комьютер был выключен. Но компилятор продолжал работать! Как ему это удавалось? Выяснилось, что Мак сделал последнее изменение в компиляторе: вместо отправления электронного письма с комментарием Маку компилятор теперь сохранял функции, описаные с помощью DEFMACRO коментариев, и запускал при вызове их из других комментариев. Программисты решили, что нет оснований говорить большим боссам, что Мак больше не приходит на работу. Так происходит и по сей день: Мак получает зарплату и время от времени шлет программистам открытки то из одной тропической страны, то из другой.


Разве LISP был раньше ассемблера?)) или какой то фан ЛИСПа пропустил текст через "s/ассемблер/лисп/" :) в любом случае прикольно)

Xorg, KDE

Иксы, 128 пакетов, 60 мегабайт исходников..
хорошо что я где то случайно прочитал про parralel-fetch для emerge

parallel-fetch - это FEATURES флаг который нужно прописать в make.conf для того что бы скачивание исходников пакетов и их компиляция происходили параллельно, по умолчанию эта фитча выключена.
и надо следить за правильным синтаксисом этих директив, т.к. у меня emerge спокойно принял "parralel-fetch" и честно нифига не закачивал в фоновом режиме.

не понимаю зачем иксам нужно за собой тянуть свой glibc..надо будет разузнать.

KDE 3.5, 106 пакетов, 300 мегабайт...стоило бы исключить не нужные мне пакеты..оставлю как есть, запустил компиляцию, интересно, вечером когда приду домой, она закончится или нет, VMware все таки =)

воскресенье, 8 февраля 2009 г.

RIP Linux -> reiser4 -> gentoo

Загрузил RIP. интернет работает. reiser4 примонтировался..

ну что ж всё с начала..ставим stage3..
ух долго он в VMware устанавливается...запущу ка я windows media, послушаю альбом Black Rain Оззи Осборна, что б не так скучно было.

stage3 есть. теперь portage..тоже есть, ну и дальше всё по хендбуку.
единственное что по ходу установки копирую настройки из моего предыдущего ext3 gentoo

Воот, дошли мы до установки ядра, и видимо надо переходить из хендбука в этот ман.
manifest для ebuild патченого под reiser ядра сделать на этот раз получилось быстрее благодоря граблям в шкафу.

emerge reiser4-gentoo-sources
конфиг ядра, компилирую, устанавливаю grub, ребут

готово. reiser4 установлен.

reiser4

Включил в ядре поддержку этой файловой системы, скомпилировал...
mount: unknown filesystem type 'reiser4'
В интернете пишут что для её поддержки ядро должно быть собрано с поддержкой nptl.
Хм, а как узнать поддерживает ли моё ядро эту фитчу?
Гугл сказал, что сделать это можно с помощью команды /lib/libc.so.6
отлично! строчка "Native POSIX Threads Library by Ulrich Drepper et al" в выводе этой команды говорит о том что всё зашибись.
Позже я понял что не всё так просто, тут оказывается нужно качать особенно пропатченное ядро. Ладно давайте качать. Нашол хороший ман.
Создал оверлей, положил в него ebuild. попытался запустить digest. Облом. Среди 20 линков по которым можно скачать genpatches-2.6.25-10.base.tar.bz2 ниодин не работает. 
Окей, давай искать вручную этот файлик. Нашёл на сайте http://distfiles.selfip.ru/. 
Скачал в distfiles. Опять запускаем digest. Пошёл загружатся linux-2.6.25.tar.bz2. Загрузка дошла до 99% и висит, чего то ждёт. Ладно selfir.ru надеюсь и на этот раз не подведёт. Странно такая же фишка с 99%. Повисел вот так Х минут и закачалося, не понятно что это было, проехали. 
Digest! ура. готово.

запускаю emerge reiser4-gentoo-sources
опять ругается на нехватку места..похоже что ext3 висит балластом и не дает вообще развернутся...жаль, но похоже придётся ставить систему из livecd с поддержкой reiser4 и сразу на этот reiser4. Качаю RIP linux.

суббота, 7 февраля 2009 г.

Ставлю gentoo

Я решил что начну свои эксперименты в VMware, так на много легче бекапить систему и всегда есть доступ к поисковику.

Выделил 5Gb раздел. основной ext3.
Скачал gentoo 2008 Livecd, так и не понял в чём его смысл, т.к. ставит он ubuntu-style деревянную сборку ОСи, да и stage3 не удосужились положить на диск..

В общем Gentoo 2008.0 Minimal CD/InstallCD вполне сойдёт для установки.
Скомпилировал ядро. Развернул stage3. Установил X.

Начал емержить KDE 3.5. И тут первая проблема)
no space left on device
df -i выдает 0% free

совсем в консоли мне эту проблему решать тяжело, поставил fluxbox. На диске остался 1 гигабайт свободного места(которое впрочем нельзя использовать). Блин 2.5 гб под окружение, икс и fluxbox...Не вяжется как то с моим первым метровым дистрибутивом =) Ну да ладно, создал еще один диск, на этот раз 8 гигабайт..и решил что бы исключить в дальнейшем такую проблему с инодами - научу ка я свой линукс монтировать reiser4...