Блог долбанутого линуксойда

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

пятница, 26 октября 2012 г.

Symfony2 Form и ManyToMany

Заметка чтобы самому не забыть и другим может быть полезна.

Проблема как ни странно в том что форма не сохраняется.

пятница, 20 июля 2012 г.

Что делать, если у вас много сторонних репозиториев

Прежде чем читать этот пост откройте консоль и выполните следующие команду
ls /etc/apt/sources.list.d | wc -l
Если у вас вдруг появилась надпись
"ls" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
то значит эта статья точно не для вас :)

Если у вас не Debian, Ubuntu или их потомки, а что-то на основе RPM или Gentoo, то это тоже не для вас, по крайне мере пока.

Если у вас получилось число меньше 5, то вам наверное не пригодится то что написано дальше.

Ну а если вы получили число больше 10 (а то и 24 как получилось у меня) то читайте дальше и вы сможете сэкономить много времени.

Как в голову пришла идея.

Итак, все началось немногим меньше полутора лет назад, когда я обновлял свою тестовую ubuntu natty на ставший тестовым oneiric. Матов было много, так как приходилось мониторить, когда ppa репозитории перейдут на новый дистрибутив и каким он будет. Кто-то переходил на oneiric, а кто-то только на natty - на это все ушло довольно много времени.
Потом было обновление до oneiric и precise, увеличение количества репозиториев и количества ругательств, установка системы на работе с нуля и подключения этого добра в новую систему.

Как вы все наверное заметили, что сторонние репозитории управляются достаточно сложно: нужно самому следить за ключами, для хостящихся на launchpad нужно каждые пол года менять дистрибутив, достаточно неудобно их удалять - нужно удалить еще и ключ.

А ведь по сути подключение репозитория сводится к добавлению двух файлов - список адресов в sources.list.d и gpg ключ в trusted.gpg.d, так почему бы их не объединить в пакет, установив который вы подключаете репозиторий, а удалив - отключаете.


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

И что из этого получилось

А получился сайт http://pkggen.no-ip.org/, который представляет собой довольно простую вещь - вы скачиваете и ставите один пакет, после чего вы можете ставить все пакеты, которые есть на сайте, а если вам чего-то не хватает (а в начале так и будет), то после регистрации можно добавить свои репозитории, и система сама сгенерирует для них пакеты и добавит в репозиторий. PPA репозитории отслеживаются автоматически и проверяются на обновление на launchpad. Все пакеты репозиториев начинаются с префикса, так-что искать в общем списке их можно не только по источнику, но и по имени.

Техническая реализация

Ну во первых код открыт - в лучших традициях OpenSource :)
Во вторых реализовано все на Symfony 2 и хостится на Debian. Интерфейс с использованием Twitter Bootstrap, для редактирования классический CRUD, пагинатор и поиск, репозиторий реализуется просто тремя адресами и ZendCache (а то без него как-то плохо). Для подписей используется библиотека php-gnupg. Так как размер каждого пакета примерно 2.5 килобайта, то с файлами решено было не заморачиваться и собранные пакеты хранить прямо в базе.

воскресенье, 4 марта 2012 г.

Выборы из этих уродов

Хоть о политике не хочется говорить, но хочется сказать одно - к сожалению у нас совок еще не ушел, мы не будем жить нормально пока не сдохнет то быдло, которое выросло в совке.
Собственно сейчас это все было понятно - те кто против - они явные дети девяностых - тогда они поняли, что есть свобода.
А голосовали за путина те, которые как бараны не привыкли думать - надеются что за них власть что-то сделает - они привыкли так жить, у нас уже было 80 лет когда им всем долбили мозги. Как  показал опыт других стран (Корея, Куба, Германия) даже за 20-30 лет из нормальных людей совок делает баранов, и лечится это очень сложно - даже объединившаяся Германия до сих пор делится на нормальных людей с западной и совков с восточной.
Будем надеяться, что за год что-то изменится в лучшую сторону, но (см первый абзац)

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

Умудрился снести вчера libc

Позавчера, во время обновления пакетов умудрился удалить libc - нужно было почистить *.dpkg* а я сдури почистил libc6*.so.* в результате было очень весело :)

Сначало все работало, но все программы не запускались, выдавая ошибку что библиотека не найдена. Работали только опера и майнкрафт, ну и консолька, причем не рутовая. В консольке работал только cd, спас меня только установленный бизибокс - с его помощью распаковал пакет libc и с помощью LD_PRELOAD добавил библиотеку. Дальше все завелось, за исключением того что под рутом не пускало, соответственно установить пакет не получалось.
Пришлось делать ребут, после которого система уходила в кернел паник, опять спас бизибокс который был подсунут в качестве инита, и вот тогда уже восстановил пакет и все заработало.

Пакеты в дебиане 4

Ага, посрался с мейнтейнерами, ушел на убунту, завел ppa, ну нафиг этот дебиан :)

О, у меня же еще блог :)

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

воскресенье, 22 марта 2009 г.

Завел VDS

Неделю назад завел себе VDS сервак на vdsplanet.ru - из впечатлений только положительные.

Цены очень божеские - 3.5 бакса на минимальном тарифе - 64 метра памяти, и 2 гига винчестер, остальное - девать некуда :)

Из плюсов - дают нулевую систему с панелью управления сервером (пистолет вам дали, а дальше крутитесь как хотите), каналы широкие, сервер в штатах, нареканий никаких, трафика даже на минимальном тарифе дают 25 гигов в месяц, что для некрупных проектов вполне достаточно.

Из минусов - лимит памяти и нет свопа - на минимальном тарифе не запустишь даже aptitude - вылетает из-за нехватки памяти, поэтому приходится работать с помощью apt-get.

Сейчас там крутится svn сервер и веб сервер на nginx + php-fastcgi, однако с mysql проблема - памяти хватает под завязку - при запущенном mysql нельзя сделать коммит в svn - вылетает по нехватки памяти, нехватает памяти для импорта больших баз и все такое, но работать можно, а если взять следующий тариф, то должно быть в самый раз :)