Собрать ядро — это не страшно. Debian-way.

Posted on January 2nd, 2009 in linux, manual by RiZN

Сборка ядра — это забавно и познавательно. Для начала нам понадобятся некоторые пакеты:
sudo aptitude install debhelper gcc make modutils kernel-package libncurses5-dev
Скачаем свежее ядро с http://www.kernel.org/ в архиве tar.bz2
Полученный архив распакуем:
tar --bzip2 -xvf linux-source-2.6.*
Перейдём в созданную директорию с ядром и настроим его
cd linux-source-2.6.* && sudo make menuconfig
В подробности настройки вдаваться не буду, но скажу лишь, что главное правило это «не уверен — не трогай»
Очистим параметры kpkg
sudo make-kpkg clean
Теперь самая длительновыполняемая команда — компилируем
sudo make-kpkg --initrd --revision=myfirstbuild.1.0 kernel_image
,где myfirstbuild.1.0 это произвольное имя сборки
По окончанию сборки ставим образовавшийся пакет
sudo dpkg -i ../linux-image-2.6.*.deb
Самое время перезагрузиться и в меню загрузчика выбрать новое ядро.
Если же оно не загрузилось, всегда можно загрузить предыдущее ядро и грузиться с него.

wireless-tools — прекрасная замена wicd и прочим GUI-свистелкам

Posted on December 30th, 2008 in linux, manual, tips, wi-fi by RiZN

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

Итак, для начала убедимся, что wireless-tools установлен.
aptitude search wireless-tools

i A wireless-tools                                                 - Tools for manipulating Linux Wireless Extensions

Литера «i» в начале строки говорит о том, что пакет установлен. Если же там значится «p», нужно поставить этот пакет командой sudo aptitude install wireless-tools, только озаботьтесь этим вопросом до попадания в условия отсутствия проводного интернета =)
Далее, посмотрим, какие беспроводные сети нам доступны.
sudo iwlist scan
Но для первого знакомства в выводе этой программы будет много ненужной информации. Поэтому сделаем так:
sudo iwlist scan | egrep "ESSID|Quality|Encryption key"
На выходе получаем список из имени сети (ESSID), качества сигнала (Quality) и наличия шифрования (Encryption key).
Если сигнал удовлетворительный (более 50, например) и шифрование отсутствует (либо присутствует, но ключ известен), можно приступать к подключению.
В начале зададим имя сети с помощью команды
sudo iwconfig имя_устройства essid "имя_сети"
Узнать имя устройства можно с помощью

sudo iwconfig


Теперь идёт шаг только для зашифрованных сетей. Задаём ключ сети
sudo wpa_supplicant "ключ_сети"
И последнее, получаем настройки сети с помощью службы DHCP
sudo dhclient имя_устройства
После завершения работы программы проверим, работает ли у нас созданное подключение
ping ya.ru
Приятной работы в консоли =)

John The Ripper и md5

Posted on March 2nd, 2008 in linux, manual, soft by RiZN

Случилось мне тут забыть один свой пароль. Имелся только 128-битный md5-хэш пароля, причём записанный plaintext’ом, который был когда-то сгенерён программой md5sum. Для восстановления паролей по хэшам очень удобно использовать утилиту John The Ripper. Но есть одна проблемка, она (точнее он, John, всё-таки) не умеет работать с raw-md5.
Решение проблемы было отгуглено не сразу, спасибо друзьям на помощь и тыкание в правильные ссылки :)
Начнём с того, что нужно скачать исходники с официального сайта и распаковать их в какую-либо директорию. Например,
mkdir john #создаём директорию 'john'
cd john #переходим туда
wget http://www.openwall.com/john/f/john-1.7.2.tar.bz2 #и скачиваем тарбол с сорцами (на момент написания, самая свежая — 1.7.2)
tar -xvf john-1.7.2.tar #разархивируем
cd john-1.7.2 #переходим в папку с сорцами
wget ftp://ftp.openwall.com/pub/projects/john/contrib/john-1.7.2-all-9.diff.gz #качаем diff-архив с фиксом
gzip -d john-1.7.2-all-9.diff.gz #разархивируем
patch -p1 < john-1.7.2-all-9.diff #применяем патч
cd src # переходим в директорию, откуда будем собирать Джонни
make # собираем
make clean linux-x86-any # собираем, причем платформу можно (и нужно) выбрать свою
cd ../run #переходим в директорию с компилированной программой
./john -format=raw-MD5 /путь/до/файла/my_forgotten_md5-hash.txt #запускаем и ждём результатов

Замечу, что хэш должен лежать в формате user:hash, например
user:60ddb868550a7f0dece5379390bb71ea

Но лучше не забывайте свои пароли ;)

Сверим часы?

Posted on February 1st, 2008 in manual, ntp, tips by RiZN

