Видео ролики бесплатно онлайн

Смотреть русское видео

Официальный сайт printclick 24/7/365

Смотреть видео бесплатно

03.02.10 16:04 Shtsh

How-to`sСоздаём своё зеркало debian и локальный репозиторий

Есть люди, у которых интернет медленный или дорогой. А дисковое пространство сейчас крайне дешёвое. Один из таких людей - я, вот и приходится как-то выкручиваться. Просто так систему не обновишь и программы особо не поставишь :( Зато на работе некоторые ресурсы (например, ftp.mgts.by, где куча репозиториев для разных дистрибутивов) доступны локально практически на 100Мбит/с

К счастью есть такая замечательная утилита, как debmirror, при помощи которой можно создать своё зеркало. А полное зеркало debian не особо большое (для debian sid без исходников - 31 GiB)

Поэтому я прихожу на работу, подключаю винт, монтирую его (например, в /tmp/a)
Затем делаю всего одну команду
1
2
debmirror  -v -d sid --nosource --i18n --method=http -h ftp.mgts.by --ignore-missing-release /tmp/a/deb/
 
И получаю полное зеркало. Теперь немножко о параметрах
-v - это чтобы показывали, что сейчас происходит
-d - тут можно выбрать, какой дистрибутив качать (можно указывать как названия lenny, squeeze, sid, так и stable, testing, unstable)
--nosource - этот довольно важный параметр, который сильно экономит время и размер зеркала. С ним не будут закачиваться исходники программ.
-s main,contrib,non-free - секции, которые нужно закачивать
--method=http - протокол, по которому передаются данные. Например, у меня по http скорость значительно выше, чем по ftp, поэтому я использую его
-h ftp.mgts.by - зеркало, с которого качать пакеты. Это зеркало для меня самое быстрое (несколько Мбайт/с), поэтому примерно за час получаю готовое зеркало
--ignore-missing-release - Не прерывается, если нету файла Release (без этого не создаётся)
После этого жмём enter и ждём, когда закачается несколько десятков гигов...

Затем, когда я прихожу дома, я монтирую диск в /media/disk, и обновляюсь
Вот, что у меня прописано в /etc/apt/sources.list для работы с репозиторием на диске
deb file:///media/disk/deb sid main,contrib,non-free

Но иногда бывает, что есть несколько deb-пакетов и хочется, чтобы был свой репозиторий, из которого можно ставить банальным apt
Вот, что делаю я в этом случае
Сначала генерируем новый ключ
gpg --gen-key

Oтвечаем на вопросы, сочиняем пароль и ждём, когда он сгенерируется
Когда всё закончилось, смотрим последнюю строчку, которая начинается с sub. У меня:
sub 2048g/E956056F 2008-11-10
Соответственно, наш ключ — E956056F
Теперь копируем все deb'ы в какую-нибудь папку, например /media/media/myrepository
Сначала нужно создать файл с параметрами для apt-ftparchive.
Назовём его apt-ftparchive.conf
Вот его содержание:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dir {
ArchiveDir ".";
CacheDir ".";
};

Default {
Packages::Compress ". gzip bzip2";
};

BinDirectory "." {
Packages "Packages";
}

APT::FTPArchive::Release {
Origin "localhost";
Label "local";
Suite "unstable";
Codename "repo";
Architectures "i386";
Components "main";
};

Теперь создаём скрипт, который будет генерировать информацию для apt. Его будет необходимо запускать каждый раз, когда репозиторий изменяется. Назовём его generate-repo
Вот его содержание
1
2
3
4
5
#!/bin/bash

apt-ftparchive generate apt-ftparchive.conf
apt-ftparchive -c=apt-ftparchive.conf release . >Release
gpg -sab --default-key=E956056F -oRelease.gpg Release


Естественно, после --default-key должен находиться ваш ключ. Теперь сохраняем его и даём права на выполнение
chmod +x generate-repo

Теперь запускаем его
./generate-repo

После этого будет нужно добавить ключ в базу Apt
apt-key add ~/.gnupg/secring.gpg

Теперь осталось обновить список репозиториев. Для этого редактируем /etc/apt/sources.list
vim /etc/apt/sources.list

и добавляем в его конец строчку, похожую на эту:
deb file:/media/media/myrepository ./

Теперь обновляем кэш apt и наслаждаемся :)


Теги:

xT 03.02.10 16:16 # +1
Раньше пользовался apt-mirror, но она не забирает файлы пакетов запакованные bzip2.
Перешел на набор сценариев ftpsync, рекомендованный меинтейнерами Debian.

А полное зеркало debian не особо большое (для debian sid - 31 GiB)

у меня stable (main, contrib, non-free) вместе с src весит ~134GB
а обновления безопасности ~10GB
Shtsh 03.02.10 16:18 # +0
Для sid нету обновлений безопасности, да и у меня именно бинарное зеркало. Без src пакетов, а это - самая тяжёлая часть
mirivlad 03.02.10 17:21 # +0
Для личной сетки - типа домашней или сети небольшой организации я бы посоветовал apt-cacher. Принцип действия похож на apt-proxy, но народ говорит постабильнее и пошустрее. Врать не буду - сам не проверял на счет этого. Хотя у меня работает прекрасно. Его плюс в том что не приходится много места занимать ненужным барахлом и в на порядок отличном в меньшую сторону от апт-миррор трафике.
ZogG 03.02.10 19:57 # +0
спасибо, позновательно. в генту немного проще с этим делом обстоит, просто есть изначально локальная папка /usr/local/portage
там создаем папку к примеру net-p2p (подвид програм), внутри папку с наванием проги, к примеру transmission. кладем туда ебилд (transmission-9999.ebuild). добовляем его(делает файл манифест) ebuild transmission-9999.ebuild digest( можно собрать сразу кстати, вроде ebuild * emerge). это проверит нет ли ошибок в ебилде и работает ли ссылка на скачку файла(он же у нас не локально лежит, кстати проверка только на урл, на свн и гит не проверяет). потом при сборке (если не замаскировано) трансмишиона соберет последнюю версию ( в данном случаем 9999)
xT 03.02.10 21:34 # +0
как-то неясно все написал :)
проще - создаем папку, что-то пишем, проверяем..
где зеркало то?))
ZogG 03.02.10 21:49 # +0
это папка и есть локальный портаж(репа), там по папкам рассортированы ебилд локальные. вот и всё.
xT 03.02.10 23:39 # +0
окей, есть папка с _локальными_ ебилдами, а как сделать полное зеркало и дать к нему доступ?
ZogG 04.02.10 00:59 # +0
то есть другим компам по нету/локалке? если я правильно понял, то я знаю два способа
1)просто быть зеркалом, настроить у себя фтп и зашарить папку /usr/portage (думаю только ее). ты будешь синкать с оффсайта, люди с тебя
2) сделать свой оверлей, что намного интереснее, так как тут ты сможешь выкладывать не только ебилды с офсайта, но и свои ебилды, и программ, которых нет в портаже.
оверлей — это вроде как дополнительная репа не официальная. и есть программа layman, c помощью неё добовляем и удаляем эти репы. но с ними надо осторожно, а то захочешь обновить одну прогу, а обновит и другие, а ты и не заметишь. потому я предпочитаю качать ебилды с них самому и класть в локальный портаж.
ZogG 04.02.10 01:02 # +0
я понимаю как это работает, но сам оверлеи не открывал, хотя пользовал когда-то другие. потому описать толком сам вряд ли смогу( я и так косноязычен, а тут еще и собственного опыта нет). если интересно вот ссылка. но вот на вопросы может и смогу ответить.

%username% love BDSM!

HTaeD 04.02.10 11:37 # +0
layman -L покажет все доступные оверлеи, layman -a %overlay_name% добавит оверлей %overlay_name%.
Если же хотим локальный, то идём (у меня) /usr/local/portage/layman и создаём папку, имя которой и будет имя нашего оверлея (например просто over). Внутри неё ебилды храняться так же, как и во всех: папки с категориями (например gnome-base) и внутри их уже папки с ебилдами приложений (например nautilus).
В итоге путь к ебилду будет /usr/local/portage/layman/over/gnome-base/nautilus/nautilus-x.xx.x.ebuild
Daria 05.02.10 13:55 # +0
я конечно не спец, и даже не знаю, как устроены официальные репозитории, тем более те, что доступны из локальной сети. но как нибудь через правку /etc/hosts ведь можно более легче решить проблему, или?
Shtsh 05.02.10 14:14 # +0
Какую проблему? Как править? Не понял замечания
Мне нужно было записать на жесткиё диск и принести на другой компьютер репозиторий
Daria 06.02.10 22:55 # +0
> Зато на работе некоторые ресурсы
ок, я просто не сразу вкусила, что зеркало нужно для дома, для семьи.

Лучшие блоги (все 105)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2088 из 158 городов)
Топ пользователей Топ блогов

Новенькие: residum, ksn135, lestat, warzon, Extender
welinux.ru

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн