Список URL для загрузки

Ситуация: Дома интернет быстрый, но дорогой. В университете ещё быстрее и бесплатно. Можно ли при помощи emerge создать список из URL всех архивов, необходимых для установки данного пакета? Такой список можно было бы подать на вход wget в университете, и быстро всё закачать.

sorry

---

Нашёл. Оказывается emerge -fp выдаёт такой список.

Да вот только перенаправить вывод в файл не получается.

Ну дык ясен пень, он это в stderr выдает.
попробуй emerge -fp &> filename.lst
Только скриптец еще написать надо будет, который все это в нормальный вид будет приводить.

---
Gentoo / 2.6.11 / kde-3.4 (sometimes fluxfox)

Конечно надо

Конечно надо скрипт! :) Да не такой уж он и длинный. Вот каким я пользуюсь:

emerge -pf pakage_name 2>&1 | awk '/tp:/ { print $1 }'

Какой ключ для wget чтобы пропускать

Nelud написал(а):
Конечно надо скрипт! :) Да не такой уж он и длинный. Вот каким я пользуюсь:

emerge -pf pakage_name 2>&1 | awk '/tp:/ { print $1 }'

Всем привет,
очень интересная тема. Хочу добавить вопрос.
Есть файл, созданный способом, указанным выше.
В этом файле усть множество ссылок, на разные сервера, с одним файлом. Какой ключ необходимо указать wget, чтобы он пропускал при скачивании существующие файлы на жестком диске (которые былискачены с других URLов)?

Из логов я так понял, что wget скачает, проверит время создания файлы на диске и слитого с инета, если существующий файл не новее, то wget пропускает скаченный файл.

Я бы лучше

Я бы лучше создал из этого файла новый, с одной ссылкой на файл. Например, тем же способом, который обсуждался выше:

cat file | awk '/tp:/ { print $1 }' > new_file

2Rinus: для

2Rinus: для танкистов - прочитайте сообщение товарища Nelud внимательно... ;) Команда, предложенная им, оставит только одно зеркало (в конкретном случае - первое).

Re: 2Rinus: для

Archon написал(а):
2Rinus: для танкистов - прочитайте сообщение товарища Nelud внимательно... ;) Команда, предложенная им, оставит только одно зеркало (в конкретном случае - первое).

В таком случае есть вопрос:
"Не все файлы необходимые для закачки существуют на каждом зеркале. В этом случае пользователь останется без некоторых файлов? Можно ли решить данную проблему?"

P.S. Спасибо за ответ

Re: Я бы лучше

Rinus написал(а):
Я бы лучше создал из этого файла новый, с одной ссылкой на файл. Например, тем же способом, который обсуждался выше:

cat file | awk '/tp:/ { print $1 }' > new_file

Как изменить этот скрипт чтобы он создал файл, содержащие URL на сервер distfiles.gentoo.org?

Я считаю, что это будет самым правильным решением, т.к. вроде бы на этом сервере есть все файлы, необходимые для закачки.

P.S. Прошу меня поправить если я не прав. Спасибо.

Эта тема обсуждалась раньше.

Эта тема обсуждалась раньше.
Не могу найти ссылку на обсуждение, но там было предложено вот это решение http://gentooexperimental.org/script/repo/show/39
Единственный недостаток этого скрипта, нельзя вручную указывать выдавать тебе полное дерево пакетов или только те, которые неустановленны.

В общем связка

В общем связка вот этой команды
emerge -pf pakage_name 2>&1 | awk '/tp:/ { print $1 }' > url_list
И этого скрипта (взял с forum.gentoo.org.ua)
#!/usr/bin/python

import sys
import os

distdir='/usr/portage/distfiles/'

urlist=filter((lambda x : x), sys.stdin.read().split("\n"))

def foo(url):
return not os.path.isfile(distdir+os.path.basename(url))

for i in filter(foo, urlist):
print i
EOF

>>./remove list
Дадут нам файл list список урлов файлов которые надо закачать и их у нас нет в дистфайлах. Тема наверно на этом может быть закрыта??? И перенесена в faq???

вообще то все

вообще то все написано как ставить на
http://www.gentoo.org/doc/en/altinstall.xml

Ничего себе

Ничего себе скриптик!!! Как насчёт:
emerge -pf pakage_name 2>&1 | awk '/tp:/ { print $1 }'| while read f; do [ ! -s /usr/portage/distfiles/${f##*/} ] && echo $f; done > url_list
Если бы я хорошо знал awk, то, скорее всего, написал бы ещё более простой скрипт, а так приходится городить этот "while; do ; done"

вот бы еще к

вот бы еще к этому всему дельтап прикрутить была б вообще красота...

т.е. в список выдать зависимоть (которая обычно качается дельтапом), которую потом можно было бы выкачать на любой тачке, скопировать на первую и подсунуть дельтапу.

но, насколько я понимаю, это невозможно.

Это возможно!

Это возможно! Чтобы в этом убедиться, достаточно зайти сюда: http://linux01.gwdg.de/~nlissne/howtouse.html и посмотреть как формируется URL для дельт (только там инфа немного устарела --- надо версию 0.7 указывать). Самая большая проблема --- это автоматическое определение, какие у тебя есть старые дистфайлы. В этом даже сам deltup часто ошибается.

Повторы

Повторы встречаются.
Особенно kde-meta -- это кошмар
bash-2.05b# emerge -pf kde-meta 2>&1 | awk '/tp:/ { print $1 }'| while read f; do [ ! -s /usr/portage/distfiles/${f##*/} ]&& echo $f; done
http://distfiles.gentoo.org/distfiles/arts-1.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdelibs-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdeedu-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
http://distfiles.gentoo.org/distfiles/pth-1.4.0.tar.gz
http://distfiles.gentoo.org/distfiles/gpgme-1.0.2.tar.gz
http://distfiles.gentoo.org/distfiles/kdepim-3.4.1.tar.bz2
... и так далее ...

Это лечится, и

Это лечится, и очень просто: добавляем в конец скрипта "| sort -u". Таким образом получаем следующее:
# emerge -pf kde-meta 2>&1 | awk '/tp:/ { print $1 }'| while read f; do [ ! -s /usr/portage/distfiles/${f##*/} ]&& echo $f; done | sort -u

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".