В современное время модно быть пунктуальным. Но как синхронизировать время на персональных компьютерах, КПК и прочей электронике? Для этого умные люди придумали NTP (Network Time Protocol) — сетевой протокол для синхронизации времени. Чтобы проверить, нуждается ли ваш компьютер в синхронизации, воспользуйтесь этим замечательным сервером.

Mobatime Systems предоставило два сервера для синхронизации, находящиеся по адресам ntp.mobatime.ru и time.mobatime.ru.
Чтобы быстро подкорректировать часы вашего компьютера под управлением линукс, введите в командной строке c правами рута ntpdate ntp.mobatime.ru (аналогично и со вторым сервером, если вдруг первый будет недоступен).

Системное приглашение на прокачку

Posted on June 22nd, 2007 in bash, linux, manual, tips by RiZN

Хммм, блог так и не добавился (это я про прошлый пост). Ну да ладно.
Что можно настроить “под себя” в линуксе? Да всё, что угодно. Одним таким способом тюнинга любимой оси мы и займёмся. Когда человеку надоедает работа в иксах, он перелезает в консоль и радуется большому спектру возможностей, высокой производительности и прочим преимуществом отсутствия графических свистелок. А что главное в консоли? Системное приглашение, конечно же. Именно его-то мы и настроим. Работать будет в bash, пользуясь её распространенностью.
Дефолтное системное приглашение выглядит примерно вот так:
user@host:directory$ -- для юзера и
root@host:directory# -- для рута

Скучно и уныло. Возможно, я всегда работаю на локальной машине и отображение хоста лишь занимает лишнее место и мешает. А может, мне хочется всегда быть в курсе точного времени, да и вообще, хочу красиво и в цвете! Нет ничего проще, если читать маны. Для таких же ленивцев, как и я, возникла идея написать русскоязычное пособие по настройке системного приглашения bash.

ies4linux

Posted on April 9th, 2007 in linux, manual, soft, tips by RiZN

Очень многие люди не могут перейти на линукс по причине отсутствия какого-то кривого виндового софта в линуксе. Например, в моём вузе иногда нужно проходить онлайн-тестирование. Сайт тестирования написан на asp.net и оптимизирован только под Internet Explorer… Хотя слово “оптимизирован” немного неверно, вернее было бы сказать “работает только в IE”. Но так как от винды я отвык ровно на столько, на сколько привык к безглючности линукса, пришло время искать альтернативу. Она была найдена в программе IEs4Linux. Сей проект является скриптом для корректной работы Microsoft Internet Explorer с помощью Wine.
Рассмотрим пошагово, как сие чудо поставить:
Сначала нужно проверить наличие в списке репозиториев (/etc/apt/sources.list) вот этих строк
deb http://us.archive.ubuntu.com/ubuntu edgy universe
deb http://wine.budgetdedicated.com/apt edgy main

Сохраняем файл. Теперь добавим в систему gpg-ключ для второго источника:
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
А теперь знакомой командой обновляем сведения о доступных к установке приложений
sudo apt-get update
Инсталлируем Wine:
sudo apt-get install wine cabextract
Теперь загрузим архив с IEs4Linux, распакуем его и установим:
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux

После ввода последней команды надо будет ответить на несколько несложных вопросов и вуаля – на рабочем столе появилась новая иконка – утопленная в рюмке буква “е” :)
Собственно всё. Никаких перезагрузок в винду ради костыля от microsoft ;)

Как восстановить grub

Posted on March 15th, 2007 in linux, manual, tips by RiZN

Многие, держа на одном винте Linux и Windows, сталкиваются с такой вот проблемой, при очередной переустановке по какой-либо причине винды, эта зло-ось трёт загрузчик линукса из mbr (master boot record) и линукс становится недоступен. В этом случае есть выход, довольно простой, который я сейчас и опишу. Чтобы решить эту проблему нужно нескольно вещей:

  • LiveCD линуксового дистрибутива. (у меня стоит Ubuntu, поэтому беру именно его)
  • Знать, на каком диске стоит, собственно, линукс (например hda1)
  • Знать номер раздела, где установлен grub, представляющий собой специфический идентификатор, который grub использует для идентификации каждого раздела жесткого диска (например, для первого жесткого диска – hd0).

