книги хакеры / журнал хакер / 099_Optimized
.pdfТеория |
|
||||||||||||||||||||||||
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
E |
|
|
|
|
|
|
|
|
|
C |
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|||||||
|
- |
|
|
|
|
d |
|
|
|
|
|
- |
|
|
|
|
|
|
d |
|
|||||
|
F |
|
|
|
|
|
t |
|
|
|
|
F |
|
|
|
|
|
|
|
|
t |
|
|||
|
D |
|
|
|
|
|
|
i |
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
NOW! |
o |
|
|
P |
|
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
to BUY |
|
|
|
|
|
|
|
|
>> unixoidto BUY |
|
|
|
|
|
|
||||||
w Click |
|
|
|
|
|
|
m |
|
|
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
g |
.c |
|
|
|
|
. |
|
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
|
||||
|
|
|
df |
|
n |
e |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
трафикбудутминимальны,таккакcvsupзагрузит |
Хочуобратитьтвоевниманиевотнакакоймомент: |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
изсетировностолько,сколькотребуется,чтобы |
хотяdeltupиспользуетмножествохитрыхприемов |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
синхронизироватьстаруюверсиюсновой(то |
дляобеспеченияабсолютнойидентичности |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
естьтолькоразницумеждупрошлойинынешней |
пропатченноготарболаоригиналу,онвсежеможет |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
версиейсистемы).Авоткакбытьспортами, |
ошибиться.Самтарболвэтомслучаеостанется |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
которыетребуют,чтобытарбол,содержащийис- |
вполнекорректным,иизнегоможнобудетсобрать |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
ходникиновойверсиипрограммы,былзагружен |
программу,носистемапортовначнетругатьсянане- |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
заново? |
совпадениеконтрольныхсумм.Вэтомслучаеможно |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Разработчики из сообщества Gentoo когда-то |
собратьпорт,отменивпроверкуконтрольныхсумм: |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
тоже задавались этим вопросом. В результате |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
появился инструмент deltup, который создает из |
make NO_CHECKSUM install clean |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
двух тарболов одной программы специальный |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
файл, которым можно пропатчить тарбол старой |
На диске также лежит моя доработка этого |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
версии программы, чтобы получить тарбол с |
скрипта (fetch_deltup_new.sh). В ней устранены |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
ее новой версией, избежав необходимости в |
некоторые ошибки и добавлен таймаут, который |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
загрузке всего тарбола. |
должен выждать скрипт, чтобы сервер успел |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Чтобы использовать этот способ обновления, |
сгенерировать патч. По окончании таймаута |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ты должен установить пакет deltup (sysutils/ |
начнется загрузка официального тарбола. z |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
deltup) и программу wget (ftp/wget). После |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
этого возьми с диска, прилагаемого к журналу, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
скрипт fetch_deltup.sh и помести его в каталоге |
|
Полезныеутилиты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/usr/local/bin. Открой файл /etc/make.conf и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
добавь в него строку «FETCH_CMD=/usr/local/ |
|
Есть еще несколько утилит, облегчающих |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bin/fetch_deltup.sh». Затем попробуй обновить |
|
работу с портами, самые интересные из |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
какой-нибудь порт, ты увидишь, сколько трафи- |
|
которых — sysutils/pkg_tree и sysutils/pkg- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ка ты сэкономил. |
|
orphan. Программа pkg_tree показывает |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Чтобы deltup работал, ему нужен сервер, кото- |
|
установленные пакеты, организуя их в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рый мог бы генерировать патчи. К сожалению, |
|
древовидную структуру, отражающую |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
для FreeBSD такого сервера не существует, |
|
взаимные зависимости. Pkg-orphan уда- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поэтому в скрипт вшит адрес сервера Gentoo. |
|
ляет из системы все пакеты, от которых не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Но это не должно тебя беспокоить, так как на- |
|
зависит ни один другой пакет. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Portversion говорит, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
бор прикладных программ во FreeBSD и Gentoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
что многие пакеты устарели |
одинаков. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|