Я нашел несколько зеркал с файлами. Но там копий по нескольким десяткам и выбрать все, но самые новые неполучится (очень много).
Можно как нибудь заполнить distfiles самыми новыми файлами (т.е самые новые ebuilds допустим есть
wine 0.9.49 0.9.50 0.9.51 а мне нужен только wine 0.9.51
Скачивание всего distfiles
Модератор: /dev/random
-
Sekta-N
- Сообщения: 854
- ОС: Зоопарк
Скачивание всего distfiles
Нет тут подписи и не будет.
-
Poor Fred
- Сообщения: 1575
- Статус: Pygoscelis papua
- ОС: Gentoo Linux, FreeBSD
Re: Скачивание всего distfiles
Насколько я знаю, в гентушных дистфайлах содержатся только актуальные дистфайлы, даже с опережением портежей на день или больше.
Ну а если же тебе нужно выбрать какие-то определенные версии, то возможно несколько вариантов: пропарсить все манифесты в портежах, либо получить список файлов с помощью rsync и потом править список. Потом тем же rsync'ом с помощью опции --files-from=... скачиваешь их. Либо формируешь список для wget. И в том и в другом случае потребуется огромное ручное редактирование этих списков.
Есть еще один способ, но сам я его еще не пробовал. Удаляешь в портежах в каталогах категорий программ (например app-office) манифесты, переходишь в него и командуешь
Код: Выделить всё
emerge -f *Будут закачиваться самые последние (незамаскированные при этом) версии пакетов. Удалять нужно потому что emerge не знает такого пакета metadata.xml и затыкается на нем.
В этом случае лучше поставить getdelta (см. Вики) и тянуть дельтами - сэкономишь много трафика.
Убить всех человеков!
-
n1kt0
- Сообщения: 289
- ОС: GNU/Gentoo
-
Sekta-N
- Сообщения: 854
- ОС: Зоопарк
Re: Скачивание всего distfiles
А как игнорировать маски, он на них затыкается.
Нет тут подписи и не будет.
-
Nikoli
- Сообщения: 554
- Статус: Житель
- ОС: Gentoo
Re: Скачивание всего distfiles
Sekta-N, вы уверены, что усилия по отсечению "лишних" исходников оправданны? Сейчас distfiles у меня занимает 49 Гб, может и вам будет лучше выделить эти гигабайты для полноценного зеркала, а не мучиться?
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Скачивание всего distfiles
Sekta-N писал(а): ↑21.12.2007 09:37Я нашел несколько зеркал с файлами. Но там копий по нескольким десяткам и выбрать все, но самые новые неполучится (очень много).
Можно как нибудь заполнить distfiles самыми новыми файлами (т.е самые новые ebuilds допустим есть
wine 0.9.49 0.9.50 0.9.51 а мне нужен только wine 0.9.51
Как бы помягче сказать...
Для личного использования -- затея полностью лишена смысла...
Не для личного -- так делать НЕЛЬЗЯ. Почитайте про ACCEPT_KEYWORDS и поймите, что именно из-за них будет по 2, 3, 4, ... "новых" файлов.
-
Mellon
- Сообщения: 655
- Статус: Powered by Gentoo
- ОС: Gentoo
Re: Скачивание всего distfiles
Не понимаю, что за пустая болтовня
столько дней наблюдаю за топиком, и никто нормально чуваку не ответит, чот все пытаются отговорить, уговорить так не делать, блаблабла...
Кароче, чувак, действуешь по следующей схеме с вариациями на тему emerge-pf (можно взять готовый скрипт emerge-pf в этом разделе, а можно допилить более простые команды из недавних топиков).
Может не работать, тогда шлите ошибки (можно в личку), а лучше допилите сами. Написано на коленке, всё очень просто, никаких гарантий.
Полученные списки url кормите вашей любимой качалке.
Кароче, чувак, действуешь по следующей схеме с вариациями на тему emerge-pf (можно взять готовый скрипт emerge-pf в этом разделе, а можно допилить более простые команды из недавних топиков).
Код: Выделить всё
distributed_fetching() {
pkg_list=`tempfile || echo /tmp/_emerge-tmp1_`
url_list_st=`tempfile || echo /tmp/_emerge-tmp2_`
file_list_st=`tempfile || echo /tmp/_emerge-tmp3_`
url_list_un=`tempfile || echo /tmp/_emerge-tmp2_`
file_list_un=`tempfile || echo /tmp/_emerge-tmp3_`
backuping() {
date=`date +%d.%m.%Y.%H.%M.%S`
cp /etc/portage/package.unmask /etc/portage/package.unmask.$date
mv /etc/portage/package.unmask /etc/portage/package.unmask.back
cp /etc/portage/package.mask /etc/portage/package.mask.$date
mv /etc/portage/package.mask /etc/portage/package.mask.back
}
restoring() {
mv /etc/portage/package.unmask.back /etc/portage/package.unmask
mv /etc/portage/package.mask.back /etc/portage/package.mask
}
replacing() {
cat $pkg_list > /etc/portage/package.unmask
}
gen_pkg_list() # Generate a list of all available packages.
{
esearch -o "%p\n" ^ > $pkg_list
}
gen_source() {
stable() {
cat $pkg_list | xargs -r -L 1 emerge-pf -m -O > $url_list_st 2> $file_list_st
}
unstable() {
ACCEPT_KEYWORDS="**" cat $pkg_list | xargs -r -L 1 emerge-pf -m -O > $url_list_un 2> $file_list_un
}
stable
unstable
}
gen_output_lists() {
stable() {
grep '^http:' $url_list_st > /tmp/http_url_list_st.txt
cat /tmp/http_url_list_st.txt | xargs -r -L 1 basename | xargs -r -L 1 -I file grep -m1 "file" /tmp/http_url_list_st.txt > /tmp/http_url_wm_list_st.txt
}
unstable() {
grep '^http:' $url_list_un > /tmp/http_url_list_un.txt
cat /tmp/http_url_list_un.txt | xargs -r -L 1 basename | xargs -r -L 1 -I file grep -m1 "file" /tmp/http_url_list_un.txt > /tmp/http_url_wm_list_un.txt
}
stable
unstable
}
backuping
gen_pkg_list
replacing
gen_source
gen_output_lists
restoring
cat $file_list_st > /tmp/file_list_st.txt
cat $file_list_un > /tmp/file_list_un.txt
cat $url_list_st > /tmp/url_list_st
cat $url_list_un > /tmp/url_list_un
}
distributed_fetchingМожет не работать, тогда шлите ошибки (можно в личку), а лучше допилите сами. Написано на коленке, всё очень просто, никаких гарантий.
Полученные списки url кормите вашей любимой качалке.
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
--------------------
Переворачиватель пингвинов
-
Sekta-N
- Сообщения: 854
- ОС: Зоопарк
Re: Скачивание всего distfiles
Mellon:
спасибо. я нашел более легкий способ:
переходим в директорию с нужным типом прог и набераем:
for i in *; do emerge -F $i; done
Весь мусор отфильтруется сам.
спасибо. я нашел более легкий способ:
переходим в директорию с нужным типом прог и набераем:
for i in *; do emerge -F $i; done
Весь мусор отфильтруется сам.
Нет тут подписи и не будет.
-
Poor Fred
- Сообщения: 1575
- Статус: Pygoscelis papua
- ОС: Gentoo Linux, FreeBSD
-
/dev/random
- Администратор
- Сообщения: 5502
- ОС: Gentoo
-
Redfoxnet
- Сообщения: 394
- ОС: Gentoo
Re: Скачивание всего distfiles
Сделай копию дерева портажей, размаскируй и черуться)
Portage 2.1.7.16 (default/linux/amd64/10.0, gcc-4.4.2, glibc-2.11-r1, 2.6.32-gentoo-r2 x86_64) @ Intel® Core™2 Duo CPU E6750
Челябинская группа пользователей GNU/Linux
Челябинская группа пользователей GNU/Linux
-
Burnout
- Сообщения: 88
- ОС: Gentoo Linux
Re: Скачивание всего distfiles
А что, через ACCEPT_KEYWORDS нельзя сделать? Не надо чрутиться и размаскировывать. Никакой головной боли. Просто выбираете нужные типы архитектуры и качаете на здоровье. 
-
Mellon
- Сообщения: 655
- Статус: Powered by Gentoo
- ОС: Gentoo
Re: Скачивание всего distfiles
чуваки, а читать вас не учили?
Пжалста размаскируйте через ACCEPT_KEYWORDS следующую бяку, для примеру.
И заверните...
гении хака, хотяб осиливайте то, что ранее написано хотяб элементарным языком неподрожаемого Bash'a. ага
Кстати, про маски...
For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
Пжалста размаскируйте через ACCEPT_KEYWORDS следующую бяку, для примеру.
Код: Выделить всё
% emerge -pF dev-ml/netclient
These are the packages that would be fetched, in order:
Calculating dependencies h
!!! All ebuilds that could satisfy "dev-ml/netclient" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-ml/netclient-0.3.1 (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Alexis Ballier <aballier@gentoo.org> (03 Jan 2008)
# They are now included in dev-ml/ocamlnet
# Removal due: 03 Feb 2008
- dev-ml/netclient-0.90.4 (masked by: package.mask, ~x86 keyword)
For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
[1] 2466 exit 1 emerge -pF dev-ml/netclientИ заверните...
гении хака, хотяб осиливайте то, что ранее написано хотяб элементарным языком неподрожаемого Bash'a. ага
Кстати, про маски...
For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
--------------------
Переворачиватель пингвинов