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

Смотреть нарезки видео

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

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

Shtsh 03.02.2010 16:04

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

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

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

Поэтому я прихожу на работу, подключаю винт, монтирую его (например, в /tmp/a)
Затем делаю всего одну команду
1
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 для работы с репозиторием на диске
1
deb file:///media/disk/deb sid main,contrib,non-free


Но иногда бывает, что есть несколько deb-пакетов и хочется, чтобы был свой репозиторий, из которого можно ставить банальным apt
Вот, что делаю я в этом случае
Сначала генерируем новый ключ
1
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 должен находиться ваш ключ. Теперь сохраняем его и даём права на выполнение
1
chmod +x generate-repo


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


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


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


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


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


Тэги: apt debian debmirror
+ 7 -
Похожие Поделиться

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

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

у меня stable (main, contrib, non-free) вместе с src весит ~134GB
а обновления безопасности ~10GB
Shtsh 03.02.2010 16:18 #
+ 0 -
Для sid нету обновлений безопасности, да и у меня именно бинарное зеркало. Без src пакетов, а это - самая тяжёлая часть
mirivlad 03.02.2010 17:21 #
+ 0 -
Для личной сетки - типа домашней или сети небольшой организации я бы посоветовал apt-cacher. Принцип действия похож на apt-proxy, но народ говорит постабильнее и пошустрее. Врать не буду - сам не проверял на счет этого. Хотя у меня работает прекрасно. Его плюс в том что не приходится много места занимать ненужным барахлом и в на порядок отличном в меньшую сторону от апт-миррор трафике.
ZogG 03.02.2010 19:57 #
+ 0 -
спасибо, позновательно. в генту немного проще с этим делом обстоит, просто есть изначально локальная папка /usr/local/portage
там создаем папку к примеру net-p2p (подвид програм), внутри папку с наванием проги, к примеру transmission. кладем туда ебилд (transmission-9999.ebuild). добовляем его(делает файл манифест) ebuild transmission-9999.ebuild digest( можно собрать сразу кстати, вроде ebuild * emerge). это проверит нет ли ошибок в ебилде и работает ли ссылка на скачку файла(он же у нас не локально лежит, кстати проверка только на урл, на свн и гит не проверяет). потом при сборке (если не замаскировано) трансмишиона соберет последнюю версию ( в данном случаем 9999)
xT 03.02.2010 21:34 #
+ 0 -
как-то неясно все написал :)
проще - создаем папку, что-то пишем, проверяем..
где зеркало то?))
ZogG 03.02.2010 21:49 #
+ 0 -
это папка и есть локальный портаж(репа), там по папкам рассортированы ебилд локальные. вот и всё.
xT 03.02.2010 23:39 #
+ 0 -
окей, есть папка с _локальными_ ебилдами, а как сделать полное зеркало и дать к нему доступ?
ZogG 04.02.2010 00:59 #
+ 0 -
то есть другим компам по нету/локалке? если я правильно понял, то я знаю два способа
1)просто быть зеркалом, настроить у себя фтп и зашарить папку /usr/portage (думаю только ее). ты будешь синкать с оффсайта, люди с тебя
2) сделать свой оверлей, что намного интереснее, так как тут ты сможешь выкладывать не только ебилды с офсайта, но и свои ебилды, и программ, которых нет в портаже.
оверлей — это вроде как дополнительная репа не официальная. и есть программа layman, c помощью неё добовляем и удаляем эти репы. но с ними надо осторожно, а то захочешь обновить одну прогу, а обновит и другие, а ты и не заметишь. потому я предпочитаю качать ебилды с них самому и класть в локальный портаж.
ZogG 04.02.2010 01:02 #
+ 0 -
я понимаю как это работает, но сам оверлеи не открывал, хотя пользовал когда-то другие. потому описать толком сам вряд ли смогу( я и так косноязычен, а тут еще и собственного опыта нет). если интересно вот ссылка. но вот на вопросы может и смогу ответить.
Vass 04.02.2010 10:18 #
+ 0 -
Извини, но что-то как-то нифига не проще, я вообще ничего не понял :) Хотя наверное это вопрос привычки к дистру.
HTaeD 04.02.2010 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.2010 13:55 #
+ 0 -
я конечно не спец, и даже не знаю, как устроены официальные репозитории, тем более те, что доступны из локальной сети. но как нибудь через правку /etc/hosts ведь можно более легче решить проблему, или?
Shtsh 05.02.2010 14:14 #
+ 0 -
Какую проблему? Как править? Не понял замечания
Мне нужно было записать на жесткиё диск и принести на другой компьютер репозиторий
Daria 06.02.2010 22:55 #
+ 0 -
> Зато на работе некоторые ресурсы
ок, я просто не сразу вкусила, что зеркало нужно для дома, для семьи.

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

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


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

Online video HD

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

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

Full HD video online

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

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

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