книги хакеры / журнал хакер / 136_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Самыйширокийвыбордистрибутивов
тей. Наэтойжестраницеможноподключитьсторонние репозиторииилизагрузитьотдельныеRPM. ВстандартныхрепозиторияхOpenSuse естьоколо8000 пакетов— в принципе, естьизчеговыбрать. Удобно, чтопривыборе пакетовотображаетсяразмеркакLiveCD, такиужеустановленнойсистемы.
3.Третийшаг— конфигурация. Насемивкладкахможно настроитьпрактическивсепараметрысистемы: языки часовойпояс, добавитьюзеров, изменитьлогоилиобои, сменитьrunlevel, настроитьсервераБД(толькоMySQL и PostgreSQL), включитьавтологинидобавитьвавтозапуск программы, настроитьпараметрывиртуальноймашины, задатьскрипты, выполняющиесяпризагрузкесистемы. Естьдажепримитивныенастройкифайрвола.
4.Собственно, выбортипареспина(LiveCD, образHDD/ Flash илиобразвиртуальноймашины) иегосборка. Сама сборкапроходитнаудивлениешустро— уменяэтозанималооттрехдодесятиминут.
Носамаяудобная, какмнепоказалось, фишкасервиса— это возможностьпротестироватьтолькочтосозданныйреспин прямовбраузере(функцияTestdrive). Дляэтоготебена
часвыдаетсявиртуальнаямашинаKVM. Дляболее-менее нормальнойработыэтойфункциинуженинетот2 Мбит/с.
Кзапущенномуреспинуможнобудетдажеподключиться поssh илиvnc. Жаль, чтоисходящиесоединениязаблокированы:). Внесенныевпроцессетестированияизменения можнобудетсохранитьспомощьюфункции«Modified Files», отображающейвсеизмененныесмоментазапускавиртуалкифайлы. Вцелом, Suse Studio производитвпечатление простого, удобного, стабильногои, вместестем, достаточно гибкогоинструмента. Этимобъясняетсяотносительно высокаяпопулярностьпроекта— внеделюздесьсобирают более4000 респинов. Единственныйминус(хотя, длякого как) — этоограниченностьввыборебазовогодистрибутива длясборки. Вобщем, must use длялюбителейSuse!
UBUNTU: РЕКОНСТРУКЦИЯ
Reconstructor, вотличииотпредыдущегопроекта, специализируетсянаDebian иUbuntu. Проект«условно-платный»
— послерегистрациикаждыймесяцтебеначисляется$5, которыеможнопотратитьнатеилииныеуслугипроекта. Стоитотметить, чтостоимостьуслугдовольнодемократична (например, сборкапроектастоит$0,3), поэтому$5 вмесяц особофантазиюнеограничивают. Прижелании, баланс можновлюбоймоментпополнитьчерезPayPal.
Присозданиипроектананачальномэтапевыбирается базовыйдистрибутив(намоментнаписаниястатьивыбор состоялизDebian 5, Ubuntu 9.04 и9.10 архитектурx86 и x86-64), DE (Gnome, KDE, Xfce илиText Only) итипреспина
(LiveCD илиобраздиска). Послесозданияпроектапредлагаетсявыбратьдополнительныепакетыизстандартного репозитория, входящиевтвойреспин(зависимостиразрешаются, ноэтоявнонеотображаетсявспискеустановлен-
Reconstructor. Офлайнверсия
ныхпакетов). Ксожалению, размердобавляемыхпакетов отображаетсябезучетазависимостей, поэтомуследитьза размеромконечногообразапроблематично. Кромепакетов изстандартногорепозитория, кпроектуможнодобавлять различныемодули, реализующиетотилиинойфункционал. Вотнекоторыеизних:
• APT REPOSITORY È UBUNTU PPA REPOSITORY — позволяют
добавитькпроектустороннийрепозиторий. Правда, в спискедоступныхдляустановкипакетовпакетыизэтих репозиториевнепоявятся, установкуизнихнадопрописыватьвспециальный«Post Script»;
• INSTALL DEB PACKAGE — установитьпроизвольныйdebпакет;
•SYSTEM UPGRADE — позволяетпровестиапгрейдсистемы;
•PRESEED — позволяетизменитьPreseed-файл;
•INSTALL FILE — позволяетзагрузитьфайлвпроизвольное
местовбудущейФС;
• РАЗЛИЧНЫЕ МОДУЛИ ДЛЯ УЛУЧШЕНИЯ ВНЕШНЕГО ВИДА: за-
даниятемы, обоев, иконок, стартовойстраницыFirefox ит.д. Послетого, каквсенеобходимыеизменениявнесены, можноначинатьсборкупроекта(кнопка«Build Project» влевом верхнемуглу). Твоезаданиенасборкувстанетвочередь, и черезнекотороевремя(взависимостиотнагруженности сервисаиобъематвоегозадания) тебенапочтупридет письмообокончаниипроцесса. Всемоипроектысобиралисьот10 минутдочаса. Собранныйпроектможноскачать втечениисемидней, послеонбудетудален. Примечательно, чтоисходникисамогоReconstructor распространяютсяполицензииGPLv3, поэтомутывполне можешьсамподнятьподобныйсервис.
Вцелом, Reconstructor — хороший, хотяинелишенный некоторыхнедостатков, сервис. Вминусыможнозаписать ограниченностьвыборабазовогодистрибутива, условную платность, невозможностьвычисленияконечногоразмера дистрибутивавпроцесседобавленияпакетов. Некоторыеизэтихнедостатковпризванарешитьофлайн версия, которуюможноскачатьсостраничкиwww. reconstructor.org/projects/reconstructor/files. Причем доступныдвередакции:
• RECONSTRUCTOR ENGINE — даннаяверсияпозволяетсобиратьпроекты, экспортированныеизвеб-интерфейса;
• RECONSTRUCTOR — «полноценная» версия, имеющаявсе тежефункции, чтоивеб-интерфейс, плюсещенесколько
WARNING |
warning
Будьостороженс автоматическимразбиениемвинта. Семь разотмерь, один— разбей!
HTTP://WWW
links
•Suse Studio: http://susestudio.com
•Reconstructor: https://reconstructor. org
•Instalinux: www.instalinux.com Ubuntu customization
•Ubuntu customization kit: http://uck. sourceforge.net
•Revisor: http://revisor. fedoraunity.org
•Calculate Linux Scratch: http://www.calculatelinux.org
•КоллекцияреспиновFedora. Незабудь выложитьсвой! :) http://spins. fedoraproject.org
•Отом, чтотакоеклоны, форки, дериваты, респиныиремиксы, можноузнатьиз статьиАлексеяФе-
дорчукаhttp://citkit. ru/articles/1442/.
XÀÊÅÐ 05 /136/ 10 |
089 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ИнтерфейсSuseStudio
|
|
|
|
длятого, чтобыначатьустановкусистемы. |
|
|
|
|
Instalinux предлагаеттакжевоспользоваться |
|
|
|
|
болеепродвинутойверсиеймастера, имеющей |
|
|
|
|
возможностьручногоредактированияполу- |
|
|
|
|
чившегосяPreseed/Kickstart/AutoYaST файла. |
|
|
|
|
Кстати, разработчикиобещаютскороепоявле- |
|
|
|
|
ниеподдержкипрофилей. Вцелом, приятный |
|
|
|
|
иполезныйсервис. Еслибыещенерядмелких |
|
|
|
|
недоработок! Вчастности, неоченьпрора- |
|
|
|
|
ботанаконфигурацияCentOS (чтопризнают |
Revisor |
|
|
самиразработчикисервиса). Например, уменя |
|
|
|
принесколькихконфигурацияхприпопытке |
||
|
|
|
|
установкисистемывыдавало: «Установочное |
|
|
|
|
деревоCentOS вэтомкаталогенесоответствует |
интересных. Таккакперваяредакция— это, |
OpenSUSE, Scientific, Ubuntu. И, наконец, |
вашемузагрузочномудиску». |
||
посути, тольколокальныйсборщик, обратим |
в-третьих, навыходеполучитсянетрадици- |
ДАЕШЬОЧЕРЕДНОЙ |
||
пристальноевниманиенавторую. Вотличиеот |
онныйLiveCD/инсталлятор, аnetinstall-образ, |
|||
веб-интерфейса, онапозволяетснебольшой |
которыйприустановкескачиваетвсенеобхо- |
*BUNTU! |
||
погрешностьюотслеживатьразмербудущего |
димоеизинета. Специальныймастерпозво- |
Ubuntu customization kit — ещеоднаофлайно- |
||
респина. Крометого, естьвозможностьзапуска |
ляетза6 шаговзадатьосновныепараметры |
ваяпрогадлякастомизациисамогопопуляр- |
||
терминалавchroot-окружениибудущейсисте- |
будущейсистемы. Кроместандартныхязыка, |
ногодистрибутива. Срелизаjaunty входитв |
||
мы, чтооткрываетпрактическинеограничен- |
раскладкиичасовогопоясаможноопреде- |
официальныйрепозиторий. Новсежелучше |
||
ныевозможностипокастомизации. Потенци- |
литьсясразбивкойвинта(либоразбиватьвинт |
скачатьпоследнююверсиюсофициального |
||
альноинтереснатакжеэкспериментальная |
автоматически, либонастраиватьразбиение |
сайта. Длянормальнойработыпроситнеменее |
||
функциязапускаиксоввchroot (правда, каки |
впроцессеустановки). Другойважныйшаг— |
5 Гбсвободногоместавдомашнейпапкеидо- |
||
положеноэкспериментальнойфункции, уменя |
выборпакетов, входящихвбудущуюсистему. |
ступвинет. Процесссозданияреспинасостоит |
||
онанезаработаланинаоднойизтестовыхма- |
Пакетыможновыбиратькакгруппами(ставя |
изследующихшагов: |
||
шин). Также, какиувеб-интерфейса, уофлайн |
галочкивчекбоксах), такипоодиночке(пропи- |
•Настройкадоступныхвсистеме, атакжепри |
||
версииестьмодули— специальныескриптына |
сываяназванияпакетоввспециальноеполе). |
запускеLiveCD, языков; |
||
Bash, выполняющиесяпередокончательной |
Последнийшаг— заданиерутовогопароля |
• ВыборDE (варианты: kde, gnome, others). |
||
сборкойсистемы. Ещеизинтересныхфункций |
(илипароляпользователявслучаесUbuntu) и |
Можноничегоневыбирать— получимсистему |
||
присутствуют: возможностьудалитьсдискавсе |
проверкаконфигурации. Послеэтогопоявится |
безDE; |
||
Windows-приложения(Firefox, Thunderbird и |
возможностьскачатьISO. Размеробразаможет |
• НаэтомшагенадоуказатьсистеменаISO- |
||
т.д.) ивозможностьнастройкизапускающихся |
варьироватьсявзависимостиотдистрибутива. |
образоригинальнойUbuntu (Kubuntu, Xubuntu, |
||
состартомсистемысервисов. |
Например, образUbuntu сXfce занимаетвсего |
etc); |
||
МАСТЕРНАВСЕРУКИ |
чутьбольше12 Мб, авотFedora 12 сLXDE - целых |
• ВыборназванияCD; |
||
227 Мб(естьподозрение, чтоэто, скорее, багсер- |
• Хотимлимывручнуюнастроитьнашреспин? |
|||
Еслидварассмотренныхвышесервиса, в |
виса). Скоростьскачиванияобразанерадует— у |
Конечнохотим! Иначеполучитсястандартный |
||
принципе, похожидругнадруга, тоInstalinux |
меняонанепревышала30 Кб/с, хотяпритаких |
дистрибутив; |
||
отличаетсяотнихкардинально. Во-первых, |
размерахэтонекритично. КромесамогоISO, на |
• УдалитьливсеWindows-приложениясCD? |
||
никакойрегистрации— простозаходинасайти |
страницезагрузкиможноскачатьполучившийся |
• Наследующемшагеможнозапуститьвchroot |
||
начинайработать! Во-вторых, поддержкаряда |
конфигPreseed, Kickstart илиAutoYaST. Загру- |
Synaptic, консольилипродолжитьсборку |
||
крупныхдистрибутивов: CentOS, Debian, Fedora, |
зившисьсполучившегосяобраза, набериInstall |
дистрибутива. Поумолчаниювключенытолько |
||
|
|
|
|
репозиторииmain иrestricted, поэтомувыбор |
|
|
|
|
пакетовдовольноскуден. Чтобыпоправить |
АВТОМАТИЗАЦИЯ УСТАНОВКИ |
|
|
|
этуситуацию, вSynaptic, вменюSettings- |
Снезапамятныхвременвовсехдистрибутивахестьтехнология, позволяющаяавто- |
Repositories, нужновключитьрепозитории |
|||
матическиотвечатьнавопросыустановщика. Вобщемслучаеэтовыглядиткакфайлс |
universe иmultiverse иобновитьсписокпаке- |
|||
определеннымименемвопределенномформате, лежащийнадиске(хотяонуспешно |
тов. Еслиестьжеланиеболеетонконастроить |
|||
можетнаходитьсяигде-нибудьвсети). ВDebian иегопоследователяхданнаятехнология |
систему(например, сменитьобоиуLiveCD) — |
|||
называетсяpreseed, вFedora (Red Hat, CentOS ит.д.) — kickstart, вOpenSuse — AutoYaST. |
можнозапуститьконсольвchroot. Небольшой |
|||
Подробнееобэтомможнопочитатьздесь: |
|
|
совет: выходитьизконсолинадокомандойexit, |
|
http://wiki.debian.org/DebianInstaller/Preseed |
|
|
анепростозакрываятерминал— иначепроект |
|
http://fedoraproject.org/wiki/Anaconda/Kickstart |
рискуетнесобраться. |
|||
http://en.opensuse.org/AutoYaST |
|
|
• Когдавсенастройкизакончены, можносмело |
|
|
|
|
|
жать«Continue building». Дальшевсезависит |
090 |
XÀÊÅÐ 05 /136/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
SuseStudio TestDrive
отмощноститвоегокомпа— уменянаноутевсесобралось минутза10.
ФЕДОРИНОГОРЕ
Длядругогопопулярногодистрибутива, Fedora, тожеесть удобныесредствадлясозданияреспинов. ЭтоGUI-прога
Revisor искриптLivecd-creator сCLI-интерфейсом. Revisor
представляетсобойаналогUCK иReconstructor дляFedora. Пожалуй, единственноесущественноеотличие— этото, что длясозданияреспинанетребуетсяLiveCD, всепакетыбудут скачаныизинета.
Revisor естьвстандартномрепозиторииFedora, начиная сседьмойверсии, поэтомуустановканедолжнавызвать сложностей:
Ubuntu customization kit |
|
# yum install livecd-tools spin-kickstarts |
INFO |
l10n-kickstarts |
|
Чемсоздаватьснулясвойконфиг, прощевзятьготовыйи |
|
немногоегоподредактировать. Готовыеконфигилежатв |
info |
/usr/share/spin-kickstarts. СоздаетсяLiveCD изконфига |
PPA (Personal |
следующимобразом: |
Packages Archive) |
|
— персональный |
# livecd-creator --config=/usr/share/ |
репозиторийдля |
spin-kickstarts/fedora-livecd-desktop.ks |
Ubuntu, расположен- |
--fslabel=Fedora-LiveCD --cache=/var/cache/ |
ныйнасайтеhttp:// |
live |
launchpad.net компа- |
|
нииCanonical. |
|
# yum install revisor
ДлянормальнойработыкакRevisor, такиLivecd-creator лучшеперевестиSELinux вразрешающийрежим:
# setenforce 0
ДлязапускаRevisor нужнырутовыепривилегии. Напервом шагемастерапредлагаетсявыбратьтипреспина(CD/DVD инсталлятори/илиLiveCD). Второйшаг— выборсобираемой модели. Тутнадонемногопояснить: восновномконфигура-
ционномфайле/etc/revisor/revisor.conf описаны«Модели»
(специальныесекциивконфиге, содержащиеособенности сборкитойилиинойверсииFedora). Основнаяхарактеристикаконкретноймодели— репозитории, откудабудут скачаныпакеты. Поумолчанию, Revisor вFedora 12 может собратьмоделиFedora 12 иFedora Rawhide дляархитектур x86, x86-64 иPPC. Добавляяописаниемоделейвконфиг, можнонаучитьRevisor собирать, например, Fedora 11 и Fedora 13. Наследующемшагеможноуказатьkickstart-файл
ивыбрать, какиесекцииизнегоиспользовать. Четвертый шаг— выборПО. Ивоттутменяждаланеприятность: список пакетовотказалсявыстраиватьсявгруппы, поэтомупакеты пришлосьвыбиратьизбольшогообщегосписка(долго, и естьнехилаявероятностьзабытьчто-нибудьнужное). Видимо, неисправленныйбагвRevisor, что, впринципе, неудивительно— проектдавнонеразвивался(последняяверсия вышлаажвдекабре2007). Послевыборапакетовпокажется короткаястатистка(количествопакетов, объемдлязагрузки, объемвустановленномвиде). Следующиешаги— настройкасети, заданиепараметровзагрузкиядра, параметры аутентификации, настройкафайрвола, SELinux, X Window
исозданиепользователя. ПоокончаниинастройкиRevisor скачаетвсевыбранныепакетыизинетаиначнетсборку. Вся этапроцедурауменянавиртуальноймашинезанялаоколо получаса. Livecd-creator — менеекапризныйиболеегибкий, нонесовсеминтуитивнопонятныйинструмент. Этатулза создаетLiveCD, основываясьнаконфигурационномфайле, синтаксискоторогосовпадаетсkickstart.
Установкаlivecd-creator (входитвсоставlivecd-tools):
XÀÊÅÐ 05 /136/ 10
Всенеобходимыепакетытакжебудутскачаныизинета.
USERFRIENDLY GENTOO
ЛегкопостроитьсвойреспинможнодаженабазеGentoo, причемвсегозанесколькошагов. Толькодляэтогонадо воспользоватьсяспециальнымсредствомCalculate Linux Scratch (CLS). CLS — этополностьюсовместимыйсGentoo дистрибутив, предназначенныйдлясозданиясобственных
LiveCD/LiveUSB. КромебазовойверсиисOpenBox, есть такжеверсиясGnome (CLSG). ЧтобывоспользоватьсяCLS, надовыбратьвменюзагрузкиLiveCD пунктBuilder. Загру- зитсяобычнаянапервыйвзглядLive-система, вкоторой потомможнобудеттестироватьвнесенныеизменения. Длятогочтобыперейтинепосредственноксборке, следует ввести:
# cl-builder
Послевыполнениякомандыцветприглашенияизменится накоричневыйивыполнитсяchroot в/mnt/builder, гдеи будетпроисходитьсборка. Вэтомрежимеможноустанавливать, обновлять, удалятьпрограммыбезкаких-либо ограничений. Послетогокаквсенеобходимыеизменения внесены, можновыйтиизрежимасборки(набравexit или <Ctrl+D>) ипротестироватьизменениявLive-системе. Если всеустраивает, томожнозапуститьсборкусвоегоLiveCD:
# calculate --iso
Образбудетсозданв/usr/calculate/share/linux. ЕслиОЗУне достаточно, тонаэтомэтапевсеможетобломиться, поэтому рекомендуюзаранееподмонтироватькэтомукаталогу какой-нибудьболее-менееемкийrw-носитель.
HAPPY END
Практическидлякаждогопопулярногодистрибутиваможно найтиудобноесредстводлясозданияреспина: будьтовеб илилокальноеприложение. Нокакбытонибыло, ничтоне дастстолькоэкспывэтойобласти, каксборкаLinux from Scratch... z
091
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
UNIXOID |
|
|||
|
|
|
|
|
|
|
|
|
Евгений Зобнин zobnin@gmail.com |
||||||
|
|
|
|
|
|
|
|
m |
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Сумасшедшие идеинастоящих гиков
Использованиестандартныхутилит длярешениянестандартныхзадач
ПриверженцыUNIX-системнепростопользователи, этолюдиспытливымумом, любовьюквелосипедостроениюинепреодолимымжеланием доказатьсвоюгиковость. Ониготовыпотратитьнеодинчассвободного времени, чтобынайтинетривиальноерешениепростойпроблемыили доказательствовозможностиеерешенияспомощьюнепредназначенныхдляэтогосредств. Ивсеэторадиудовольствия.
HTTP-СЕРВЕР СВОИМИРУКАМИ
МиниатюрныйHTTP-сервер,собранныйизподруч- ныхкомпонентов,остаетсяоднойизсамыхлюбимыхтемсовременныхгиков.Ониготовынаписать егобуквальнонавсем,начинаяотпростогоисполь- зованиякомандыnetcatна80-портуизакачивая языкомPostScript,используемымдляформатированиятекстапередвыводомнапринтер.Блоггер поимениАлексейСвечниковвзялсязаэтутемуи написалHTTP-сервернаbashразмеромвсего222
байта(http://alexey.sveshnikov.ru/blog/2006/12/23/ http-сервер-размером-в-222-байта/).Сначалався идеясводиласькгорячолюбимомуUNIX-админа- мирудиментарномусерверусиспользованиемnc, примеркоторогоприведенниже:
server$ nc -l -p 8080 < file client$ x-www-browser http://192.168.0.1:8080
Нозатемпримеробросфункционаломипре- вратилсявHTTP-сервер, способныйотдавать
файлыпозапросуисписокфайловтекущего каталога. Нижеприведенапереработанная версияскриптаАлексея, котораякорректно работаетсgoogle chrome иизбавленаотбага сфайлами, имеющимивназваниисимволыв верхнемрегистре:
$ while true; do nc -vv -l -p 8080 -c '( read a b c; file=`echo $b | sed 's/ [^a-zA-Z0-9.]//g'`; if [ a$file = "a" ]; then ls -l; else cat $file; fi )'; sleep 1; done
Всеэтооднакоманда. Серверотдаетфайлы текущегокаталога, длязапросаспискакоторых достаточнопростообратитьсяккорневомукаталогу. Послевыборафайладобавляемегоимяв адреснуюстрокуиблагополучноскачиваемна своюмашину. НекотороевремяспустяАлексей реализовалболеепродвинутуюверсиюсервера, котораяумеетотдаватьHTTP-заголовки(адля файловвместесразмеромиMIME-типом), обрабатываетошибку404 иотдаетполноценный
index.html. Ееоднострочныйоригиналиразвернутыйвариант, удобныйдлячтенияианализа, тынайдешьнаприлагаемомкжурналудиске. ЕщеболеегиковыйвариантHTTP-сервераиме- етсянастраничкеMartin A. Godisch. Онпошел дальшевсехостальныхивоспользовалсядля написаниясерверанекаким-нибудьbash или awk, аязыкомпрограммированияPostScript, которыйбылразработанAdobe Systems для описаниясложныхграфическихобъектови подготовкипечатныхизданий. Исходныйтекст сервераслишкомвелик, чтобыпродемонстрироватьегонастраницахжурнала, нотыможешь получитьего, обратившиськстраничкеhttp:// people.debian.org/~godisch/pshttpd илизаглянув внутрьнашегодиска.
ДЕМОНЗАКАЧЕК НАБАЗЕCUPS
МенеджерпечатиCUPS,ставшийстандартом вUNIX-системах,обладаетнесколькимиочень привлекательнымихарактеристиками,которые позволяютиспользоватьеговкачествеменеджера
092 |
XÀÊÅÐ 05 /136/ 10 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Виртуальныепринтерысcwget-бэкендом
любыхочередей,ккоторымнеобходимудаленныйдоступи расстановкаприоритетов.Есливтвоемраспоряженииимеется машина,которуютысобираешьсяиспользоватьдлязакачки файлов,тоCUPSпозволитейсправитьсясэтойзадачейбез необходимостиустановкидополнительногософтаитанцевс бубном.АлгоритмдействийпопревращениюCUPSвдемон закачекследующий:
1. Дляначаланапишемскриптcwget.sh, которыйбудет осуществлятьзакачкуфайловивызыватьсяприведенным нижеCUPS-бэкендом:
$sudovi/usr/local/sbin/cwget.sh
#!/bin/sh DOWNLOAD_DIR=$1 cd
mkdir -p "$DOWNLOAD_DIR" cd "$DOWNLOAD_DIR"
/usr/bin/wget -nc -i "$2" >/dev/null 2>&1
Сделаемегоисполняемым:
$ sudo chmod +x /usr/local/sbin/cwget.sh
2. ТеперьсоздадимспециальныйCUPS-бэкенд, который будетприниматьдобавленныевочередьURL иотдаватьих вышеописанномускрипту:
$sudovi/usr/lib/cups/backend/cwget
!/bin/sh
if [ $# -eq 0 ]; then
echo 'cups wget "Unknown" "Cups wget downloader"'
exit 0 fi
# Каталог для закачек DOWNLOAD_DIR=/var/tmp
umask 0 TMPFILE=/tmp/cwget$$ cat "$6" > $TMPFILE /bin/chmod +r $TMPFILE
/usr/bin/sudo -H -u $2 /usr/local/sbin/cwget. sh "$DOWNLOAD_DIR" "$TMPFILE"
rm /tmp/cwget$$
Дадимемуправанаисполнение:
$ sudo chmod +x /usr/lib/cups/backend/cwget
3. Чтобыпозволитькодубэкендаиспользоватьsudo для
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
||||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Справочнаястраницаaucat(1)
запускаскриптаcwget.sh срутовымиполномочиями, |
|
|
|
|
|||
разрешимпользователюlp, справамикоторогозапускаются |
|
|
|
|
|||
CUPS-задания, делатьэтобеззапросапароля: |
|
|
|
|
|||
|
|
|
|
HTTP://WWW |
|
|
|
$sudovisudo |
|
|
|
|
|||
lp |
ALL=(ALL) NOPASSWD:/usr/local/sbin/ |
|
|
links |
|||
cwget.sh |
|
• КомпиляторАссем- |
|||||
|
|||||||
|
|
|
блеранаbash: |
||||
4. Настроимнесколькопринтеровчерезweb-интерфейс, |
|||||||
http://slashdot.org/ |
|||||||
указаввкачествеихбэкендаcwget (смотрискриншот«Вир- |
articles/01/02/ |
||||||
туальныепринтерысcwget-бэкендом») иобъединимихв |
15/046242.shtml |
||||||
класс, чтобыполучитьвозможностьодновременнойзакачки |
|
|
|
|
|||
болеечемодногофайла(смотрискриншот«Объединяем |
• Использование |
||||||
виртуальныепринтерывкласс»). |
спулерапечатидля |
||||||
5. Все, теперьможноотсылатьзадания(URL) навиртуальный |
воспроизведения |
||||||
принтер. Сделатьэтоможно, например, так: |
mp3-файлов: |
||||||
|
|
|
www.xakep. |
||||
$ echo 'http://kernel.org/pub/linux/kernel/ |
ru/magazine/ |
||||||
v2.6/linux-2.6.33.tar.bz2' | lpr -Ppcwget |
xa/062/110/1.asp |
OPENBSDИБЕЗОПАСНЫЙГОЛОСОВОЙЧАТИЗКОРОБКИ
Open'овскаяутилитаaucat, изначальносозданнаядляпроигрывания«сырых» звуковыхфайловсрасширением.au, современемоброслафункциональностьюисегодняможет использоватьсядлямногихцелей, включаяразличныепреобразованиязвуковогопотокаврежимереальноговремени, атакжевозможностьприменениявкачествеполноценного аудиосервера, способногосмешиватьзвуковыепотоки, порождаемыедругимиинстанциямиaucat. Известныйв OpenBSD-кругаххакерпоимениРайанФлэниривосполь- зовалсяэтойвозможностьюдлясозданияпростойсистемы голосовогочата, нетребующейустановкикакого-либо дополнительногоПО. Идея, положеннаявееоснову, такова: 1.Запуститьaucatврежимесерверанадвухудаленных машинах.Работаяврежимесервера,aucatподключитсякуст- ройствамвводаивыводазвукаисоздастUNIX-сокет,чтениеиз которогоприведеткчтениюданныхизустройстваввода(мик- рофон),азапись—кзаписивустройствовывода(колонки).
2. Запуститьвторойпроцессaucat вобычномрежимена первоймашинеиперенаправитьеговыводпроцессуaucat, работающемунавтороймашинеспомощьюssh. Врезультатевходнойпоток, полученныйсмикрофонаинаправленный серверомaucat вUNIX-сокет, будетпрочитанaucat-про- цессомиперенаправленнаудаленнуюмашину, гдеего прочитаетудаленныйaucat-процессизапишетвUNIX-сокет собственногоaucat-сервера. Такзвуксмикрофонапервой машиныпопадетвколонкивторой.
3. Повторитьшаг2 навтороймашине, чтобысоздатьобратнуюсвязь.
INFO |
info
PostScript — язык описаниястраниц. Предназначендля формированияизображенийпроизвольнойсложности ивыводаихна печать.
XÀÊÅÐ 05 /136/ 10 |
093 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
UNIXOID
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Объединяемвиртуальныепринтерывкласс