книги хакеры / журнал хакер / 133_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 |
|
|
|
|
НАСТОЛЬНАЯКНИГАКАЖДОГОУВАЖАЮЩЕГОСЕБЯ ЧИТЕРА:)
ХОГЛАНДИМАКГРОУПРЕДСТАВЛЯЮТСВОЮКНИГУ
онтакжезаметилодин«побочныйэффект»
— унегооченьхорошоискладнополучалось объяснятьлюдям, нестольсведущимвтеме, каквсеработает, зачемипочему. Пренебрегать этимнеожиданнымоткрытиемХогланднестал
ивпоследствииоттачивалуженетолькохакерские, ноиписательскиенавыки.
Засвоювесьмапродолжительнуюкарьеруон успелнаписатьцелыйворохстатей, постов
идаженесколькокниг. Ноначаловсему положилапубликацияв55-мномереезина Phrack, вышедшаяв1999 году. Онаносила говорящееназвание: «A *REAL* NT Rootkit, patching the NT Kernel» ипосвящалась, как нетруднодогадаться, именноруткитам. Ивот здеськроетсяинтересныйнюанс— деловтом, чтоwindows-руткиты, фактически, появились спустяпочтидесятилетиепослетакназывае- мыхстелс-вирусов, итотфакт, чтоихназвали именноруткитами, анестелс-вирусами— заслугаисключительноГрегаХогландаитой самойстатьивоPhrack.
Вообще, Хогланддовольнодолгобилсянад реализациейтехникиобходасистемныхмеханизмовзащитыWindows — начиная, примерно,
ссередины90-х. Всвоихисследованияхон опиралсянаисследованияядраWindows, опубликованныевUsenet некимпрогеромизШриЛанки, атакженаболееранниеисследования всемирноизвестногогуруДжефриРихтера. В итоге, Хогландвоплотилвсеэтовжизньвиде утилиты, нацеленнойнасокрытиеинформации всистеме. ЕготулзаназываласьNT Rootkit, а отчетопроделаннойработе, своимыслипоэтомуповодуимногочегоещеонизложилкакраз втойсамойстатье. Воттак, слегкойрукиГрега, подобныесофтиныисталиназыватьруткитами, асамХогландувековечилсебявистории:).
ВдальнейшемисследованияХогланда, конечно, неконцентрировалисьвокругодних толькоруткитов, хотяондосихпоррегулярно
выступаетнавсевозможныхконахифорумахс лекциямиисеминарамиименнонаэтитемы. Но Хогландзанималсяиисследованием64-битных платформнапредметвсевозможныхуязвимостей, ицифровымиподписями, имногим, многим другим. Деловтом, что, добившисьстатуса экспертаивлившисьвнестройныехакерские ряды, Грегпошелпротореннымпутем— решилсделатьизвсегоэтогобизнес. На сегодняшнийденьХогландуспелвыступить сооснователемтрехфирм: HBGary, Cenzic (ранееизвестнаякакClickToSecure) иBugscan.
Всеперечисленныеконторы, самособой, занимаютсямилымсердцуГрегареверсным инжинирингом, разрабатываютсофтдляловли «плохихпарней» ипредоставляютсамые различныесекьюруслуги. Икачествоработы Хогландаотличнохарактеризуетодинпростой факт— компанияHBGary напостояннойоснове сотрудничаетсМинистерствомобороныСША, ивоенныесотрудничествомоченьдовольны. Посути, официальная, ежедневнаяработа Грега— этомногомиллионныеконтракты, поступающиепрямикомотправительстваСША. Удивительно, какприэтомунего, вообще, остаетсявремяначто-то, кромеработы, нооно, темнеменее, остается.
Незабываяиописательскойстезе, Хогланд, натекущиймомент, являетсяавторомужетрех книг, двеизкоторыхполучиливесьмаширокое признание: этонаписаннаявсоавторствес ГариМакГроу«Взломпрограммногообеспечения: анализииспользованиекода» (Exploiting Software) и«Руткиты: внедрениевядро
Windows» (Rootkits, Subverting the Windows Kernel). Обекнигииздавалисьнарусском, ао третьем, оставшемсятрудеречьпойдетчуть ниже.
Помимокниг, Грегужемноголетуспеваетзаниматьсянебезызвестнымсайтомwww.rootkit. com, основателемкоторогоявляетсяикудапе-
риодическипишет. Ас2008 годаХогландведет блогпоадресуfasthorizon.blogspot.com.
ФАРМИНГ С УМОМ
ГрегХогланднетолькоталантливыйхакериписатель, он, ковсемупрочему, ещеигеймер. Да, сложноповеритьвто, чтотакойзанятойчеловек успеваетигратьвигрушки, ноэточистаяправда. Болеетого, какужебылосказановыше— споявлениемразнообразныхонлайновых
забавХогландпереключилсяименнонаних. И, конечно, стоилоемуокунутьсявудивительный мирмморпг, каквнемтутжепроснулсяхакер. Нашгеройбуквальнонемогнезаинтересоватьсявозможностьюхакингаонлайновых игр, акогдазаинтересовался, тосделалэтоне спустярукава.
Однимизпервых«громкихплодов» интереса Хогландакиграмсталскандалскомпанией Blizzard. Вихмногопользовательскоедетище— World of Warcraft — Хогландигралссамой закрытойбеты, играемуискренненравилась иименноонасталаглавнымобъектомдля изучений. НовходеисследованийГрегобнаружилоченьстраннуювещь: приближайшем рассмотрениипрограммныймодульThe Warden («Надсмотрщик»), входящийвсостав клиентаигры, оказалсясамымнастоящим spyware, сующимсвойвиртуальныйносво всеподряд. Вообще, Warden ипредназначен именнодляслежки— онприглядывает, чтобы пользовательнезапускалботов, неиспользовалзапрещенныеаддоны, дающиесерьезное внутриигровоепреимущество, непытался модифицироватьсофтитакдалее.
НонаделеWarden собираеточеньмногочастнойинформации, например, сканируетсписок всехзапущенныхнатвоеймашинепроцессов, сравниваяихссигнатурамипроцессовчитерских. Ивпоследствииэтаинфаможетбыть использованапо-разному, втомчисле, Blizzard
XÀÊÅÐ 01 /133/ 10 |
069 |
|
|
|
|
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 |
|
|
|
|
ОБЛОЖКАРУССКОГОИЗДАНИЯПЕРВОЙКНИГИХОГЛАНДА—«EXPLOITING SOFTWARE»
вполнемогутею«злоупотребить». |
благо, мониторитадресалюдей, с |
ПомимоэтогоХогландпришелик |
которымитыобщаешься, следитза |
другому, неменеезабавному, вы- |
тем, какиесайтытыпосещаешьи |
воду— Warden оказалсядовольно- |
какиепрограммыиспользуешь... |
такитуп. Например, еслинаписать |
ВBlizzard, впрочем, отреагиро- |
простенькоеприложение-кальку- |
валидовольномеланхолично, |
лятор, назватьего«WoW!Inmate» |
заявив, чтоничегонезаконного |
(названиеодногоизвестного |
Warden неделает, аовозможной |
читерскогомода), изапуститьэтот |
слежкезапользователем, факти- |
калькулятородновременносWorld |
чески, чернымпобеломусказано |
of Warcraft, то... вуаля, тыбудешь |
впользовательскомсоглашении. |
забанен, какзлостныйчитер! |
Хогланд, однако, такпростоот |
Словом, Хогландназвалпо- |
проблемынеотступился. Посвя- |
ведениемодуляпохожимна |
тивтемебезопасностионлайно- |
полиморфныйвирус, обратился |
выхигрдобрыхнескольколет, он |
вправозащитнуюорганизацию |
всоавторствесГариМакГроуна- |
Electronic Frontier Foundation идал |
писаливыпустилкнигу«Взлом |
немалоинтервьюикомментариев |
онлайновыхигр» (Exploiting |
наэтутему. Вобщем-то, действи- |
Online Games), оченьмноговни- |
тельнонеслишкомприятно, когда |
манияиместавкоторойуделено |
софт, пустьдажеработающийво |
именноWoW. |
070
ОБЛОЖКА«ROOTKITS,SUBVERTINGTHEWINDOWSKERNEL»
Вцелом, оченьинтересноечтиво |
ничая, остатьсянеобнаруженным. |
опоискахуязвимостейивозмож- |
Текстизобилуетактуальнымкодом |
ностяхвзломаразличныхммо. |
имножествомидей, плюс, авторы |
Конечно, однимтолькоWorld of |
оченьсерьезноподошликвопросу |
Warcraft делонеограничилось, |
праваивопросузарабатывания |
например, Хогландуподушеещеи |
денегнапродажевиртуальных |
|
предметов. Читерствовигреуго- |
|
ловнонаказуемымдеяниемпока |
|
неявляется:). |
|
Стоитотметить, чтоХогланди |
|
МакГроуосветилиэтотвопрос |
|
однимиизпервых— книгавышла |
|
всветв2007 году, аиндустрия |
|
онлайновыхигрпокаочень |
такиепроекты, какAsheron’s Call II, |
молода, инетакмногоэкспертов |
EVE Online иVanguard. |
посовместительствуявляютсялю- |
Изкнижкиможнопочерпнуть |
бителямипоиграть. Ксожалению, |
немалоновогоосамыхразныхтех- |
Exploiting Online Games нарусский |
никахчитерстваиотом, как, жуль- |
языкпоканепереводилась. z |
XÀÊÅÐ 01 /133/ 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 |
|
|
|
|
Реклама
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|||
w Click |
to |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
802 x LAN
INTERNET |
Mech STA 1 |
|
|
|
Mech STA 4 |
|
Mech STA 2 |
Mech STA 3 |
|
Mech STA 5 |
Mech STA 8 |
Mech STA 6 |
Mech STA 7
Чертенок |
Mech STA 9 |
802 x LAN |
|
||
|
|
|
изтабакерки |
|
ДетальныйобзорFreeBSD8.0
Неуспелимынарадоватьсявыпускусемерки, какразработчики FreeBSD ужеготовыобрадоватьнасвосьмойверсиейсвоейОС, которая хотьиненесетвсебеглобальныхизменений, новполнеспособна порадоватьпоклонниковмножествомисправленийидоработок, которых ждаливтечениемногихлет.
Релиз8.0 нетакбогатнанововведения, как егопредшественники, чтосовсемнеуменьшаетегозначимость. Именноввосьмерке исправленытепроблемы, закоторыеFreeBSD причисляликанахроничным, отстающимОС. ТеперьFreeBSD неуходитвпаникувовремя извлеченияUSB-флешки, обладаетсущественнопереработаннойиулучшеннойсистемой «песочниц» (Jails v2), работаетвкачествегостя вXen-окруженияхпоследнихверсий, обладает переработаннымвысокопроизводительным SMP-планировщикомзадач, поддерживает NFSv4, можетзагружатьсясGPT-разделов, поддерживаеттехнологиюзащитыотсрыва стекаProPolice, позволяетиспользовать локальUTF-8 вконсоли, можетвыступатьхостсистемойдляVitrualBox 3.x имногое, многое другое. Нообовсемпопорядку.
ЯДРО
Однаизцелейвыпуска8.0 состоялавтом, чтобыпозволитьFreeBSD работатьвнутри инфраструктурыоблачныхвычисленийAmazon EC2. Дляэтоговдеревоисходныхтекстов быладобавленаподдержкаВМXen последних версий, котораяпозволяет32-битнойредакции FreeBSD работатьвнутриXen-окружения (domU). Поддержкаdom0, позволяющаяОС бытьхостомдлядругихОС, ксожалению, пока нереализована.
USB-стекбылполностьюпереработаниизбав- ленотмногихпроблем. Теперьэтополностью масштабируемыйнавсеядрапроцессоракод, лишенныйглобальныхблокировок(хотянекоторыедрайвераещенепереписаны). Добавлен уровеньсовместимостисUSB-подсистемой Linux. Реализованаполнаяподдержкаразде-
ленных(Split) иHS ISOC транзакций, благодаря чемупоявиласьвозможностьиспользования скоростныхаудиоустройствсинтерфейсом USB насовременныхUSB-хабахивозможность созданиядрайверовдлявысокоскоростных web-камер. ТеперьполностьюподдерживаетсяUSB навстраиваемыхустройствах, реализованаподдержкарежимаUSB gadget, улучшеналгоритмсбросасодержимогокэшейи буферов, появилсямеханизмавтоопределения загрузочныхUSB-дисков. Добавленаутилита usbconfig.
Решенаоднаизсамыхсерьезныхпроблем FreeBSD нанастольныхмашинах: некоррект- наяобработкафактаизвлеченияUSB-накопи- телябезразмонтированияфайловойсистемы (чтозачастуюприводилокпаникеядра). Тыся- чипользователейотправилибаг-репортыоб этойпроблеме, тысячитроллейсочинилисотни
072 |
XÀÊÅÐ 01 /133/ 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 |
|
|
|
|
|
|
|
ниеразработчиковмощнейшийинструмент |
|
|
|
трассировкиядраипроцессов, включающийв |
|
|
|
себяспециальныйязык. ПокадляFreeBSD ре- |
|
|
|
ализованатольковозможностьотладкиядра, |
|
|
|
втовремякакреализацияфункцииотладки |
|
|
|
процессовотложенананекотороевремя. |
|
|
|
Слойэмуляциитекстовыхтерминалов(TTY |
|
|
|
layer), используемыйдляпрямойкоммуника- |
|
|
|
циипользователясОС(эмуляциятерминала, |
|
|
|
вкоторомзапускаетсякомандныйинтер- |
|
|
|
претатор), былпереработан: кодизбавленот |
|
|
|
глобальныхблокировок, увеличенапроиз- |
|
|
|
водительность, произведенаоптимизация, |
|
|
|
переработанмеханизмбуферизации. Этоодин |
|
|
|
изсамыхдревнихкомпонентовядраFreeBSD |
|
|
|
(20-25 лет!), ккоторомунепритрагивалисьв |
ПриветствиеFreeBSD 8.0 |
|
течениедолгоговремени. |
|
|
Драйверконсолиsyscons(4), отвечающий |
||
|
|
|
заработусвидеоадаптеромиклавиатуройи |
|
|
|
предоставляющийпользователювиртуальный |
анекдотов, десяткихакеровпредлагалисвои |
увеличивается, арискпромаховуменьшается. |
терминал, былулучшенитеперьполностью |
|
багфиксы, ноделонесдвигалосьсмертвой |
Лимитпамятиядра, составляющий2 Гб, был |
поддерживаетUTF-8. Этозначит, чтоFreeBSD |
|
точки. Корнибагаскрывалисьглубоковнутри |
увеличендо512 ГбдляархитектурыAMD64. |
8.0 «говоритнаюникоде» нетольковиксах, но |
|
подсистемыVFS, котораятребовалаглобаль- |
БлагодаряэтомуфайловаяZFS теперьне |
ив«голой» консоли. Кодоснованнабиблио- |
|
нойпереработкииглубокогопереосмысления. |
засыпаетпользователейсообщениямио |
текеlibteken, реализующейэмуляциюvt100/ |
|
Вконцеконцов, FreeBSD Foundation просто |
нехваткепамятиипоказываетболеевысокие |
xterm/UTF-8 длявиртуальныхтерминалов, |
|
купиларазработчикапоимениEdward Tomasz |
характеристикипроизводительности. |
работающихчерездрайверконсолиsyscons. |
|
Napierala, которыйсделалвсюгрязнуюработу |
«Вес» нитейядрабылзначительноснижен. |
СЕТЕВОЙСТЕК |
|
изаставилядрореагироватьправильно. |
Нити, используемые, например, дляобработки |
||
Подсистема«тюрем» (Jails), позволяющаяза- |
исключенийилиобслуживанияустройств, |
Всетевойстекбылдобавленкодвиртуали- |
|
пиратьпроцессывизолированныепесочни- |
обладаютгораздоменьшимколичеством |
зации. Теперьядроспособноподдерживать |
|
цы, быласущественнопереработана. Теперь |
выделенныхресурсов, и ядропотребляет |
сразунесколькосостоянийсетевогостека |
|
тюрьмаможетиметьсразунесколькоIP-адре- |
меньшепамяти. |
одновременно, благодарячему«тюрьмы» |
|
сов(илинеиметьихвообще), поддерживает |
Свыходом8.0 файловаясистемаprocfs(4) |
(jail) могутбытьабсолютнонезависимыдругот |
|
протоколыIPv6 иSCTP, можетбыть«вло- |
(обычномонтируемаяккаталогу/proc) объяв- |
другавсетевомплане, включаяобособленные |
|
женной» вдругуютюрьму(можносоздавать |
ляетсяустаревшей. Вместонеерекомендуется |
брандмауэры, виртуальныесетевыеинтерфей- |
|
иерархическуюсистемубезопасности), атакже |
использоватьновуюутилитуprocstat(1) и |
сы, лимитыпропускнойспособности, таблицы |
|
привязаннойкконкретномупроцессору/ядру. |
библиотекуlibprocstat(3), которыепозволяют |
маршрутизациииконфигурацииIPsec. Пока |
|
Добавленановаякомандаядерногоотладчика |
получитьопроцессахтакиесведения, как: |
этоэкспериментальныеинерекомендованные |
|
DDB «show jails». |
аргументыкоманднойстроки, информациюо |
кприменениювозможности, которыеполучат |
|
ВоFreeBSD 8.0 включенановаяверсияопти- |
файловыхдескрипторах, нитях, стеке, занима- |
статусстабильныхвследующихрелизах. |
|
мизированногодляSMP-системпланиров- |
емойвиртуальнойпамятиимногомдругом. |
Вдополнениеквиртуализациисетевогостека |
|
щикапроцессовULE 3.0. Улучшеналгоритм |
НоваяверсияОСполучиламеханизмисследо- |
восьмеркаполучилаподдержкумножест- |
|
распределенияпроцессовипотоковпо |
ванияпоследствийсбояядраподназванием |
венныхтаблицмаршрутизации(Forwarding |
|
процессорам, повышенапроизводительность, |
TextDumps. После«уходаядравпанику» |
Information Bases, FIBs), которыепозволяют |
|
появиласьвозможностьпривязкиJail-окру- |
происходитнетолькозаписьполногодампа |
организоватьтакназываемый«policy based |
|
женийкконкретнымядрампроцессора. |
памятиядранадиск, ноиавтоматическое |
routing», когдапутемопределенияправилк |
|
ТеперьFreeBSD поддерживаеттакназыва- |
извлечениеизнегонаиболееважнойинфор- |
пакетуможетбытьпримененаальтернатив- |
|
емыесупер-страницыпамяти(superpages), |
мации, ееупаковкавtar-архивиудаление |
наятаблицамаршрутизации. Этоможетбыть |
|
благодарячемупроизводительностьмногих |
оригинальногодампа. Механизмпозволяет |
использовано, например, вJail-окружениях. |
|
приложенийможетбытьсущественноповы- |
существенноснизитьрасходыдисковой |
ВоFreeBSD 8.0 добавленаподдержкабеспро- |
|
шена(до30%). Супер-страницыподдержи- |
памяти, используемойдляхранениядампов, |
водныхmesh-сетей, описанныхвстандарте |
|
ваютсяпочтивсемисовременнымипроцес- |
иповышаетскоростьразработкииотладки |
802.11s. Вотличиеотобычнойсетевойтополо- |
|
сорамисемействаx86 ипозволяютбуферу |
ядра. |
гии, предполагающейналичиецентральной |
|
ассоциативнойтрансляции(Translation |
СистемаотладкиитрассировкиDTrace нако- |
точкидоступа(Access Point, AP), mesh-сети |
|
lookaside buffer, TLB) ссылатьсянаочень |
нецокончательноинтегрированавоFreeBSD. |
выглядяткакad-hoc сети(децентрализован- |
|
большиестраницыфизическойпамяти(4 Мб). |
Dtrace быларазработанаSun Microsystems |
ныебеспроводныесети, неимеющиепостоян- |
|
Какследствие, зонаохватаTLB существенно |
дляОСSolaris ипредоставляетвраспоряже- |
нойструктуры) безцентральногоузла, который |
|
|
|
|
можетупастьинарушитьсвязьвсехузлов. |
|
|
|
КодмеханизмаBPF (Berkeley Packet Filter), |
НЕ ТОЛЬКО НА CD |
|
|
|
|
|
используемогодлязахватаивставкипакетов |
|
|
|
|
|
ВдополнениекустановочнымCD иDVD, FreeBSD 8.0 распространяетсяиввидеустановочно- |
из/всетевогостека, былизмененитеперь |
||
гообразадляUSB-флешек, длякопированиякоторогодостаточновыполнитьтакуюкоманду: |
производитменьшееколичествоопераций |
||
|
|
|
копированияпамятимеждуядромиприло- |
# dd if=8.0-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync |
жением, чтовнекоторыхслучаяхповышает |
||
|
|
|
производительность. |
XÀÊÅÐ 01 /133/ 10 |
073 |
|
|
|
|
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 |
|
|
|
|
ПредставительствоFreeBSD в Сети
|
|
|
|
|
|
Системауправлениядеревомпортовбыла |
|
|
|
|
|
|
|
модифицированаитеперьподдерживаетпа- |
|
|
|
|
|
|
|
раллельнуюсборкуприложений, чтопозволяет |
|
|
|
|
|
|
|
задействоватьвсеимеющиесяядрапроцес- |
|
|
|
|
|
|
|
сора. |
|
|
|
|
|
|
|
FreeBSD теперьполностьюподдерживаетвсе |
|
Рабочийстол |
|
|
|
|
моделисубноутбуковASUS EeePC. Работают |
||
|
|
|
|
беспроводныекарты, High Definition Audio |
|||
|
|
|
|
|
|
(snd_hda), тачпад, полностьюреализованре- |
|
|
|
|
|
|
|
жимзасыпания, контрользатемпературой. |
|
|
|
|
|
|
|
Восьмеркавключаеткодпереработанного |
|
ПРОПОЛИС ДЛЯ ПРЕДОТВРАЩЕНИЯ АТАК СРЫВА СТЕКА |
|
|
|||||
|
|
звуковогодрайвераHDA (High Definition Audio), |
|||||
|
|
|
|
|
|
||
ProPolice — патчдляGCC, спомощьюкоторого |
переопределяютсяобъявлениялокальных |
которыйболееполносоответствуетспеци- |
|||||
переменныхидобавляютсядополнительные |
проверкивовремявыполненияпрограмм. |
фикациямUAA (Universal Audio Architecture), |
|||||
Приобнаружениипереполненияпроблемный |
процессликвидируетсяивсистемный |
включаетболееширокийспектркодеков, |
|||||
журналпроизводитсязаписьтипа«stack overflow in function XXX». Веб-страничкапроекта: |
работаетвмногоканальномрежиме, обладает |
||||||
www.research.ibm.com/trl/projects/security/ssp. |
расширеннымивозможностямиконфигуриро- |
||||||
|
|
|
|
|
|
ванияиполностьюподдерживаетвременное |
|
|
|
|
|
|
|
засыпаниесистемы(suspend/resume). |
|
КодреализациипротоколаNFS наконец-то |
используетсяпоумолчаниюдляработысраз- |
Средиболеемелкихизмененийможноотме- |
|||||
обрелподдержкучетвертойверсии, которая |
личнымисхемамиразметкидиска(MBR, GPT, |
тить: |
|||||
имеетповышеннуюпроизводительностьи |
BSD ит.д.) Эторешаетнекоторыепроблемыза- |
• ПОвиртуализацииVirtualBox 3.X былополно- |
|||||
гораздоболеевысокийуровеньбезопасности |
грузкиFreeBSD иделаетдисковуюподсистему |
стьюпортированонаFreeBSD. |
|||||
(ACL, механизмаутентификации, использую- |
болеегибкой(например, поддерживаетсядо26 |
• РеализованаподдержкаRDMA (Remote |
|||||
щийKerberos). Такжебылиобновленыклиенты |
BSD-разделовврамкаходногослайса). Кроме |
DMA). |
|||||
исерверыпротоколовNFSv2/3. |
того, восьмеркабезпроблемзагружаетсяс |
• ВозможностьпривязкиобработчиковIRQ и |
|||||
ПОДСИСТЕМА |
GPT-разделов(новаясхемаразметкидиска, |
потоковкуказаннымпроцессорам/ядрам. |
|||||
котораядолжнаприйтинасменутеперешней). |
• Количествогрупп, ккоторымможетприна- |
||||||
ХРАНЕНИЯДАННЫХ |
ПЕСТРАЯЛЕНТА |
длежатьпользователь(NGROUPS), увеличено |
|||||
FreeBSD 8.0 получилановыйAHCI-драйвер, |
до1024. |
||||||
реализованныйкакчастьподсистемыCAM |
Мир, ядроиПОизпортовтеперьсобираются |
• OpenBSM былобновлендоверсии1.1. |
|||||
(Common Access Method). Драйверподдержи- |
спомощьюGCC сактивированнойсистемойза- |
• Утилитаmakefs былапортированаизNetBSD. |
|||||
ваетнескольконовыхвозможностей(таких, |
щитыотсрывастека(Stack-Smashing Protector, |
• РеализованаподдержкасегментовSYSVSHM |
|||||
какNCQ), иможетбытьсконфигурированс |
впрошломProPolice). Системаспособнаоб- |
больше, чем2 ГбнаAMD64. |
|||||
помощьюутилитыcamcontrol. Вбудущем |
наружитьбольшинствоошибокпереполнения |
• Новая, более«чистая», реализацияпротоко- |
|||||
CAM планируетсяпревратитьвстандартный |
буфераспомощьюпроверкистекавызововна |
лаARP. |
|||||
фреймворкдлявсевозможныхпротоколови |
изменение. Еслиизменениеимеломестобыть, |
• Обновлениекодамаршрутизациидлялучшей |
|||||
транспортов, используемыхдлядоступак |
приложениеубиваетсамосебя. |
поддержкиSMP-систем. |
|||||
устройствамхраненияданных. |
|
|
|
|
|
|
|
Менеджерлогическихтомовgvinum, со- |
|
|
|
|
|
|
|
зданныйкакзаменаvinum вновыхверсиях |
|
|
|
|
|
|
|
|
УПРАВЛЕНИЕ ТАБЛИЦАМИ МАРШРУТИЗАЦИИ |
|
|||||
FreeBSD, былобновлендоверсии2 иобрел |
|
|
|||||
статусстабильногоиполностьюготовогок |
|
Числотаблицмаршрутизацииможнозадать |
вовремясборкиядрачерезопцию«options |
||||
использованиюрешения. Исправленымногие |
|
ROUTETABLES=N». Длявыборатаблицыможноиспользоватьбрандмауэр: |
|||||
проблемы, добавленановаяфункциональ- |
|
|
|
|
|
|
|
ность, сохраненасовместимостьсgvinum 1 |
|
setfib N ip from any to any |
|
|
|||
|
|
|
|||||
|
|
|
|
|
|||
иvinum. Gvinum менеегибок, чемрешения |
|
count ip from any to any fib N |
|
|
|||
набазенаборастандартныхGEOM-классов |
|
|
|
|
|
|
|
(gmirror иgstripe), нопридетсяповкусуветера- |
|
Илиутилитуsetfib: |
|
|
|||
намилюбителямрешенийвсе-в-одном(под- |
|
|
|
|
|
|
|
держиваетсяJBOD, RAID 0, RAID 1 and RAID 5). |
|
$ setfib -2 ping host.com |
|
|
|||
GEOM-классGEOM_PART (gpart) теперь |
|
|
|
|
|
|
074 |
XÀÊÅÐ 01 /133/ 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 |
|
|
|
|
Такработаетвиртуализациясетевогостека
•Поддержкарежимавиртуальныхточекдоступа(VAP, «virtual WiFi») вбеспроводныхсетях.
•Многочисленныеулучшенияпроизводительностина SMP-системах.
•ПоддержкаплатформыIntel Nehalem / Core i7.
• ОбновлениекодаподдержкиACPI. |
UTF-8 вовсейкрасе |
• Утилитаtcpdump обновленадоверсии4.0. |
|
|
|
|
|
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 |
|
|
|
|
ZFS 13
КодZFS былдоработан, избавленотмногихпроблеми обновлендоверсии13. ЭтотшагпозволилснятьсZFS статус экспериментальнойразработкиивнесмножествоизменений, средикоторых:
•ПоддержказагрузкисZFS.
•Частичнаяподдержкаchflags(2).
•НачальнаяподдержкаACL форматаNFSv4.
•Поддержкарасширенныхатрибутов.
•ПоддержкаSparse volumes, тоестьмассивовZVOL, которыенерезервируютместовпуле.
•Рядовыепользователитеперьмогутполучитьправана созданиеФС, снапшотовит.д.
•Спомощьюпеременнойvfs.zfs.super_owner можно регулировать, сможетлирядовойпользовательвыполнять привилегированныеоперациинадфайламиФС.
•Возможностьиспользованиядополнительныхдисковдля кэширования. Поднимаетпроизводительностьнаоперацияхчтения.
•Возможностьиспользованиядополнительныхдисковдля Intent Log ZFS, чтобыускоритьоперациитипаfsync(2).
•Можетбытьвыбранодинизрежимовотказа, действующий привыходедисковизстроя: panic — паникаядраприошибкезаписи, wait — ожиданиепоявлениядиска, continue — обработказапросовчтенияиотказвзапросахзаписи.
•Новыесвойства: refquota, refreservation. Аналогиquota
иreservation безучетаместа, занимаемогодочернимиФС, клонамииснапшотами.
ПЛАНЫНАБУДУЩЕЕ
НевсепланируемыенововведенияпопаливрелизFreeBSD 8.0, забортомосталисьдваинтереснейшихпроекта, которыепочтиготовы, нонемогутбытьинтегрированывкод из-занекоторыхпроблем.
Первыйизнихнацеленнаполучениевозможностисборки ядрасподдержкойстекапротоколовIPv6, нобезподдержки IPv4. ЭтопозволитзаранееподготовитьFreeBSD кполному переходунановыйстекпротоколов, сделатьсетевойкод ОСболеечистымимодульным, атакжеполучитьпроизво- дительноеикомпактноеIPv6-ядро. Ксожалению, огромныйобъемработнепозволилзавершитьпроектквыходу восьмерки.
Второй, гораздоболееприоритетный, проектставитсвоей цельюотказатьсяотиспользованиякомпилятораGCC длясборкикомпонентовFreeBSD ипортов. Этаидеяуже многиегодызанималаумыразработчиковвсехветокBSD, апослепереходаGCC наиспользованиеGPLv3 проблема сталаещеболееострой(многиекомпании, применяющие FreeBSD, немогутиспользоватьПО, опубликованноепод лицензиейGPLv3). Какрезультат, родилсяпроектпопереводуFreeBSD насвязкуLLVM + CLANG, распространяемых подлицензиейBSD. Вкачествепобочногоэффектаэтот шагдаетприростпроизводительности(LLVM существеннолучшеоптимизируеткод). Кмоментувыхода8.0 ядро ибольшинствокомпонентовбазовойсистемыужемогли бытьсобраныспомощьюновогокомпилятора, однако множествонезакрытыхпроблемнепозволилипроекту попастьвновыйрелиз.
КАК ОБНОВИТЬСЯ ДО FREEBSD 8.0 |
|
ПОСТСКРИПТУМ |
# freebsd-update upgrade -r 8.0-RELEASE |
В каком-то смысле FreeBSD 8.0 подводит итог всему, |
|
// обновление ядра |
что было сделано после выхода пятерки. Ядро стало |
|
# freebsd-update install |
по-настоящему масштабируемым, ZFS обрела статус |
|
# shutdown -r now |
стабильной, NFS-клиент и сервер теперь поддержи- |
|
// обновление «мира» |
|
вают четвертую версию протокола; были исправлены |
# freebsd-update install |
наболевшие ошибки и многие проблемы прошлых |
|
// удаление оставшихся компонентов |
версий; поддержка оборудования расширилась до |
|
# freebsd-update install |
более чем приемлемого уровня. Если ты никогда |
|
# shutdown -r now |
не пробовал FreeBSD, сейчас лучшее время, чтобы |
|
|
|
сделать это. z |
INFO |
info
Некоторыеиз описанныхнововведенийужебылипортированывFreeBSD 7, поэтомунеобходимостивпереходена восьмеркуможетине возникнуть.
WARNING |
warning
GEOM_PART интер-
претируеттаблицы разделовнетак, как егопредшественники, поэтомубудьостороженприобновлении: именаразделов могутизмениться.
XÀÊÅÐ 01 /133/ 10 |
075 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
UNIXOID |
|
|||
|
|
|
|
|
|
|
|
|
МАКСИМ «HATCHET» ПОЛЕВОЙ MAKS.HATCHET@YANDEX.RU |
||||||
|
|
|
|
|
|
|
|
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 |
|
|
|
|
APTèâñå,âñå,âñå
Изучаемвозможностименеджерапакетов APTисопутствующихпрограмм
Debian внесвмирLinux массуположительныхнововведений, многиеиз которыхбылипринятыидругимидистрибутивами. Самымзначительным усовершенствованиемDebian сталасистемауправленияпакетамиAPT. Послееевыпускавсеостальныедистрибутивыпревратилисьвустаревшийхлам. СегодняAPT сложна, умна, гибкаискрываетотнепосвященноголинуксоидамножествосекретов.
ПРОДВИНУТАЯСИСТЕМА УПРАВЛЕНИЯПАКЕТАМИ
СамапосебеAPT (Advanced Packaging Tool)
неявляетсясистемойуправленияпакетами впрямомсмыслеэтогослова. Вседействия пораспаковке, регистрациивсистемеи ведениюбазыпакетоввыполняютутилиты пакетаdpkg, втовремякакутилитыAPT представляютсобойобертку, спомощьюкоторойосуществляетсяпоискпакетов, сверка контрольныхсумм, выкачиваниеизрепозитория, разрешениезависимостей, атакже ряддругихдействий. APT включаетвсебя следующийнаборутилит:
УТИЛИТЫПАКЕТАAPT
apt-cache — манипулирует кэшем доступных пакетов, обычно используется для поиска пакета и/или получения информации о нем
apt-cdrom — позволяет добавить CD/ DVD-диск в качестве источника пакетов (репозитория)
apt-config — читает значения опций, заданных в конфигурационном файле / etc/apt/apt.conf, используется другими APT-утилитами apt-extracttemplates — извлекает конфигурационные файлы DebConf из пакетов, используется другими APTутилитами
apt-ftparchive — создает индексные файлы
apt-get — устанавливает, удаляет, обновляет список пакетов и сами пакеты, центральная APT-утилита apt-key — управляет ключами аутентификации, используемыми для проверки подлинности источников пакетов apt-secure — проверяет подлинности цифровой подписи пакетов apt, входящих в состав дистрибутива и репозиториев
apt-sortpkgs — сортирует индексные файлы
Утилитыопираютсянаследующиефайлы конфигурации:
КОНФИГУРАЦИОННЫЕФАЙЛЫAPT
/etc/apt/sources.list — список источников пакетов (репозиториев) /etc/apt/apt.conf — основной файл конфигурации APT /etc/apt/preferences — файл предпоч- тений, управляет тем, какая версия пакета будет установлена в случае наличия в репозитории сразу нескольких версий
APT простаипонятнависпользовании. Среднестатистическомупользователюобычно
достаточновсегошестинижеприведенных команд:
ОСНОВНЫЕКОМАНДЫAPT
apt-cache search маска — поиск пакета
apt-cache show пакет — просмотр информации о пакете
apt-get install пакет — установка пакета
apt-get remove пакет — удаление пакета
apt-get update — обновление кэша доступных пакетов
apt-get upgrade — обновление всех пакетов
Последниедвекомандыобычновыполняются одназадругой, врезультатечегопереустанавливаютсявсепакеты, длякоторыхврепозиториидоступныновыеверсии. Еслиженеобходимообновитьтолькоуказанныйпакет, топосле «apt-get update» следуетвыполнитькоманду
«apt-get install пакет».
ДистрибутивUbuntu сводитпроцесс«общения» сAPT-утилитамиккликаньюпогалоч- камграфическогоинтерфейса. Внеместь собственный, предельнопростойменеджер пакетов(такиназывается— Package Manager), запускающийсяпоcron’уменеджеробновленийUpdate Manager, графическийустановщик
076 |
XÀÊÅÐ 01 /133/ 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 |
|
|
|
|
Aptitude имеетдействительноудобныйинтерфейс
вручнуюзагруженныхdeb-пакетовGDebi и болеемощнаяграфическаянадстройканад
APT-утилитамиSynaptic.
Междутем, APT гораздосложнееигибче, чемэтоможетпоказатьсянапервыйвзгляд. Поэтомувследующихразделахмырассмотримнескольконесовсемтипичныхприемовее использования.
СТОРОННИЕИСТОЧНИКИ ПАКЕТОВ
Помимоголовногорепозитория, содержащего всепакетыотразработчиковдистрибутива, существуетимассадругихисточниковпакетов, которыемогутсодержатьстороннееПО, недоступноеизофициальногорепозитория, предоставлятьболеесвежиееговерсииили простобытьболеебыстрымзеркалом. Репозиториемможетбытьиобычныйкаталогна твоемжесткомдискеикомпакт-диск.
ЧтобынаучитьAPT работатьсосторонними репозиториями, достаточновыполнитьчетыре простыхдействия:
1. Добавить ссылку на репозиторий в файл / etc/apt/sources.list в следующем формате:
deb uri дистрибутив [компонент1] [компонент2] [...]
Полеuri — этоадресрепозитория, которыйв большинствеслучаевявляетсяHTTP-адре- сом, номожетбытьиссылкойналокальный репозиторий(file:/root/repository), адресом репозиториянаFTP илиSSH-сервере. Вполе
«дистрибутив» указываетсяимядистрибутива, длякоторогособраныпакеты. ДляDebian имя можетбытьоднимизstable, oldstable, unstable, testing, втовремякаквслучаеUbuntu следует указыватьтолькоконкретноенаименование дистрибутива(например, jaunty), атакже различныеобозначениянаегооснове
(например, jaunty-updates, jaunty-backports, jaunty-security). Надосказать, чтоAPT совсем непротивтого, чтобысмешиватьпакеты различныхдистрибутивовнаоднойсистеме, нозапоследствиявэтомслучаебудешьотвечатьтолькоты. Компонентобычноноситимя main, contrib илиnon-free дляDebian иmain, universe, multiverse, partner иrestricted для
Ubuntu. Всеэтоименаразличныхрепозиториевпакетов, которыеобособленытолькодля того, чтобыразделитьпакетынаосновекакихлибокритериев. Например, main — этопакеты, собираемыегруппойразработчиковUbuntu/ Debian. НакачествоПО, содержащегосяв них, естьопределенныегарантии, включая своевременныеобновленияибагфиксы, вто времякакcontrib иuniverse — этостороннее ПО, котороетыустанавливаешьнасвойстрах ириск.
2. Добавить в apt keyring публичный ключ репозитория, используемый для удостоверения его подлинности и надежности. Ключ можно получить любыми способами и добавить, выполнив команду «apt-key add ключ», но такой способ редко практикуется из-за неудобства. В подавляющем большинстве случаев ты будешь иметь дело с командой
ПОЛЕЗНЫЕ КОМАНДЫ APT-CACHE
apt-cache show пакет— детальнаяинформацияопакете apt-cache showpkg пакет— общаяинформацияопакете apt-cache depends пакет— списокзависимостейпакета
apt-cache rdepends пакет— списокобратныхзависимостей(комунуженуказанныйпакет)
$ sudo apt-key adv --keyserver сервер-сертификации --recv-keys ID-ключа
котораязапрашиваетключнапрямуюусерверасертификации(дляUbuntu этоkeyserver. ubuntu.com). Именнотакбольшинствостороннихразработчиковраспространяютсвое ПОдлядистрибутивовDebian/Ubuntu (при этомостальныепростовыкладываютпакеты иихконтрольныесуммы). Например, зайдя настраничкуинтересующеготебяпроекта нахостингеlaunchpad.net инажавнассылку
Technical details about this PPA, тыувидишь строку, которуюнеобходимодобавитьв/etc/ apt/sources.list. ВSigning key: будетуказанID
ключа.
3. Обновить кэш доступных пакетов:
$ sudo apt-get update
4. Установить пакет, используя команду «aptget install пакет».
Многиедевелоперыпомещаютссылкуна репозиторийиID егоключапрямовdeb-пакет, поэтомупослескачиванияпакета, установкии выполнениякоманды«apt-get update && aptget upgrade» пакетыбудутобновленывместес ихсобратьями, перечисленнымивsources.list. Вчастности, такраспространяютсябраузеры opera иальфа-релизgoogle chrome.
Репозиторий, располагающийсянаком- пакт-диске, добавитьвsources.list намного проще. Дляэтогоестьспециальнаякоманда apt-cdrom. ТыпростовставляешьCD впривод ивыполняешькоманду:
$ sudo apt-cdrom add
ХИТРОСТИИНЕСТАНДАРТНЫЕСИТУАЦИИ
APT естьAPT, удобнаипроста, ноиногдане обойтисьбезухищрений, осамыхполезныхиз которыхтыузнаешьизэтогораздела.
1.По умолчанию команда «apt-get remove» удаляет пакет полностью только в том случае, если ни один из его файлов не был изменен после установки, иначе измененные файлы остаются нетронутыми. Естественно, конфигурационные файлы меняются почти всегда, поэтому apt-get оставляет после себя кучу мусора, которую приходится убирать руками. Команда «apt-get purge», выполненная вместо «apt-get remove», решает эту проблему.
2.Любители ковыряния в системе, а также системные администраторы, серверы которых подверглись взлому, скорее всего, захотят вернуть пакеты к начальному состоянию, в котором они находились до проведения манипуляций. Поможет в этом команда:
XÀÊÅÐ 01 /133/ 10 |
077 |
|
|
|
|
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 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаеминформациюопакетеспомощьюapt-cache
$ sudo apt-get install --reinstall пакет
3. Более низкоуровневые утилиты управления deb-пакетами (такие, как dselect и dpkg) ведут специальный список состояний пакетов, который может использоваться для управления тем, какие пакеты должны быть установлены или удалены в пакетном режиме (именно так работает связка dselect + dpkg). Его же можно использовать для многих других целей, например, переноса конфигурации системы на другую машину. Выполни следующую команду:
$ dpkg --get-selections > file
Перенесифайлнадругуюмашинуивыполни нанейдвекоманды:
#cat file > dpkg --set-selections
#apt-get dselect-upgrade
Всистемубудутдобавленывсепакетысисте- мы-источника. Чтобыфайлсостоянийпакетов такжесодержалинформациюотом, какие пакетыследуетудалитьизсистемы, добавь символ«\*» послеаргумента‘--get-selections’.
Списоксостоянийнесодержитверсиипакетов, этоможноиспользоватьпослеустановки болееновойверсиидистрибутивадляприведенияегоктребуемомусостоянию.
4. Ты вручную наложил заплатку на файл одного из системных пакетов и не хочешь, чтобы этот пакет был обновлен (с уничтожением всех твоих изменений) после вызова «apt-get upgrade». В этом случае тебе на помощь вновь придет список состояний. Пакет может быть «заморожен», в результате чего apt-get откажется его обновлять и пропустит:
# echo -e "coreutils hold" | dpkg --set-selections
Принудительно обновить пакет можно с помощью указания флага '-u' при вызове apt-get.
5. Как и любая система, обладающая сетевым функционалом, APT позволяет использовать прокси для доступа к репозиториям. Чтобы задействовать эту возможность, пропиши в файл /etc/apt/apt.conf строку:
Acquire::http::Proxy «http://xxx. xxx.xx:yyyy»
Гдеxxx.xxx.xx — имятвоегопрокси, yyyy — порт. 6. Обычно APT-утилиты запрашивают самую новую версию пакета из всех, что находятся в его кэше, поэтому если ты добавил в sources. list различные экспериментальные и unstableрепозитории, то после обновления получишь
СЛОВАРЬ APT
Пакет— программа, библиотека, исходникиилилюбыедругиефайлы, атакжеихметаданные, упакованныевособымобразомсформированныйархив.
Репозиторий— местохраненияdeb-пакетов.
Кэшдоступныхпакетов(илипростокэш) — файл, вкоторомкэшируетсяинформацияобо всехпакетах, доступныхизисточников, перечисленныхв/etc/apt/sources.list. Кэшобнов- ляетсявовремякаждоговызовакоманды«apt-get update».
Индексныйфайл— головнойфайлрепозитория, содержащийназвание, версию, размер, краткоеиполноеописаниеизависимостидлякаждогопакета. НоситимяPackages.gz в случаебинарногорепозиторияиSources.gz — длярепозиторияисходныхтекстов. Созда-
етсяспомощьюутилитpkg-scanpackages иdpkg-scansources.
Apt keyring (дословно: связкаключейapt) — хранилищеключей, удостоверяющихподлинностьисточниковпакетов(репозиториев).
078 |
XÀÊÅÐ 01 /133/ 10 |