ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

Как я собрал свой Debian-дистрибутив на основе Knoppix

Sunil Thomas Thonikuzhiyil, перевод И.Песин,Linux Gazette

Введение.

href="knoppixa.shtml">Knoppix -- это дистрибутив,

основанный на Debian GNU/Linux. Он запускается и работает прямо с

компакт диска. Содержит большое число программ, работающих на

компьютере с минимальным аппаратным обеспечением. Knoppix

поддерживает множество графических адаптеров, звуковых карт, SCSI и

USB устройств. Он может использоваться как демонстрационный Linux,

для обучения, восстановления систем или как основа демонстрационных

версий коммерческого ПО для Linux. Хотя для своей работы он и не

требует установки на жесткий диск, но, если вы желаете, то можете

воспользоваться специальной программой для переноса системы на диск. В результате, за 20 минут,

вы получаете готовую к использованию установку Debian (

Правда

кириллизация в нем далека от совершенства - Прим.пер.). Данный

документ описывает процесс построения пользовательского

дистрибутива на основе Knoppix. Моей целью было добавление

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

ошибки в этом документе, будьте добры, напишите

href="mailto:sunil_tt@yahoo.com">мне об этом.

Требования

a) Программное обеспечение

Для начала вам необходимо загрузить образ CD Knoppix с сайта.

Новая версия появляется каждые одну-две недели в двух вариантах:

немецком и английском. Я работал с версией 31-10-2002-EN.

Если у вас уже есть образ, вы можете попробовать обновить его

при помощи rsync, как это описано ниже. Но не надейтесь на большую

экономию трафика, поскольку образ knoppix сжатый.

Если у вас есть компакт-диск с knoppix, создайте его образ на

диске при помощи команды

# dd if=/dev/cdrom of=knoppix.iso

Переименуйте полученный образ Knoppix так, чтобы имя файла отражало

версию дистрибутива. Например:

KNOPPIX_V3.1-23-10-2002-EN.iso

Допустим, необходимо обновить его до KNOPPIX_V3.1-31-10-2002-EN.iso

Для этого переименовываем KNOPPIX_V3.1-23-10-2002-EN.iso

в KNOPPIX_V3.1-31-10-2002-EN.iso и выполняем команду:

# rsync -P --stats

ftp.leo.org::Knoppix/KNOPPIX_V3.1-31-10-2002-EN.iso .

(Можно использовать любой другой сайт knoppix. Только проверяйте

номер последней доступной версии.)

б) Аппаратное обеспечение

Компьютер с огромным количеством памяти и свободного места на

диске. Я делал это на машине с Pentium 3 950MHZ/128 mb RAM.

На самом деле это не совсем так. Для работы дистрибутива

достаточно 16 Мбайт ОЗУ. Если вы хотите запускать графику -- нужно

82 Мб ОЗУ, часть из которых может быть файлом подкачки (это будет

отражаться на скорости работы). Но если вы собираетесь делать свой

дистрибутив, то вам понадобится по-минимуму: 5 Гбайт свободного

дискового пространства и 1 Гбайт свободной памяти (ОЗУ + своп). К

процессору явных требований нет, но у меня на Athlon XP 2000+ образ

диска паковался за 20 минут, а на PIII 450 около полутора часов. -

Прим.пер.


Начальная настройка

Освободите как можно больше места на диске. Для создания

собственной версии Knoppix вам понадобится много свободного

пространства. Я создал два новых раздела на моем 20-ти Гбайтовом

диске:

  • hda2, размером 2Гб для свопа
  • hda3, размером 5Гб для работ по созданию своего дистрибутива

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

    достаточно свободного места)

Загрузите машину с диска Knoppix (Настраивать свой дистрибутив

можно и после установки на жесткий диск. О том, как установить

knoppix на жесткий диск можно прочитать

href="

http://www.freenet.org.nz/misc/knoppix-install.html">здесь.)

На приглашение начать загрузку нажмите клавишу [Enter]. Последует загрузка

в графическом режиме. По умолчанию это будет KDE. Это можно

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

проводил в KDE. Предполагается, что вы уже немного знакомы с

Knoppix. Информация о разнообразных опциях загрузки, находится в

файле cheatcodes.txt на CD.

a) Настройка сети из меню KDE

Выберите следующий пункт меню

K/Knoppix/network-Internet/Network-card-configuration

Поскольку мой компьютер подсоединен к локальной сети, я настроил

