Lg87 як я зібрав свій debian-дистрибутив на основі knoppix

Від перекладача: даний текст містить багато цікавої і корисної інформації, проте стиль викладу в оригінальній статті дуже "англійський" і, чесно кажучи, розхлябаний. Крім того, текст містив чималу кількість "псевдо-граматичних" помилок в іменах файлів і команд, які я вважав дуже істотними. Тому що приводиться переклад сильно перероблений і "русифікований". - Іван Песін.

Knoppix - це дистрибутив, заснований на Debian GNU / Linux. Він запускається і працює прямо з компакт диска. Містить велику кількість програм, що працюють на комп'ютері з мінімальним апаратним забезпеченням. Knoppix підтримує безліч графічних адаптерів, звукових карт, SCSI і USB пристроїв. Він може використовуватися як демонстраційний Linux, для навчання, відновлення систем або як основа демонстраційних версій комерційного ПЗ для Linux. Хоча для своєї роботи він і не вимагає установки на жорсткий диск, але, якщо ви бажаєте, то можете скористатися спеціальною програмою для перенесення системи на диск. В результаті, за 20 хвилин, ви отримуєте готову до використання установку Debian (Правда кирилізації в ньому далека від досконалості - Прим.пер.). Даний документ описує процес побудови призначеного для користувача дистрибутива на основі Knoppix. Моєю метою було додавання деяких програм, якими я часто користуюся. Якщо ви виявите помилки в цьому документі, будьте ласкаві, напишіть мені про це.

вимоги

a) Програмне забезпечення

Якщо у вас вже є образ, ви можете спробувати оновити його за допомогою rsync, як це описано нижче. Але не сподівайтеся на велику економію трафіку, оскільки образ knoppix стислий.

Якщо у вас є компакт-диск з knoppix, створіть його образ на диску за допомогою команди
# Dd if = / dev / cdrom of = knoppix.iso

б) Апаратне забезпечення

Комп'ютер з величезною кількістю пам'яті і вільного місця на диску. Я робив це на машині з Pentium 3 950MHZ / 128 mb RAM.

Початкова настройка

Звільніть якомога більше місця на диску. Для створення власної версії Knoppix вам знадобиться багато вільного простору. Я створив два нових розділу на моєму 20-ти Гбайтовом диску:

  • hda2, розміром 2 Гб для свопу
  • hda3, розміром 5 Гб для робіт зі створення свого дистрибутива (можна використовувати існуючий Linux розділ, якщо там є досить вільного місця)

Завантажте машину з диска Knoppix (Налаштовувати свій дистрибутив можна і після установки на жорсткий диск. Про те, як встановити knoppix на жорсткий диск можна прочитати тут.)

На запрошення почати завантаження натисніть клавішу [Enter]. Піде завантаження в графічному режимі. За замовчуванням це буде KDE. Це можна змінити при завантаженні, якщо потрібно. Створення нового дистрибутива я проводив в KDE. Передбачається, що ви вже трохи знайомі з Knoppix. Інформація про різноманітні опціях завантаження, знаходиться в файлі cheatcodes.txt на CD.

a) Налаштування мережі з меню KDE

Виберіть наступний пункт меню
K / Knoppix / network-Internet / Network-card-configuration

б) Налаштування розділів

Відкрийте шелл з правами суперкористувача з меню KDE (K / Knoppix / Root-shell). Ви повинні побачити запрошення "#"

Тепер потрібно визначити розділи. Я створив два розділи - 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):

У каталозі / KNOPPIX розташований файл, який теж називається KNOPPIX і займає близько 700Мб. Він містить стислий образ файлової системи. Нам досить змінити лише цей файл, а інше можна залишити як є (якщо вам не потрібно змінювати файли завантажувального образу і т.п.).

Установку і видалення ПО потрібно буде проводити в цьому дереві (якщо ви працюєте не в мережі, скопіюйте необхідні вихідні, наприклад, в / mnt / hda3 / KNOPPIX / root /. Якщо ж у вашому розпорядженні знаходяться не вихідні тексти, а deb-пакети - - то їх потрібно скопіювати в каталог / mnt / hda3 / KNOPPIX / var / cache / apt / archives). Тепер задати / 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 рядок:

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

Ви можете встановлювати і видаляти будь-яке програмне забезпечення за допомогою програм пакету 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 '' | 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

Тепер можна вільно використовувати цю програму для управління пакетами.

Після видалення непотрібних пакетів, можна приступати до налаштування дистрибутива. Якщо ви працюєте з установкою knoppix на диску і хочете запустити synaptic, перевірте в файлі / etc / X11 / xinit / xserverrc відсутність рядки -nolisten tcp. Крім того, виконайте команду xhost + з-під звичайного користувача)

Размонтіруйте файлову систему proc (Це дуже важливо)

Натисніть Ctrl + D для виходу з оточення зі зміненим кореневим каталогом.

подальші налаштування

1) Встановлення програм, що вимагають компіляції

Завантажте вихідні тексти необхідного програмного забезпечення після виконання команди chroot. Скомпілюйте і встановіть його. Якщо це графічне додаток, перед тестуванням слід визначити і експортувати змінну DISPLAY. Я використовував програму checkinstall asic-linux.com.mx/

izto / checkinstall / для установки і управління створених мною deb-пакетів.

Не забудьте видалити вихідні тексти після установки (вони будуть займати зайве місце на вашому компакті-диску).

2) Зміна налаштувань користувача

Є можливість задати пароль для користувачів. Просто встановіть його після виконання команди chroot.

3) Зміна фонової картинки

Фонова картинка за замовчуванням зберігається у файлі /usr/local/lib/knoppix.gif

4) Зміна екрану завантаження

В Knoppix для завантаження використовується 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.pnm
# ppmtolss16 logo.16
# Cp logo.16 /mnt/hda3/image/logo.16

(Намагайтеся, щоб розмір кінцевого файлу logо.16 був близько 50 k). Размонтіруйте каталог образу дискети та скопіюйте його на дискету:

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

Тепер спробуйте з неї завантажиться. Якщо вийде - значить все в порядку.

Редагуючи файл 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) ;; *)

Замініть "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 < [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" і всі написи дуже маленькі. Як це виправити?

5) У мене німецька розкладка клавіатури. Як її поміняти на англійську?

Відкрийте центр управління KDE, виберіть system -> keyboard і змініть розкладку на US English

Sunil Thomas Thonikuzhiyil