Главная » Статьи » Переводы |
Руководство по добавлению (или удалению) репозиториевПредварительноВот веб-страницы, которые дают основные понятия о системе пакетов в Puppy 5.x: Есть два локальных файла, о которых вы должны знать:
DISTRO_COMPAT_REPOSВ этом файле вы увидите две переменные, названные PKG_DOCS_DISTRO_COMPAT и REPOS_DISTRO_COMPAT. PKG_DOCS_DISTRO_COMPATЭта переменная содержит серию записей, которые разделены символом пробела. Вот пример одной записи: slackware.cs.utah.edu|http://slackware.cs.utah.edu/pub/slackware/slackware-${DISTRO_COMPAT_VERSION}/PACKAGES.TXT|Packages-slackware-${DISTRO_COMPAT_VERSION}-official Переменная DISTRO_COMPAT_VERSION определяется в этом файле: /etc/DISTRO_SPECSПримером может быть Puppy построенный на основе Slackware версии 12.2, поэтому указанная выше строка преобразуется в: slackware.cs.utah.edu|http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/PACKAGES.TXT|Packages-slackware-12.2-official Запись имеет три поля, разделенные вертикальной чертой:
Вам нужно всего лишь добавить еще один репозиторий, содержащий пакеты одного и того же «совместимого дистрибутива», который был использован при создании Puppy, то есть один из Slackware, Debian, Ubuntu или Arch репозиториев. Это определяется переменной DISTRO_BINARY_COMPAT в файле /etc/DISTRO_SPECS. Так, когда в приведенном выше примере Puppy загружает файл базы данных «PACKAGES.TXT», он должен быть в формате базы данных, используемой совместимым дистрибутивом. Puppy будет ожидать этого формата, чтобы иметь возможность преобразовать его в типовой формат, используемый в Puppy. REPOS_DISTRO_COMPATЭта переменная имеет такой же формат: записи, разделенные пробелами, и поля в каждой записи, разделенные вертикальной чертой. Например так: slackware.cs.utah.edu|http://slackware.cs.utah.edu/pub/slackware/slackware-${DISTRO_COMPAT_VERSION}|Packages-slackware-${DISTRO_COMPAT_VERSION}-official … похоже на то, что было раньше, но в этом случае полный URI показывает, где фактически хранятся пакеты. Обратите внимание, что отдельные пакеты могут быть в подкаталогах, но эта информация записана в базе данных пакетов. Если хранилище зеркалировано, нет проблем, можно сделать дополнительные записи с одинаковым значением 3-его поля, например, ниже представлено полное определение переменной REPOS_DISTRO_COMPAT (поскольку получилось немного длинно, я расположил каждую запись в новой строке) : slackware.cs.utah.edu|http://slackware.cs.utah.edu/pub/slackware/slackware-${DISTRO_COMPAT_VERSION}|Packages-slackware-${DISTRO_COMPAT_VERSION}-official С другой стороны, на одном адресе сайта может быть более одного «хранилища». То, что я имею в виду, лучше показать на примере. Это переменная REPOS_DISTRO_COMPAT для Ubuntu-совместимой сборки Puppy: ftp.filearena.net|http://ftp.filearena.net/pub/ubuntu|Packages-ubuntu-${DISTRO_COMPAT_VERSION}-* Здесь фактически три разных репозитория на одном сайте, которые Puppy может загрузить как «main», «universe» и «multiverse». Puppy имеет по файлу базы данных для каждого из них, например, для выпуска Ubuntu «Intrepid»: «Packages-ubuntu-intrepid-main», «Packages-ubuntu-intrepid-universe» и «Packages-ubuntu-intrepid-multiverse». Соответственно, переменная PKG_DOCS_DISTRO_COMPAT выглядит так: archive.ubuntu.com|http://archive.ubuntu.com/ubuntu/dists/intrepid/main/binary-i386/Packages.bz2|Packages-ubuntu-${DISTRO_COMPAT_VERSION}-main … то есть, указаны все три базы данных. DISTRO_PET_REPOSДобавление еще одного хранилища .pet-пакетов является наиболее вероятным требованием пользователя Puppy. Скорее всего, когда вы обновите Puppy до новой версии, менеджер пакетов получит доступ к наиболее подходящим репозиториям. Но вы, возможно, захотите добавить что-то прямо сейчас особенно, если вы Puppy-разработчик. PKG_DOCS_PET_REPOSЗдесь все так же, как описано выше. Файл DISTRO_PET_REPOS имеет переменную PKG_DOCS_PET_REPOS и вот ее текущее содержание: ibiblio.org|http://distro.ibiblio.org/pub/linux/distributions/puppylinux/Packages-puppy-woof-official|Packages-puppy-woof-official Обратите внимание, что имя файла базы данных на сайте совпадает с именем файла после загрузки. Это происходит потому, что файл базы данных PET в удаленном хранилище уже находится в «стандартном формате». Puppy начиная с версии 2.0 и до версии 4.x включительно хранил информацию о пакетах базы данных в файле /root/.packages/packages.txt, но сейчас принят другой формат — и система сборки Woof имеет скрипт для преобразования старых «packages.txt» файлов в новый вид. Итак допустим, у вас есть хранилище .pet-пакетов. Скажем в http://johhny.org/petrepo. Всё, что вам нужно сделать, это создать файл базы данных, например, «Packages-puppy-4-Johhny» — в соответствии с договорённостями по наименованиям, второе поле «puppy» идентифицирует его как Puppy pet репозиторий, третье поле «4» сообщает, для какай версии Puppy собирались эти пакеты, в то время как последнее поле является уникальным идентификатором хранилища. Таким образом, к переменной PKG_DOCS_PET_REPOS нужно добавить запись: johhny.org|http://johhny.org/petrepo|Packages-puppy-4-johhny PET_REPOSЭто еще одна переменная в файле DISTRO_PET_REPOS. Вот её текущее содержание: ibiblio.org|http://distro.ibiblio.org/pub/linux/distributions/puppylinux|Packages-puppy-*-official … обратите внимание на шаблон «*». Он здесь потому, что все репозитории pet-пакетов находятся на одних и тех же сайтах. Для нашего гипотетического примера добавьте эту строку: johhny.org|http://johhny.org/petrepo|Packages-puppy-4-johhny … ещё раз отмечаем, что .pet-пакеты могут быть в подкаталогах «petrepo», и это определяется в файле базы данных. Строка, представленная выше, говорит, что любой из пакетов описанных в «Packages-puppy-4-Johhny», можно найти в http://johhny.org/petrepo. Сводная информацияЕсли вы добавили обе записи, как показано в примере выше, и создали файл базы данных «Packages-puppy-4-Johhny» на сайте, вы готовы двигаться дальше. Нажмите кнопку «Настроить менеджер пакетов» в главном окне GUI, затем нажмите кнопку «Обновить сейчас», пакетный менеджер скачает «Packages-puppy-4-Johhny» и добавит его к другим, после чего пакеты станут видны в Главном окне GUI. И наоборот, если вы хотите удалить репозиторий, удалите соответствующие записи в переменных (противоположно вышеописанной процедуре) и удалите файл «Packages- *». И последнее о файле базы данных пакетов «Packages-puppy-4-Johhny».
Хранилище может содержать смесь .pet-пакетов,
которые были
собраны для
разных версий Puppy. В такой ситуации вы можете создать
отдельные файлы
«Packages- *» для каждой группы пакетов. Кроме того, база данных
пакетов имеет дополнительные поля для каждой записи пакета, которые
могут объявить, для какого окружения был составлен пакет, например, « С уважением, | |
Просмотров: 3325 | | |
Всего комментариев: 0 | |