IP-адрес, маску, сервер имен и шлюз. Этот шаг очень важен,

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

расположенное на других серверах.

б) Настройка разделов

Откройте шелл с правами суперпользователя из меню KDE (K/Knoppix/Root-shell). Вы

должны увидеть приглашение "# "

Запустите cfdisk

Теперь нужно определить разделы. Я создал два раздела -- hda2,

размером 2 Гб и hda3, размером 5 Гб

В 2-х Гбайтовом разделе я разместил своп (/dev/hda2)

В 5-ти Гбайтовом -- создал корневую файловую систему

(/dev/hda3)

Теперь нужно сохранить информацию о разделах.

Выходите из cfdisk

Для создания сжатой файловой системы необходимо много свободного места в

разделе подкачки. Этот раздел инициализируется командами:

# mkswap /dev/hda2

# swapon /dev/hda2

Кроме того, можно использовать файл подкачки.

Создадим файловую систему ext2 на 5-ти гбайтовом разделе :

#mke2fs /dev/hda3

Смонтируем созданную файловую систему:

# mount /dev/hda3 /mnt/hda3

Лучше выполнять команду mount -o dev /dev/hda3 /mnt/hda3 -

Прим. пер.

Основные приготовления к созданию собственного дистрибутива

закончены.


Установка и удаление программного

обеспечения

Приблизительная схема организация CD-диска knoppix приведена

ниже (Поправьте меня, если я ошибаюсь. Она может выглядеть иначе,

если смотреть из windows или другого дистрибутива Linux):

/--demos

|--talks

|--index.html

|--autorun.bat

|--autorun.inf

|--knoppix.ico

|--KNOPPIX

|--KNOPPIX

|--boot.img

|--background.gif

|- (некоторые другие файлы)

В каталоге /KNOPPIX расположен файл, который тоже называется

KNOPPIX и занимает около 700Мб. Он содержит

href="http://www.knopper.net/download/knoppix/cloop.README">сжатый

образ файловой системы. Нам достаточно изменить лишь этот файл,

а остальное можно оставить как есть (если вам не нужно

изменять файлы загрузочного образа и т.п.).

a) Копирование файла KNOPPIX на жесткий диск

При загрузке Knoppix сжатый образ монтируется в каталог

/KNOPPIX. Необходимо его скопировать на диск, в рабочий раздел. Я

выполнил это командой

# cp -Rp /KNOPPIX /mnt/hda3/

(Опция "-R" выполняет рекурсивное копирование, а

"-p" сохраняет владельца, время доступа и пр.). В

результате, все необходимые файлы для работы будут находится в

каталоге /mnt/hda3/KNOPPIX/. Загляните туда.

б) Chroot

Установку и удаление ПО нужно будет проводить в этом дереве (если

вы работаете не в сети, скопируйте необходимые исходники, например,

в /mnt/hda3/KNOPPIX/root/. Если же в вашем распоряжении находятся не исходные тексты, а deb-пакеты --

то их нужно скопировать в каталог

/mnt/hda3/KNOPPIX/var/cache/apt/archives). Теперь задать

/mnt/hda3/KNOPPIX в качестве корневого каталога:

# chroot /mnt/hda3/KNOPPIX

Дальше по тексту будет неоднократно встречаться фраза "после выполнения

команды chroot". Под этим подразумевается, что ранее была выполнена

команда "chroot /mnt/hda3/KNOPPIX". Т.е. работа ведется в окружении с измененным

корневым каталогом -

Прим.пер.

В результате вы снова увидите приглашение "#" (Если

будет выводится сообщение "/dev/null permission denied",

просто нажмите Ctrl+C)

(Лучшим решением указанной проблемы

будет монтирование с опцией dev: mount -o dev /dev/hda3 -

Прим.пер.)

Указанный каталог (/mnt/hda3/KNOPPIX) стал корневым (в

действительности -- это /mnt/hda3/KNOPPIX).

Далее необходимо смонтировать файловую систему "proc".

Это делается следующей командой

# mount -t proc /proc proc

в) Настройка сети

Добавьте в файл /etc/resolv.conf строку:

nameserver ip-адрес-вашего-сервера-имен

(У меня была смешная проблема: /etc/resolv.conf -- это

символическая ссылка на /etc/dhcp/resolv.conf. Ping не работал. Я

удалил ссылку, создал файл /etc/resolv.conf заново и всё

заработало. Убедитесь, что вы восстановили ссылку после внесения необходимых

изменений)