Приступим. Грузимся с LiveCD и открываем консоль. Первым делом нужно залогиниться под рутом sudo su и создать новую пустую директорию mkdir /mnt/hd где /mnt/hd – это то, куда мы будем монтировать раздел с линуксом.
Далее, монтируем в эту директорию раздел командой
mount -t ext2 /dev/hda7 /mnt/hd где ext2 – файловая система, установленная на разделе, /dev/hda7 – расположение раздела, /mnt/hd – куда будем монтировать.
Чрутимся в примонтированный раздел
chroot /mnt/hd и запускаем grub grub Видим “grub>” – приглашение к вводу команды. Пишем “root (“, после чего нажимаем клавишу Tab для того, чтобы grub вывел список распознанных жестких дисков. Используя идентификатор раздела жесткого диска с линуксом (подробнее почитать можно тут), вводим имя раздела (например, hda7 распознался grub’ом как hd0,5), но для каждого конкретного случая надо убедиться в том, что идетификатор выбрал правильный. Итак, в итоге получаем команду root (hd0,5) где hd0,5 меняем в зависимости от ситуации и радостно жмем Enter. Теперь осталось лишь набрать setup (hd0,5) для переустановки grub’a и exitдля выхода. Всё! Перезагружаем компьютер и радуемся. :)

Настройка VPN в ubuntu linux

Posted on February 21st, 2007 in linux, manual, vpn by RiZN

В те далекие времена, когда я выбирал будущего провайдера, передо мной стоял вопрос: домашняя сеть или ADSL. С одной стороны, у первого варианта были плюсы в виде внутренних файлохранилищ и ресурсов, но был и (на мой взгляд) существенный минус – использование VPN. И если с точки зрения безопасности, решение это довольно хорошее, то в настройке это представляло определенные грабли. Я-то выбрал ADSL и не знаю ни одной проблемы с настройкой сети. Для тех же, кто еще сидит под виндой из-за того, что неполучилось настроить VPN в линуксе, посвящается:
Пошаговая настройка VPN в системе Ubuntu Linux.

Первым делом надо поставить пакет для работы с протоколом pptp, на котором и основаны большинство виртуальных сетей. Создатели репозиториев уже позаботились о наших проблемах, поэтому установка сводится к

sudo aptitude install pptp-linux

После установки создадим конфиги, для этого введем

touch /etc/ppp/options

и с помощью текстового редактора впишем:

name your_login
remotename vpn
defaultroute
noauth
asyncmap 0
crtscts
lock
hide-password
local
noproxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

Также создадим /etc/ppp/options.pptp и впишем туда следующую строку:

lock noauth nobsdcomp nodeflate

Ещё один файл – /etc/ppp/chap-secrets, который будет содержать логин и пароль для интернета.

your_login vpn your_password

И последний файл /etc/ppp/peers/vpn, в который положим настройки VPN

mtu 1372
mru 1500
persist
maxfail 0
lcp-echo-interval 60
lcp-echo-failure 4
defaultroute
pty “pptp vpn_path –nolaunchpppd”
name your_login
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam vpn

В приведенных выше файлах your_login заменить на свой логин к VPN, your_password на свой пароль, а vpn_path – на адрес vpn-сервера.
Осталось только выполнить

sudo pptp ip_адрес_vpn_шлюза

По идее, всё должно работать :)

Пара слов об обновлении Kubuntu

Posted on February 6th, 2007 in linux, manual by RiZN

В прошлые выходные обновлял kubuntu 6.06 LTS Dapper Drake.
Для осуществления поставленной задачи у меня было:

  • Компьютер средней конфигурации
  • Относительно широкий канал до интернетов (1 Мбит/с)
  • вышеназванная ось
  • Относительно прямые руки
  • Около 4 часов времени

Порядок обновления довольно прост: первым делом надо сделать бэкап системы в целом (если есть желание), либо только самых важных данных (как сделал я). Бэкап хорошо бы закинуть куда-нибудь подальше, во избежание :)
Следующим шагом надо открыть файл со списком репозитариев – в debian-based дистрибутивах его можно найти по адресу /etc/apt/sources.list Так как файл системный, открыть надо с правами рута:kdesu kate /etc/apt/sources.listВ файле видим списки репозитариев – сайтов, с которых менеджер пакетов aptitude скачивает и ставит софт и обновления. Если перед адресом стоит deb, значит это репозитарий с компилированными программами, если же deb-src, то там находятся исходники программ, которые можно закомментировать перед обновлением, чтобы не тянуть лишние мегабайты. Для этого перед строкой ставим “#”, например# deb-src http://ru.archive.ubuntu.com/ubuntu/ dapper universeТеперь самое важное – нужно заменить все упоминания о “dapper” на “edgy”. Это можно сделать вручную или с помощью замены (в Kate, к примеру). Теперь сохраняемся и выходим из иксов с помощью нажатия ctrl+alt+bkspc.
Залогинившись в консоли остается ввести всего пару команд:sudo aptitude updateЭта команда нужна для того, чтобы aptitude поискал по новым адресам обновления, иsudo aptitude dist-upgradeдля, собственно, установки этих обновлений. Эта операция займет несколько часов (скачается более гигабайта информации), можно иногда поспрашивает о зависимостях. После чего произойдет настройка и можно грузится в иксы и наслаждаться изменениями :)