⌨ Labor omnia vincit ☮

openSUSE first steps

Posted in SuSE [ru] by anaumov on 22.07.2015

В блоге моего знакомого Александра Толстого есть достаточно интересная заметка о некоторых действиях, которые он советует проделать после установки openSUSE. И хотя речь там идет о openSUSE 13.2, я думаю большинство из советов (если не все), должны без проблем заработать и в Tumbleweed.
В этой же заметке я постараюсь дополнить Александа, т.е. дать несколько похожих советов, с той лишь разницей, что они, я думаю, понадобятся более узкому кругу пользователей ;)

Устанавливаем Minimal Server Selection (Text Mode)

minimal installЕсть лишь один способ получить быструю и чистую, т.е. без мусора, систему – начать с минимального набора компонентов и доустановить только то, что вам действительно необходимо.
Да, для этого надо знать, что необходимо, а что есть лишее. Набор “необходимого” складывается из задач, для решения которых будет предназначена система.
Помните, что установщик openSUSE спрашивает не только о предлагаемых к установке DE (комплектах ПО), но и предоставляет выбор из списка всех возможных rpm-пакетов. Так что получить минимальную систему вы можете даже если сначала выбрали, к прмеру, KDE, а потом убрали из списка часть предлагаемых компонентов.
Руководство по установке fluxbox.
Руководство по установке stumpWM.

Настраиваем vim

Только не говорите мне, что вы пользуетесь nano :) Vim незаменим. Это классика, это простота, это элегантность. Говоря это я ни в коем случае не хочу обидеть пользователей emacs. С вами, ребята, я всегда охотно пропущу по бутылочке темного, но признайте, что vim должна быть установленна на каждой UNIX/GNU-системе (хоть GNU is Not UNIX) :)

Конфигурационным файлом vim по-прежднему является .vimrc. Добавим туда пару строк.

set smartindent
set tabstop=4
set shiftwidth=4
set paste

Да, 4 отступа вместо 8, при нажатии tab. Автоопределение необходимости отступов с текущей строки при добавлении новой. И paste тоже необходима, дабы код не уходил лесенкой вправо при добавлении скопированного текста. Что-то забыл? Напомните мне в комментариях.

Отключение графики в GRUB2

Наверное это дело привычки, но когда я только начинал пользоваться GNU/Linux этот режим был режимом по умолчанию. Потом для пререключения во время загрузки приходилось нажимать esc. Теперь даже возможность переключения убрали… Как вы поняли, речь идет о splash-режиме GRUB. Этот режим отключает графику во время загрузки OC, последовательно показывая загружаемые компоненты системы. Для его отключения просто уберите “splash” из параметров, которые GRUB2 передает ядру. Сделать это можно например через файл /etc/default/grub, либо через YaST2 (который перезапишет этот файл за вас). Не забудьте после этого обновить загрузчик при помощи grub-install(8).
Текущую конфигурацию можно посмотреть в /proc/cmdline.

Установка man-страниц на русском

Man-страницы или страницы руководств это наше все. По привычке заглядывать в man по той или ной команде или системной функции можно сказать как минимум о возврасте (а значит и опыте) пользователя. Когда я только начинал изучение этой ОС будучи студентом, у меня не было безлимитного интернета. Выходил в сеть я в основном лишь для того, чтобы проверить свои email. Скорость соединения тоже не шла ни в какое сравнение с сегодняшней. Слово “погуглить” пришло уже позже. Поэтому изучение man-страниц, открытыех в консоли, было тогда чем-то само собой разумеемщимся. Они до сих пор имеют одно важное преимущество – страницы руководств 100% совместимы с используемой вами системой, в отличие от половины мануалов, которые найдет поисковик в web.
Материал в страницах на английском более актуален (они уже установленны в системе), но я считаю неплохой идеей иметь под рукой коллекцию страниц на русском. Устанавливаем пакет man-pages-ru и вызываем man, передав в качестве параметра нужный язык (в нашем случае -L ru).

> sudo zypper in man-pages-ru

> man cal
Man: find all matching manual pages (set MAN_POSIXLY_CORRECT to avoid this)
 * cal (1)
   cal (1p)
Man: What manual page do you want?
Man:

> man -Lru cal
Man: поиск всех подходящих справочных страниц (set MAN_POSIXLY_CORRECT to avoid this)
 * cal (1)
   cal (1p)
