Splashy

Если вы хотите смотреть не на листинг процесса загрузки операционной системы, а на более интересную картинку, пакет splashy вам в этом поможет.

Для начала поставим саму программу и темы оформления:

hp:~# apt-get install splashy splashy-themes

Теперь нужно выставить другое разрешение при загрузке. Для этого отредактируем файл /boot/grub/menu.lst. В нём есть строка загрузки ядра:

kernel /boot/vmlinuz-2.6.30-custom root=/dev/sda2 ro quiet

Меняем её на:

kernel /boot/vmlinuz-2.6.30-custom root=/dev/sda2 ro quiet vga=0x317 splash

Таким образом при загрузке будет установлено разрешение 1024×768 и будет использоваться splashy для отображения splash screen’а. 🙂

У меня я явно указываю какой видеодрайвер нужно использовать, поэтому строка выглядит немного иначе:

kernel /boot/vmlinuz-2.6.30-custom root=/dev/sda2 ro quiet video=intelfb:1024×768-16@60 vga=0x317 splash

На этом всё. Остаётся только вопрос, как посмореть доступные видеорежимы? В этом поможет утилита hwinfo.

hp:~# hwinfo —framebuffer
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.450]
Unique ID: rdCR.il6towt04X5
Hardware Class: framebuffer
Model: «Intel(r) 82945GM Chipset Family Graphics Controller»
Vendor: «Intel Corporation»
Device: «Intel(r) 82945GM Chipset Family Graphics Controller»
SubVendor: «Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS»
SubDevice:
Revision: «Hardware Version 0.0»
Memory Size: 7 MB + 704 kB
Memory Range: 0xc0000000-0xc07affff (rw)
Mode 0x0305: 1024×768 (+1024), 8 bits
Mode 0x0317: 1024×768 (+2048), 16 bits
Mode 0x0318: 1024×768 (+4096), 24 bits
Mode 0x0312: 640×480 (+2560), 24 bits
Mode 0x0314: 800×600 (+1600), 16 bits
Mode 0x0315: 800×600 (+3200), 24 bits
Mode 0x0301: 640×480 (+640), 8 bits
Mode 0x0303: 800×600 (+832), 8 bits
Mode 0x0311: 640×480 (+1280), 16 bits

Компиляция ядра — это просто

Рано или поздно пользователь операционной системы GNU/Linux приходит к необходимости сборки ядра. Не миновала эта участь и меня, и делаю я это следующим образом.

Для начала устанавливаю необходимые пакеты:

hp:~# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential udev

Затем скачиваю с kernel.org свежую версию ядра. На текущий момент — 2.6.30:

hp:~# cd /usr/src
hp:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2

Распаковываю архив с исходниками и делаю символическую ссылку на исходники:

hp:/usr/src# tar xjf linux-2.6.30.tar.bz2
hp:/usr/src# ln -s linux-2.6.30 linux
hp:/usr/src# cd linux/
hp:/usr/src/linux#

Теперь нужно сконфигурировать ядро. За основу возьмём уже имеющуюся конфигурацию:

hp:/usr/src/linux# make clean && make mrproper
hp:/usr/src/linux# cp /boot/config-`uname -r` ./.config

Непосредственно конфигурирование запускается так:

hp:/usr/src/linux# make menuconfig

Далее я захожу в General Setup, жму «Local version — append to kernel release» и ввожу там: «-custom«, чтобы однозначно идентифицировать пакет с мною собранным ядром. После завершения конфигурирования, нужно сохранить сделанные настройки. Жму «Save an Alternate Configuration File».

Теперь скомпилируем ядро и соберём его в пакет:

hp:/usr/src/linux# make-kpkg clean
hp:/usr/src/linux# fakeroot make deb-pkg

Процесс этот довольно долгий, можно успеть выпить пару стаканов чая и выкурить пару сигарет, если кто курит.

После завершения компиляции нужно установить пакет и обновить загрузчик, указав ему на наличие нового ядра:

hp:/usr/src/linux# cd ..
hp:/usr/src# dpkg -i linux-2.6.30-custom_2.6.30-custom-1_i386.deb
hp:/usr/src# update-initramfs -c -k 2.6.30-custom
hp:/usr/src# update-grub

На этом всё. Теперь можно перегрузить компьютер и если всё было сделано правильно, в списке доступных ядер будет свежее ядро. 😉

У меня всё получилось, надеюсь и у вас тоже.

alexey@hp:~$ uname -a
Linux hp 2.6.30-custom #1 SMP Wed Jun 17 12:52:06 NOVST 2009 i686 GNU/Linux

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

Shoutcast — ваше собственное онлайн-радио

Создадим каталог для Shoutcast и скачаем программу:

warehouse:~# mkdir /usr/local/shoutcast
warehouse:~# cd /usr/local/shoutcast/
warehouse:/usr/local/shoutcast# wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz

Теперь нужно отредактировать файл sc_serv.conf. Так как я планирую ретранслировать интересное мне радио, мною были внесены изменения следующих параметров:

Password=MySecretPass
ScreenLog=0
RelayPort=8000
RelayServer=http://some.online.radio:8004

Теперь остаётся только запустить его:

warehouse:/usr/local/shoutcast# ./sc_serv sc_serv.conf &

Теперь можно взять любой плеер, поддерживающий потоковое аудио и открыть сетевое радио по адресу http://warehouse.center:8000

Если бы в нашей сети были желающие побыть в роли диджеев, можно было бы донастроить сервер на приём данных от них и вещание сетов в сеть. Но так как таковых у нас пока нет, обходимся тем, что есть. 🙂

Маскарадинг в моей сети

Как организовать раздачу интернета через шлюз под управлением Debian GNU/Linux? Очень просто. 😉

Разрешим пересылку пакетов:

gateway:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Создадим файл ipmasq.sh в котором будут прописаны правила для iptables:

#!/bin/sh

# “внешний” интерфейс, “смотрящий” в интернет

EXTIF=”eth1″

# внутренний интерфейс в локальную сеть

INTIF=”eth0″

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -F INPUT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F OUTPUT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F FORWARD
/sbin/iptables -t nat -F

# разрешаем прохождение пакетов извне в локальную сеть только для установленных соединений

/sbin/iptables -A FORWARD -i $EXTIF -o $INTIF -m state –state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Теперь, если запустить этот файл, интернет будет доступен всем машинам в локальной сети. 🙂

Как я уже упоминал ранее, у меня был разрешён доступ по связкам mac-ip, чтобы пользователи не меняли свои ip адреса и не пользовались “чужим интернетом”. Реализовать это тоже довольно просто. Строку

/sbin/iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

Нужно заменить, например, на следующий набор правил:

/sbin/iptables -A FORWARD -s 192.168.0.1 -d 0.0.0.0/0 -m mac –mac-source 00:15:e9:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.2 -d 0.0.0.0/0 -m mac –mac-source 00:15:f2:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.3 -d 0.0.0.0/0 -m mac –mac-source 00:13:8f:xx:xx:xx -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.0.4 -d 0.0.0.0/0 -m mac –mac-source 00:15:60:xx:xx:xx -j ACCEPT

Таким образом машинам с ip адресами 192.168.0.1 — 192.168.0.4 будет разрешён доступ в интернет. Компьютерам с другими ip адресами в интернет выйти не получится.