Проверьте свой IP-адрес с помощью команды ifconfig (он должен

быть таким же, как и до применения команды chroot). Попробуйте

пропинговать google.com. Если пинг проходит -- ваша сеть настроена

правильно, и вы можете воспользоваться командой apt-get update.

г) Установка/удаление

Вы можете устанавливать и удалять любое программное обеспечение

при помощи программ пакета APT (Advanced Packaging Tool). Поскольку оригинальный компакт содержит

массу установленных программ, это может оказаться не простой

задачей. Ниже приведен частичный список пакетов, которые я

удалил:

Игры

falconseye-data

rocks-n-diamonds

amor

nethack-x11

gnome-games-locale

xboard

gnocatan-client

imaze

kmahjongg

gnome-gnibbles

freeciv-gtk

ktuberling

gnocatan-help

ksirtet

gnome-gnobots2

jumpnbump

ksnake

xgalaga

lskat

katomic

kshisen

konquest

chromium

ktux

moon-buggy

kmoon

ksame

gnuchess

ktron

frozen-bubblekjumpingcube

fortune-mod

kodo

gnocatan-ai

gnocatan-server-console

gnocatan-server-data

nethack

821

fortunes

searchandrescue

xbill

kspaceduel

libkdegames

tipptrainer-data-dexconq

gcompris

gnome-chess

tuxracer-data

abuse-frabs

gnome-gnotski

frotz

kblackbox

gnome-games

gnome-gtali

gnome-iagno

gnome-stones

gnocatan-server-gtk

lxdoom-x11

maelstrom

kabalone

gnome-gnotravex

fortunes-min

chromium-data

kdegames

pingus-data

task-kde-games

stax

gnome-card-games

xtris

xtux

kjezz

lxdoom

Не свободные

x3270

xanim festlex-oald

netscape-java-477

j2re1.3

3270-common

tgif

giflib-bin

frotz xfractint

giflib3g communicator-smotif-477

netscape-base-477

maelstrom communicator-base-477

gimp1.2-nonfree

acroread

lha

unarj

xsnow

Разнообразные пакеты

tetex-base

tetex-extra

j2re1.3

lyx

acroread

qcad

rocks-n-diamonds

kde-i18n-da

kde-i18n-it

kde-i18n-de

kde-i18n-fr

kde-i18n-ru

(не рекомендую удалять ;-) - Прим.пер.)

kde-i18n-nl

kde-i18n-ja

kde-i18n-es

kde-i18n-cs

kde-i18n-pl

kde-i18n-tr

xfonts-intl-chinese

kword

kpresenter

abiword-gtk

karbon

kchart

kformula

kivio

koffice-libs

kontour

koshell

kspread

Я скопировал весь этот список в файл (назовем его

"kicklist") и ввел команду:

# dpkg -P `cat kicklist`

Она удалила все пакеты из списка (обратите внимание на обратные

кавычки).

Чтобы посмотреть список установленных пакетов большого размера,

введите:

#dpkg-awk "Status: .* installed$" -- Package

Installed-Size| awk '{print $2}' | egrep -v '^$' |

xargs -n2 echo | perl -pe 's/(S+)s(S+)/$2 $1/' | sort

-rg

На моём диске Knoppix 3.1 от 20.01.03 утилита dpkg-awk

отсутствовала - Прим.пер.

Результатом будет список пакетов, отсортированных по убыванию

размера.

Наконец, запустите deborphan для поиска ненужных пакетов

# deborphan > /tmp/orphanlist

Рекомендую тут выполнить команду less /tmp/orphanlist и

посмотреть, что вы будете удалять - Прим.пер.

# dpkg -P `cat /tmp/orphanlist`

# rm /tmp/orphanlist

Есть и другой способ установки и удаления программ -- это

графический фронт-энд synaptic к apt.

Для его установки, введите команду:

# apt-get install synaptic

Перед запуском synaptic нужно установить и экспортировать

в среду окружения переменную DISPLAY:

#DISPLAY=myip:0.0 (замените myip вашим настоящим IP)

#export DISPLAY

#synaptic

Установку переменной DISPLAY можно выполнить немного

проще:

# export DISPLAY="localhost:0.0"

в таком варианте не нужно задавать IP-адрес. - Прим.пер.

Теперь можно свободно использовать эту программу для управления

пакетами.

После удаления ненужных пакетов, можно приступать к настройке

дистрибутива. Если вы работаете с установкой knoppix на диске и

