Дети любят такой компьютер!
Языки сайта [ar] [cs] [de] [en] [es] [fa] [fr] [it] [ms] [nl] [pt] [pt_br] [ro] [ru] [sr] [sr@latin] [th] [uk] [vi] [zh]
Все версии этой статьи: [English] [русский]
Некоторые программы используют множество файлов, и это делает огромными пакеты Debian, которые занимают немало дискового пространства. Нам известно два способа уменьшить потребление дискового пространства: удаление или ресэмплинг файлов. Первая альтернатива предполагает, что мы можем разбить пакет на маленькие подпакеты. Скоро вы убедитесь, это не так сложно как кажется :).
На первом шаге нужно извлечь исходный код пакета из репозитариев Debian. Это достигается очень удобной командой apt-get source [1]. Поскольку пакет исходного кода Debian создан из нескольких файлов, разумно создавать каталог для каждой программы:
$ mkdir <pkgname> $ cd <pkgname> $ apt-get source <pkgname>
Эти команды извлекут пакет исходного кода, затем скомпилируют исходный код программы, улучшенный разработчиками Debian. Каталог исходного кода должен быть назван <pkgname>-<version>, где version - обычно x.x или x.x.x, например, 3.2 или 5.2.4.
Разбить пакет Debian несложно. Сначала надо выяснить, в какой каталоге хранятся файлы данных пакета. Для этого надо либо открыть бинарный пакет Debian (сжатый архивный файл), либо скомпилировать пакет Debian, используя каталог исходного кода:
$ cd <pkgname>-<version> $ dpkg-buildpackage
Эти команды создадут в каталоге debian/ подкаталог, который будет содержать все файлы бинарного пакета. Имя такого каталога обычно <pkgname>.
Теперь можно начать разбиение пакета. Принцип очень простой, в каталоге debian/:
Подробности в следующих параграфах.
Файлы <pkgname>-<part>.install содержат полный путь к файлам или каталогам, которые будут скопированы в под-пакет, по одному в строке. Например, основной пакет TBO содержит в своем файле tbo.install:
/usr/bin /usr/share/tbo/icons /usr/share/tbo/ui
в то время как обычный пакет данных tbo-common-data.install содержит:
/usr/share/applications /usr/share/pixmaps /usr/share/locale /usr/share/tbo/tutorial.pdf /usr/share/tbo/tut.tbo /usr/share/tbo/icon.png
Файл control включает информацию о зависимостях, оборудовании или описание. Надо включить несколько информационных блоков, чтобы добиться совпадения с файлами .install (один блок на файл). Конечно, зависимости могут потребовать специальной настройки для каждого под-пакета. Например, для TBO первые четыре инфоблока будут выглядеть так:
Package: tbo Architecture: any Depends: ${shlibs:Depends}, libgtk2.0-0, ${misc:Depends}, tbo-common-data, tbo-data-doodle-bubble Recommends: tbo-data-accesories, tbo-data-arcadia, tbo-data-bubble, tbo-data-political, tbo-data-tbo Suggests: tbo-data-dgm, tbo-data-doodle1, tbo-data-facilware, tbo-data-guadalinex, tbo-data-linuxhispano, tbo data-southpark Description: Intuitive GNOME comic creator TBO is a simple and easy drag and drop comic creator. It uses a libray of SVG draws as input to make the comic frames. . This package provides the core program without SVG libraries. Libraries are installed by the packages named tbo-data-doodle-*. Package: tbo-data-doodle-all Architecture: all Depends: tbo, tbo-data-accesories, tbo-data-arcadia, tbo-data-bubble, tbo-data-political, tbo-data-tbo, tbo-data-dgm, tbo-data-doodle1, tbo-data-facilware, tbo-data-guadalinex, tbo-data-linuxhispano, tbo-data-southpark Description: Intuitive GNOME comic creator TBO is a simple and easy drag and drop comic creator. It uses a libray of SVG draws as input to make the comic frames. . This package is a meta package that will install all the TBO SVG libraries. Package: tbo-common-data Architecture: all Depends: tbo Description: Intuitive GNOME comic creator TBO is a simple and easy drag and drop comic creator. It uses a libray of SVG draws as input to make the comic frames. . This package provides the common data of the program, without any SVG libraries. Libraries are installed by the packages named tbo-data-doodle-*. Package: tbo-data-doodle-accesories Architecture: all Depends: tbo Description: Intuitive GNOME comic creator TBO is a simple and easy drag and drop comic creator. It uses a libray of SVG draws as input to make the comic frames. . This package provides the SVG library subset named accesories.
В этом файле содержится сводка изменений пакетов и номер версии. Лучше всего менять номер версии, если что-то изменилось. Для DoudouLinux принято добавлять doudouN, где N — это номер, к официальному пакету версии. Например, пакет plymouth 0.8.3-20 станет plymouth 0.8.3-20doudou1. При этом в changelog добааляется следующая информация:
tbo (0.98~git20110321-0doudou2) unstable; urgency=low * Split package into core and data sets. -- Bob Author <bob.author@doudoulinux.org> Sat, 19 Nov 2011 17:24:12 +0100
Вы должны писать корректную сводку изменений, которые произвели, а также указывать свое настоящее имяи адрес элкетронной почты ;).
Перекомпилировать бинарный пакет Debian довольно просто, для это служат следующие команды:
$ cd <pkgname>-<version> $ dpkg-buildpackage
Обратите внимание, что эти команды создают и пакет исходного кода, и бинарный пакет. Пакет исходного кода — это файл *.dsc, который содержит ссылки на один или два других файла. Эти файлы - оригинальный исходный код программы, файл *.orig.tar.gz, и некие заплатки Debian, которые применяются к оригинальному исходному коду.
[1] В файле @/etc/apt-/sources.list@ должны cодержаться объявленные репозитарии исходного кода. Эти репозитарии начинаются с deb-src.
Copyright © DoudouLinux.org team - Весь текст с данного сайта публикуется по условиям лицензии Creative Commons BY-SA