Исправленный скрипт, проверено на сизифе
index=contents_index; \
basedir=$HOME'/.'$index; \
apt-repo | \
awk -F" " \
'{ \
if ( $2 ~ /http:/ ) { print $2 "/" $3 } \
else if ( $3 ~ /http:/ ) { print $3 "/" $4 } \
}' \
| sed 's/$/\/base\/contents_index/g' \
| while read line; \
do \
repocount=$(( $repocount + 1 )); [[ $basedir ]] || mkdir -p $basedir'/'$repocount; \
rm -f $basedir'/'$repocount/*; \
wget -c $line -P $basedir'/'$repocount; \
done
Скрипт ищет URI по второму или третьему полю.
Если каталоги для сохранения contents_index не существуют, создаёт их.
При повторном запуске уничтожает файлы contents_index и перекачивает эти файлы.
И вроде бы даже можно что-то найти, - поиск исполняемого файла или пакета с именем audacity:
# grep -rhi audacity ~/.contents_index/ | grep '\/bin\|\/sbin'
/usr/bin/audacity audacity
Проба скрипта на sources.list из p7, - разница только в третьей строке: grep вместо apt-repo
# index=contents_index; \
> basedir=$HOME'/.'$index; \
> grep -rh http /home/user/Загрузки/temporar/apt-conf-branch_p7/etc/apt/sources.list.d/alt.list | \
> awk -F" " \
> '{ \
> if ( $2 ~ /http:/ ) { print $2 "/" $3 } \
> else if ( $3 ~ /http:/ ) { print $3 "/" $4 } \
> }' \
> | sed 's/$/\/base\/contents_index/g' \
> | while read line; \
> do \
> repocount=$(( $repocount + 1 )); [[ $basedir ]] || mkdir -p $basedir'/'$repocount; \
> rm -f $basedir'/'$repocount/*; \
> wget -c $line -P $basedir'/'$repocount; \
> done
--2016-07-19 09:11:48-- http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/i586/base/contents_index
Распознаётся ftp.altlinux.org (ftp.altlinux.org)… 62.152.55.238
Подключение к ftp.altlinux.org (ftp.altlinux.org)|62.152.55.238|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 109383354 (104M) [application/octet-stream]
Сохранение в: «/root/.contents_index/1/contents_index»
contents_index 100%[=================================>] 104,32M 290KB/s in 6m 37s
2016-07-19 09:18:25 (269 KB/s) - «/root/.contents_index/1/contents_index» сохранён [109383354/109383354]
rm: невозможно удалить «/root/.contents_index/2/i586»: Это каталог
rm: невозможно удалить «/root/.contents_index/2/noarch»: Это каталог
--2016-07-19 09:18:25-- http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/noarch/base/contents_index
Распознаётся ftp.altlinux.org (ftp.altlinux.org)… 62.152.55.238
Подключение к ftp.altlinux.org (ftp.altlinux.org)|62.152.55.238|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 257741858 (246M) [application/octet-stream]
Сохранение в: «/root/.contents_index/2/contents_index»
contents_index 100%[=================================>] 245,80M 278KB/s in 15m 35s
2016-07-19 09:34:01 (269 KB/s) - «/root/.contents_index/2/contents_index» сохранён [257741858/257741858]
и следом поиск kdm
# grep -rhi kdm ~/.contents_index/ | grep '\/bin\|\/sbin'
/usr/bin/kdm /usr/bin/kdm
/usr/bin/kdm_config /usr/bin/kdm_config
/usr/bin/kdmctl /usr/bin/kdmctl
/usr/lib/kde3/bin/genkdmconf kdebase-kdm
/usr/lib/kde3/bin/kdm_greet kdebase-kdm
/usr/lib/kde3/bin/kdmtsak kdebase-kdm
/usr/lib/kde3/bin/krootimage kdebase-kdm
/usr/lib/kde4/bin/genkdmconf kde4base-workspace-kdm
Что-то он выдал местами чепуху какую-то:
Файл /usr/bin/kdmctl относится к пакету /usr/bin/kdmctl
Это только мне так померещилось?