хотите запустить synaptic, проверьте в файле

/etc/X11/xinit/xserverrc отсутствие строки -nolisten tcp. Кроме

того, выполните команду xhost + из-под обычного пользователя)

Размонтируйте файловую систему proc (Это очень

важно)

#umount /proc

Нажмите Ctrl+D для выхода из окружения с измененным корневым

каталогом.

Дальнейшие настройки

1) Установка приложений, требующих компиляции

Загрузите исходные тексты необходимого программного обеспечения после выполнения команды chroot.

Скомпилируйте и установите его. Если это графическое приложение,

перед тестированием следует определить и экспортировать переменную

DISPLAY. Я использовал программу checkinstall

href="

http://www.linuxgazette.com/issue87/asic-linux.com.mx/~izto/checkinstall/">

asic-linux.com.mx/~izto/checkinstall/ для установки и

управления созданных мною deb-пакетов.

Не забудьте удалить исходные тексты после установки (они будут

занимать лишнее место на вашем компакте-диске).

2) Изменение настроек пользователя

Есть возможность задать пароль для пользователей. Просто

установите его после выполнения команды chroot.

3) Изменение фоновой картинки

Фоновая картинка по-умолчанию хранится в файле

/usr/local/lib/knoppix.gif

4) Изменение экрана загрузки

В Knoppix для загрузки используется

href="http://syslinux.zytor.com/">syslinux. Если вы хотите

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

каталог на диске (например, /mnt/hda3/image)

Скопировать файл boot.img из каталога KNOPPIX:

# cp /KNOPPIX/boot.img /mnt/hda3

Смонтировать этот образ командой:

# mount -t msdos -o loop /mnt/hda3/boot.img /mnt/hda3/image

Теперь загляните в этот каталог. Там много интересных файлов.

a) Картинка, отображаемая при загрузке

файл logo.16 -- это картинка, которая выводится при загрузке.

Она записана в специальном формате. Для ее замены создайте 16-ти

цветную картинку размером 640*400. Например, я загрузил картинку с

сайта gnu.org. Сохраните ее в формате png (назовем файл logo.png).

Теперь выполните следующие команды:

# pngtopnm <logo.png >logo.pnm

# ppmtolss16 <logo.pnm >logo.16

# cp logo.16 /mnt/hda3/image/logo.16

(Старайтесь, чтобы размер конечного файла logо.16 был около 50

k). Размонтируйте каталог образа дискеты и скопируйте его на

дискету:

# dd if=boot.img of=/dev/fd0

Теперь попробуйте с неё загрузится. Если получится -- значит все

в порядке.

б) syslinux.cfg

Редактируя файл syslinux.cfg, вы можете менять число параметров,

передаваемых ядру. За дополнительной информацией, обратитесь к

странице руководства syslinux.

5) Изменение ядра ( **** Не проверено ****)

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

Скопируйте ядро и модули в файл boot.img, замените

/lib/modules/2.4.19-xfs модулями вашего ядра.

Замените файлы в каталоге /boot.

Хоть сам и не пробовал, но мне кажется, что в этой процедуре

будет много нюансов. Например, следует установить переменную

EXTRAVERSION равной "-xfs", не забыть необходимые

переменные настройки ядра и пр. Так что, если будете пробовать --

придется экспериментировать. - Прим.пер.

6) Изменение оконного менеджера по-умолчанию на Gnome/

icewm

Изменить оконный менеджер по-умолчанию очень просто. После

выполнения команды chroot, откройте файл

/etc/init.d/knoppix-autoconfig и найдите в нем следующие

строки:

---------------------------------------

#Also read desired desktop, if any (

установить переменную,

отвечающую за выбор оконного менеджера)

DESKTOP="$(getbootparam desktop 2>/dev/null)"

# Allow only supported windowmanagers (

обрабатывать только

поддерживаемые менеджеры)

case "$DESKTOP" in

gnome|kde|larswm|xfce|windowmaker|wmaker|icewm|fluxbox|twm) ;;

*)

DESKTOP "KDE"; ;; esac

---------------------------------------

Замените "KDE" на "gnome" и всё!

7) Удалите все временные файлы

  • Посмотрите, нет ли в каталоге /root скрытых файлов, вроде

    .bash_history и .viminfo

  • Удалите все deb-файлы в каталоге

    /var/cache/apt/archives

  • Запустите скрипт knoppix.clean ( Будьте осторожны, выполняйте

    его только после команды chroot )