Man: Какая справочная страница вам нужна?
Man:

Проблем с кодировкой возникнуть не должно.

Установка колекции RFC-документов

Раз уж речь зашла о мануалах в текстовом формате, то возможно кого-то заинтересует пакет rfc. Он содержит коллекцию The RFCs (Request For Comments). Большинство пользователей найдут материал из этих документов слишком сухим и техническим. Сам я стал туда заглядывать только после того, как стал увлекаться сетевым программированием.
В поиске по документам нам поможет zgrep, который умеет заглядывать в gz-файлы. Вот пример поиска документов, в которых встречается имя Theo de Raadt. Спорим, что если такой документ и есть, он будет о сетевых атаках :)

> sudo zypper in rfc
> zgrep -le "Theo de Raadt" /usr/share/doc/rfc/*
/usr/share/doc/rfc/rfc5927.txt.gz
> less /usr/share/doc/rfc/rfc5927.txt.gz



Internet Engineering Task Force (IETF)                           F. Gont
Request for Comments: 5927                                       UTN/FRH
Category: Informational                                        July 2010
ISSN: 2070-1721


                        ICMP Attacks against TCP

Abstract

   This document discusses the use of the Internet Control Message
   Protocol (ICMP) to perform a variety of attacks against the
   Transmission Control Protocol (TCP).  Additionally, this document
   describes a number of widely implemented modifications to TCP's
   handling of ICMP error messages that help to mitigate these issues.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc5927.



Gont                          Informational                     [Page 1]
/usr/share/doc/rfc/rfc5927.txt.gz lines 1-58/2019 2%

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

Отключаем postfix

Но вернемся к openSUSE. По умолчанию, каждый раз при включении в ней запускается postfix. Дело в том, что cron(1) сообщает пользователям о процессе выполненных заданий при помощи email. Только для этого в системе должна быть запущенна какая-нибудь MTA. В нашем случае это postfix. Я не так часто пользуюсь cron(1), поэтому отключение postfix нахожу вполне логичным, экономя драгоценную память, процессорное время и закрывая еще один tcp-порт.

> sudo systemctl stop postfix.service
> sudo systemctl disable postfix.service

Если вы хотите посмотреть все запущенные службы: systemctl list-units -t service

Если вы до сих пор неуверенно себя чувствуете с systemd (именно он управляет системными службами), то я советую заглянуть на страницу Алексея Федорчука Шпаргалки по systemd. Написано просто и понятно.

Что-то забыл?

Конечно! Например пересборка ядра, установка необходимых библиотек и просто инструментов для программирования, поиск и скачивание нужных книг или, наконец, поиск красивых обоев. Но так как перечисленное относится уже к индивидуальным пристрастям и особенностям системы, то на этом “first steps” подходит к концу.

Напоследок напомню, что после устновки в системе добавлены только стандарные rpm-репозитории. Это далеко не все, что предлагает проект openSUSE. Есть дополтительные репозитории, которые могут быть добавлены, а так же существует целый список так называемых third-party репозторий, которые официально не поддерживаются проектом, но которые каждый из нас может использовать.

Удачи ;)

Common Lisp: more Libraries, more Frameworks, more fixes…

Posted in Lisp by anaumov on 17.07.2015

Пожалуй позволю себе еще один пост о Lisp, а именно – о его использовании “в продакшин”. Буквально на этой неделе на хабре снова был очередной пост-перевод на эту тему, к тому же я сейчас практически все свободное время на работе посвещаю переписыванию некоторых скриптов с Python на Common Lisp, что является причиной интереса коллег к этой теме.

Но мой пост все же будет отличаться от большинства других. Дело в том, что я считаю неправильным саму постановку вопроса. Когда я читаю комментарии обоих сторон, я замечаю, что говорят они о разных вещах. Сам Lisp, как таковой, т.е. ядро этого языка, на много мощнее Python (давайте будем сравнивать его с Python, раз уж последний уже вытесняет Perl, а Ruby пока составляет ему конкуренцию только в Web). Обратите внимание на книги по Python (или другим языкам программирования), они как правило начинаются с описания типов данных. Я помню как не знал с какой стороны подойти к Lisp, когда так привык к python’новским dictonary. Этот тип данных является ядром самого Python. Но даже начального знакомства с Lisp (это было уже на первой неделе работы с Lisp) мне хватило, чтобы реализовать свой тип данных, который позволял мне делать тоже самое в Lisp, что и dictonary в Python (в процессе написания я нашел в сети информацию о Lisp-хеш-таблицах, но все же решил довести дело до конца). Я до сих пор под впечатлением, что в моем арсенале теперь есть язык, который позволяет создавать абстрации, ограниченные по возможностям лишь моей фантазией и представлением о том, что и как “можно”.

crazy lisp programmerНо правы и те, кто забрасывают риторические, как им кажется, вопросы о столь низкой популярности Lisp. Правы они в том, что он действительно совсем не популярен. Но вовсе не потому, что сам язык в чем-то уступает. Дело тут в библиотеках, а точнее – в поддержке этих библиотек сообществом. На домашней странице проекта Quicklisp гордо значится число поддерживаемых библиотек:

Quicklisp is a library manager for Common Lisp. It works with your existing Common Lisp implementation to download, install, and load any of over 1,200 libraries with a few simple commands.

Да, более 1200 библиотек поддерживается этим library manager’ом, но это значит лишь, что я могу без проблем найти их, установить и использовать в моем Lisp-проекте. Это совсем не значит, что все эти библиотеки хорошо документированны, и существуют примеры в сети как ими пользоваться. Вовсе нет. Есть сообщество пользователей, да. Кто-то из них наверняка использует, к примеру, SMTP или SQL, поэтому вы, я думаю, без проблем найдете в сети пару примеров, а может быть даже блог-посты, а может быть даже страницу, посвященную этой библиотеке, с подробным описанием функций. Но есть в их числе и те, которые написал какой-нибудь прыщавый студент-очкарик несколько лет назад, и теперь, возможно, после того как нашел работу или завел семью, не занимается поддержкой своей библиотеки. Я не буду приводить пример. Библиотекой пользоваться очень не просто, т.к. она устарела, нет документации, нет примеров… а альтернативы, т.е. другой библиотеки для тех же целей, в Quicklisp нет. Если вы использовали GNU/Linux или BSD-системы в 90х или даже начале 2000х, то вы можете себе предствить о чем идет речь.
В Python такой проблемы нет, ну или почти нет. Этот язык окружил себя сегодня просто огромным сообществом, которое само-собой является поддержкой этого языка. То там то здесь появляются все новые и новые библиотеки, framework’и. Наконец, у Python есть Pyton Foundation.
Да, полка книг о Python есть и у меня, так что на ближайшие 5-10 лет по поводу трудоустройства, я думаю, мне можно не переживать. Кстати, если вы интересовались поиском работы в Европе, то наверняка слышали про stepstone.de. Посмотрите сколько мест она вам выдаст по запросу “Java” или “.NET”, а теперь скажите: вы находите стиль Java столь элегантным, выразительным, а сам язык мощным или просто продуманным? :) Ее популярность обусловлена совсем другими причинами. Java, как и .NET, это два единственных в мире Enterprise языка программирования. А это, к сожалению, не имеет совсем никакого отношения ни к удобству использования, ни к продуманным типам данных, ни к простоте и стилю языка, а также не самым лучшим образом отражается на ее лицензии ;)

Я хожу по тонкому льду, позволяя себе такую роскошь как специализацию только на Free Software технологиях и системах, а так же программирование на тех языках, которые действительно приятно использовать, а не тех, которые так популярны по той или иной причине (хотя причина, как мы знаем, как правило всегда одна и та же).

Как Java и .NET обходят по популярности (на рынке труда) Python, так же и Python обходит Common Lisp. Но все же что-то приводит Java-программитов к Python, Perl или Ruby, а те, кто знаком с последними, рано или поздно хотя бы поверхностно знакомятся с Lisp. Ко второй группе отношусь и я, и я должен сказать, что код на Python лучше (в функциональном стиле?) пишет тот, кто знаком с Python и Lisp, чем тот¸ кто пишет только на Python. Возможно не все поймут последнее предложение, а Python-only программисты c ним, т.е. со мной, не согласятся ;)

Да, наша команда использует Common Lisp “в продакшин”, и я рад, что есть те, кто поддерживают необходимые для нас библиотеки. Я благодарен им. Программирование на Common Lisp интересней. Возможности обработки данных намного мощнее. Если получится доработать/починить некоторые библиотеки, которые нам нужны, я не против переписать весь python код на Common Lisp. Если это действительно получится, я обещаю выложить фиксы в отрытый доступ и посвятить пару блог-постов примерам и просто описанию этих библиотек.

GNU Screen 4.3.0

Posted in hacking, SuSE [ru] by anaumov on 14.06.2015

Мы рады сообщить о релизе GNU screen 4.3.0

Предыдущий стабильный релиз был более года назад (это была версия 4.2.1). Поэтому я решил наконец-то официально сделать “срез”, т.е. выпустить следующую стабильную версию. У нас нет фиксированного release-цикла, но в будущем мы планирую выпускать новые версии почаще. Скажем, 2 или даже 3 раза в год.

Что касается основых изменений:

  • X и x escape последовательности теперь будут показывать команду, которую пользователь передал в качестве параметра, при запуске screen.
  • Немного улучшена работа с зомби-окнами, хотя остается еще несколько спорных моментов.
  • Команда sort теперь упорядочит окна в алфавитном порядке.
  • Окна теперь можно перемещать вручную.
  • Команда windows позволяет работать с агрументами screen.
  • Много bugfixes (в том числе и не для GNU-систем).

Было добавленно несколько патчей из build-систем конкретных дистрибутивов (так как они теперь в git, из пакетов их естественно можно будет удалить). Во-первых, это сэкономит время/силы/нервы мантейнеров, во-вторых, разница между работой screen (одной и той же версии) в разных дистрибутивах теперь будет меньше.

У нас по-прежнему очень много открытых bugreports. Сейчас их более 200 (проект долгое время находился в состоянии летаргического сна). С моей стороны для следующей версии скорее всего будут только bugfixes этих репортов.

Я благодарен всем пользователям, которые уже помогли протестировать/воспроизвести некоторые баги (по моей просьбе) и просто принимали участие в обсуждениях.

Если меня не опередят, до конца следующей недели я постараюсь пересобрать пакеты для openSUSE и послать запросы (submit request) в соответствующие репозитории (c Tumbleweed у нас их получается уже 3).

Если кто-то захочет отравить patch, я напомню – авторство сохраняется и в самом git-комментарии и в git-заголовке author. Особо активные участники сообщества в качестве бонуса заносятся в man page, в раздел CONTRIBUTORS.

Скачать исходники 4.3.0 можно с ftp-сервера GNU.

SUSE Linux Enterprise 12 source packages

Posted in SuSE [ru] by anaumov on 15.05.2015

Новость неофициальная, поэтому ссылок на источник я не привожу.

В начале этого года (на FOSDEM) стало изветсно, что SUSE собирается опубликовать исходники пакетов для SUSE Linux Enterprise 12. Сами исходники действительно через пару месяцев были опубликованы. Об этом стало известно во время открытия openSUSE Conference, в начале этого месяца.

Открыты только исходники, а сам процесс сборки, т.е. создание репозиториев, ложится на плечи сообщества. SUSE не отвечает за собранные сообществом пакеты (как и RedHat не отвечает за пакеты в репозиториях CentOS).

Итак, чтобы получить репозиторий с необходимыми пакетами, достаточно в своем домашнем проекте создать subproject, который нужно слинковать с одним из двух опубликованных SUSE: SUSE:SLE-12:GA или SUSE:SLE-12:Update.

Пару дней назад я создал новый SLE12-проект, который слинковал с SUSE:SLE-12:GA. OBS до сих пор пересобирает в нем пакеты (их там почти 3000), но почти 2000 уже готовы. Только что я создал еще один проект для SLE-12:Update (их там почти 1000), так что к началу следующей неделе я, возможно, не только смогу удивить коллег, но и использовать SLE у себя дома как и openSUSE ;)

I’m going to openSUSE Conference 2015

Posted in Events, SuSE [ru] by anaumov on 17.04.2015

oSC15Уже менее чем через 2 недели, у нас, разработчиков openSUSE, снова выпадает возможность встретиться всем вместе. На этот раз конференция пройдет в Голландии, в городе Den Haag. Майские праздники пройдут на берегу Северного моря.

На этот раз моё путешествие начнется практически у самого подножия Альп, в Мюнхене, столице Баварии, откуда на рассвете я отправлюсь в столь любимый и родной Нюрнберг. В Нюрнберге, как вы помните, проходила наша первая конференция в 2009 году. Как и обычно, SUSE организует автобус для своих разработчиков и активных участников проекта. На этом поддержка разработчиков не заканчивается: так называемая Travel Support Program поможет с оплатой отеля. Совсем покрыть расходы за счет фонда не получится, но больше половины всей суммы я получаю из-за своего участия в проекте как майнтейнер.

Что из себя представляет эта конференция и почему стоит ее посетить? Сначала о двух главных изменениях, наметившихся за последние годы. Во-первых, конференция стала немного меньше. К сожаленью. Я помню когда ее посещало приблизительно столько же хакеров сколько и FOSDEM. Тем не менее, качество презентаций и вообще организация конференции на мой взгляд ничуть не уступают. Во-вторых, тематика стала намного шире. Если первая конференция целиком и полностью была посвящена openSUSE, то через 5 лет на ней выступают с докладами сотрудники Oracle и других компаний. Ее посещают разработчики как openSUSE так и других GNU-дистрибутивов.

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

Для меня лично посещение openSUSE Conference не похоже ни на одну из других Free Software конференций. На ней я встречаю своих бывших коллег, с которыми закончил свое обучение, с которыми прошел столь непростое и в то же время интересное время Novell/SUSE. Там же в это время я получил свой первый реальный рабочий опыт. Принципами, которые использовались там, я пользуюсь в работе до сих пор и вряд ли буду от них отходить в ближайшее время. Очередная конференция, как и любой подобный event, подразумевает обмен опытом, идеями и это всегда новые знакомства.

На openSUSE Conference можно будет сдавать экзамены LPI. Мой шеф обещает перенять расходы за сдачу экзамена. И хотя на подобных конферециях цена за экзамен не превышает и 100€, все равно приятно чувствовать поддержку. Сейчас я делаю уже второй LPI-сертификат, и его наличие обещает мне не только очередное повышение в зарплате, но это просто интересно.

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

Unable to find dynamic linker breakpoint function

Posted in debugging by anaumov on 28.03.2015

В каком случае мы получаем ошибку bash: ./file_name: No such file or directory?
До всерашнего дня я был уверен, что только в том случае, если нет такого файла или каталога, либо что-то не так с inode. Вчера получилось воспроизвести ситуацию, при которой при существующем файле и без каких-либо проблем с inode, bash все равно выбрасывал эту ошибку, если я пытался запустить существующий ELF-файл.

Давайте создадим какой-нибудь простенький бинарник. Для примера возьмем самую простую программу на С:

#include <stdio.h>
int main()
{
        printf("Hello world\n");
        return 0;
}

Скомпилируем её и получим обычный ELF-файл:

> gcc main.c -o main

>./main
Hello world

> ls -la main
-rwxr-xr-x 1 alex users 12544 Mar 28 12:27 main

> ldd main
        linux-vdso.so.1 (0x00007fff4b3fe000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f003c6be000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f003ca81000)

> file main
main: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 3.0.0,
BuildID[sha1]=f3d869a53c8264f07b5696a12261845c221db420, not stripped

читать дальше…

Common Lisp, MySQL and openSUSE

Posted in Lisp, SuSE [ru] by anaumov on 06.03.2015

functionalС недавних пор позволил себе наглость писать на Common Lisp’е (CL) на работе. Добрался до скриптов, которые до меня были написанны на perl’e, а точнее – понадобилось кое-что в них добавить, и я решил, что переписать их на CL будет и быстрее и полезнее для меня. Скажу сразу, что нет ничего, что можно сделать на CL, но нельзя, к примеру, на perl или python. Другим будет лишь подход к решению, несмотря на то, что, к примеру, на python тоже можно очень не плохо писать в функциональном стиле. Именно из-за этого подхода программисты CL находят его использование столь интересным, гибким и выразительным.
В этом посте я постараюсь показать, что в использование CL нет ничего сверхестественного. Дополнительные библиотеки, скачиваемые из интернета, стандартная библиотека языка… постораемся сделать что-то практическое. читать дальше…

A bit about POP3

Posted in security by anaumov on 05.02.2015

На сколько большая разница между такими понятиями как “делать” и “делать хорошо”? Я думаю, что каждый определяет это для себя сам. Зависит она от многих факторов, таких как например ответственность и квалификация сотрудников, рабочая атмосфера или просто умение начальника найти правильный подход к каждому из своих подчиненных (с целью повышения эфективности команды в целом).

Я практически забросил свой блог. Но об этом случае мне все же очень захотелось рассказать. Этот случай настолько банален, что я просто не могу пройти мимо. Я встречаю его постоянно. Наверняка в вашей сети есть что-то подобное. Я говорю не о технической части, а скорее о причинах, которые приводят к подобным курьезам. Для тех кто не знает: я работаю сетевым инженером; моя работа заключается в анализе клиентских сетей, а именно – поиске любых неполадок, анализе сетевого трафика, проверок систем безопасности и т.д.

Итак, как вы наверняка знаете, pop3 и imap передают информацию в открытом виде. В том числе и логин с паролем. По этой причине их использование без дополнительных технологий шифрования крайне нежелательно. Сервера, которые смотрят в интернет, как правило защищены как надо, но почему-то для внутренней инфраструктуры всегда применяются другие правила. В Германии есть такое понятие как “historische Gründe”. Очень распространенное. Дословный перевод – “историческая причина”, т.е. это эдакая причина, почему что-то работет не так как следовало бы, но при этом никто не делает никаких изменений, и все остается как есть. Что-то когда-то было настроенно не самым лучшим образом. На это конечно же тогда были причины. Но все остается как есть, и что-то менять, несмотря на то, что меняются сотрудники, меняется инфраструктура, никто не берется. В последствии это “не самым лучшим образом” перерастает в проблему.

читать дальше…

Chaos Computer Club meeting – 30 years ago

Posted in Hacker culture by anaumov on 28.12.2014

kernel-russian@kernelnewbies.org

Posted in C, Linux Kernel by anaumov on 24.11.2014

FLРешил немного расширить тематику нашей рассылки. Отныне тут можно пообщаться не только о ядре Linux, но и о обычном системном программировании.

Проекту уже несклько лет, но его продвижением никто не занимается. Трафик очень низкий, поэтому, думаю, никто не будет против, если рассылку можно будет использовать и для обычного системного или сетевого программирования на C. Если вы используете один из дистрибутивов GNU/Linux и интересуетесь С, не стесняйтесь подписываться, задавать вопросы, подкидывать идеи и просто принимать участие в обсуждении.

Кстати, пару часов назад я создал группу на github.com для этого проекта. Теперь нам не нужно выкладывать код то там то тут. Все активные учасники могут работать с проектами в одном месте (без необходимости ожидать подтверждения на разрешение сделать push).

openSUSE factory :: dumpe2fs

Posted in openSUSE by anaumov on 02.10.2014
# dumpe2fs 
dumpe2fs 1.42.12 (29-Aug-2014)
Segmentation fault

# echo $?
139

# dumpe2fs -h
dumpe2fs 1.42.12 (29-Aug-2014)
Segmentation fault

> rpm -qf `which dumpe2fs`
e2fsprogs-1.42.12-1.2.x86_64

> cat /etc/SuSE-release 
openSUSE 20140909 (x86_64)
VERSION = 20140909
CODENAME = Harlequin
# /etc/SuSE-release is deprecated and will be removed in the future,
use /etc/os-release instead

# ltrace dumpe2fs
__libc_start_main([ "dumpe2fs" ] 
setlocale(LC_MESSAGES, "")                        = "en_US.UTF-8"
setlocale(LC_CTYPE,"")                            = "en_US.UTF-8"
bindtextdomain("e2fsprogs", "/usr/share/locale")  = "/usr/share/locale"
textdomain("e2fsprogs")                           = "e2fsprogs"
set_com_err_gettext(0x401a00, 1, 1, 0x73676f72707366)                              = 0
add_error_table(0x605260, 1, 1, 0x73676f72707366)                                  = 0
__fprintf_chk(0x7f4fcb90f060, 1, 0x403b42, 0x403b3adumpe2fs 1.42.12 (29-Aug-2014)) = 31
getopt(1, 0x7fff9f754798, "bfhixVo:")                                              = -1
ext2fs_open(0, 0x29000, 0, 0 < no return ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

strace dumpe2fs…

openSUSE factory :: cool-retro-term

Posted in Qt, SuSE [ru] by anaumov on 14.09.2014

cool-retro-term

Die Hackerbibel

Posted in books, Germany, Hacker culture by anaumov on 04.09.2014

1985-00-00-hackerbibel-ccc-modemНи для кого не секрет, что львиная доля литературы о компьютерном андеграунде была написанна в США. Ничего удивительного в этом нет. Как мы знаем, истоки субкультуры берут свое начало в MIT. Но вот мало кто знает, что в ФРГ уже к середине 80х годов прошлого века существовала своя ветвь этой субкультуры. Да, имели место быть некоторые отличия, хотя в целом цели и идеология были схожи.
Я хотел бы рассказать о книге die Hackerbibel, которая вышла в середине 80ых годов. Написана она была на немецком, и, на сколько я знаю, её перевода на английский или другие языки нет. Книга представляет из себя крупноформатный двухтомник и содержит многочисленные статьи и рассказы из начальных периодов хаксцены (задолго до вечного сентября) по таким темам как творческое использование технологий и устройств, культура поведения в сети, хакерский этикет. Некоторые статьи к моменту публикации книг уже были опубликованны в других изданиях, например в der Datenschleuder, некоторые были написанны специально для die Hackerbibel.

В то время не было интернета, который мы знаем сегодня. Сеть представляла из себя дорогую в использовании и не столь преспособленную для коммуникации среду. Это было время таких технологий как Datex-P, а электронная почта была доступна совсем небольшому проценту населения (опять же, в основном из-за относительно высокой стоимости и необходимости использования know-how). Большинство стандарных протоколов будет созданно только в следующем десятилетии. Информация в сети была достаточно редким явленим, поэтому и цениласть на много больше. Надо отметить, что 30 лет назад материал подобного рода был не только качественней, но и написан был несколько в другой манере чем сегодня – он подогревал интерес к действиям и желанию досконально разобраться в принципах работы описываемых технологий. Он был пропитан духом альтруизма, морали, любви к вычислительной техники и сетевым технологиям.

Сегодня die Hackerbibel представляет из себя материал, относящийся уже к истории немецкой хаксцены. Тем не менее, просматривая книгу, я постоянно ловил себя на мысли, насколько же актуальны и по сей день темы статей и рассказов, встечающихся там. Эксплойты и бреши в системах защиты коммуникаций были так же популярны, как и сегодня. Те же многочисленные идеи по поводу нестандртного (творческого) использования технологий, а также трюки или советы по поводу сетевого доступа или просто сбора информации об удаленной системе, несмотря на то, что сами технологии и инструменты сегодня совсем другие.

Печатное издание сегодня будет достать практически невозможно. Я думаю, что если и получится найти, то только у CCC-ветеранов в крупных городах ФРГ. В цифровом варианте материал (не весь!) доступен onlene: первый и второй том.

ownCloud 7: release party

Posted in Events, fun by anaumov on 25.07.2014

ownCloud7_party

Спустя 8 месяцев разработки состоялся новый выпуск веб-приложения ownCloud 7 для разворачивания аналога Dropbox на собственных серверах.

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

В частности, теперь в ownCloud можно делиться любыми файлами в любых каталогах, а не только в специальном, как это было раньше. Администратору предоставляются дополнительные возможности: отключить предоставление общего доступа определённым пользователям или группам, установка защиты паролем, а также даты истечения доступности того или иного файла. Помимо этого был обновлён пользовательский интерфейс — в том числе добавлена поддержка мобильных устройств, улучшена скорость работы, добавлен новый диалог настройки электронной почты, переделана система уведомлений об активности. Было доработано управление пользователями: улучшена поддержка работы с группами, поиск, параметры фильтров и т.д.

источник

По этому случаю мы, как и всегда, решили собраться и отметить это событие. Release party в Нюрнберге состоится 5 августа, во вторник. Вход свободный. Буду рад там встреться с русскоязычными ребятами. Этот event – прекрасная возможность встретиться и пообщаться с разработчиками, задать им вопросы по поводу новыех features или просто послушать погдотовленные ими презентации. Ну и конечно же, плюс ко всему это просто хороший повод посетить столь любимый мной Нюрнберг ;)

Perl party :)

Posted in fun, hacking, openSUSE by anaumov on 18.07.2014
#!/usr/bin/perl

    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';

Attention…

Follow

Get every new post delivered to your Inbox.