(* Тут будет ссылка к скрипту *)

Сборка нового диска

a) Создание ISO-образа

1) Создайте новый каталог в /mnt/hda3

Я назвал его NewCd. Скопируйте в него с компакт диска (он

смонтирован в каталоге /cdrom) все файлы, кроме файла со сжатым

образом (KNOPPIX). Каталоги demos и talks можно не копировать.

2) Создайте свой сжатый образ:

# mkisofs -R /mnt/hda3/KNOPPIX | create_compressed_fs -

65536 > /mnt/hda3/NewCD/KNOPPIX/KNOPPIX

Я бы предпочел использовать команду, приведенную в

документации и немного подправленную для увеличения приоритета:

# mkisofs -R -U -V "KNOPPIX.net filesystem" -P

"KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes

-no-bak -pad /mnt/hda3/KNOPPIX | nice -n -10

/usr/bin/create_compressed_fs - 65536 >

/mnt/hda3/NewCD/KNOPPIX/KNOPPIX - Прим.пер.

3) Создайте образ вашего нового диска:

# cd /mnt/hda3

# mkisofs -r -J -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -o

myknoppix.iso NewCd

Снова привожу команду из документации:

# mkisofs -pad -l -r -J -v -V "KNOPPIX" -b

KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o

myknoppix.iso NewCD - Прим.пер.

б) Проверка образа загрузочной дискеты

Создайте загрузочную дискету командой:

# dd if=/mnt/hda3/KNOPPIX/boot.img of=/dev/fd0

Скопируйте сжатый образ в каталог /KNOPPIX на любом разделе. При

загрузке с дискеты, скрипт будет искать файл /KNOPPIX/KNOPPIX на

всех разделах жесткого диска. Это упрощает проверку. Когда вы

добьетесь желаемого результата, запишите образ на CD

Часто задаваемые вопросы

1) Как отменить автостарт konqueror?

Для отмены автоматической загрузки konquerоr вам необходимо

модифицировать файл /etc/X11/Xsession.d/45xsession. Найдите в нем

такие строки:

-------------------------------------------

if [ -e "$INDEXFILE" ]; then

cat >> $HOME/Desktop/KNOPPIX.desktop <<EOF

[Desktop Entry]

Name=KNOPPIX

Exec=kfmclient openProfile webbrowsing $INDEXFILE

Type=Application

Icon=html

Terminal=0

EOF

ln $HOME/Desktop/KNOPPIX.desktop

$HOME/.kde/Autostart/showindex.desktop

fi

-----------------------------------------

Они создают файл автозагрузки. Закомментируйте их.

2) Я загрузил knoppix и смонтировал жесткий диск. Как мне

скопировать что-либо на жесткий диск при помощи команды scp?

Откройте шелл.

Установите пароль для пользователя knoppix.

Запустите ssh (/etc/init.d/ssh start)

Теперь можно использовать scp

3) Я хочу выполнить команду su, как это сделать?

Установите пароль пользователя root, командой sudo passwd

Введите пароль для пользователя root

Теперь можно выполнять команду su

4) По-умолчанию загрузка происходит в режиме "frame

buffer" и все надписи очень маленькие. Как это исправить?

Смонтируйте boot.img.

Откройте файл syslinux.cfg в редакторе.

Возле слов "Default vmlinuz" замените

"VGA=791" на "VGA=normal"

5) У меня германская раскладка клавиатуры. Как ее поменять на

английскую?

Откройте центр управления KDE, выберите system ->keyboard и

измените раскладку на US English

Ссылки

Я обработал большое количество материала по следующим ссылкам.

Много полезной информации я получил на IRC канале #knoppix сервера

irc.freenode.net.

1)

href="http://home.bellsouth.net/p/PWP-tech2k">Домашняя страница

Tech2k

Сильно помог в написании этого документа Кен Бурк (Ken

Burk). Его сайт содержит великолепную информацию, к

которой всегда можно обратиться. Очень хорошо написана и его

страница по созданию собственного дистрибутива (kix remastering

page).

2)

href="http://knoppix.net/">Knoppix.net

Неофициальный сайт knoppix -- хороший источник информации. Там

регулярно появляется информация о пользовательских доработках

дистрибутива.

3)

href="http://www.linuxtag.org/forum/">Форум Knoppix на сайте

linuxtag

Этот сайт представляет смесь информации на немецком и английском

языках. Хороший источник информации о knoppix.


При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2016