Bug 6939

Summary: Wish: cancel download but install already downloaded
Product: Sisyphus Reporter: burov dmitry <the_arioch>
Component: synapticAssignee: Anton Farygin <rider>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: darktemplar, mike, rider, snejok
Version: unstable   
Hardware: all   
OS: Linux   

Description burov dmitry 2005-05-24 10:22:12 MSD
Как бы хорошо, чтобы синаптик можно было прервать во время загрузки пакетов, но 
чтобы уже скачанное он все же поставил!
Comment 1 Andrey Rahmatullin 2005-05-24 13:16:49 MSD
Так транзакции же.
Вдруг curl скачается, а libcurl еще нет - кого ставить будем?
Comment 2 Sviatoslav Sviridov 2005-05-31 04:43:13 MSD
(In reply to comment #1)
> Так транзакции же.
> Вдруг curl скачается, а libcurl еще нет - кого ставить будем?

Вот-вот, нехорошо будет получаться...

А вообще это больше относится к функциональности апта, а не синаптика... 

могу предложить workaround в 2 действия вместо одного:

1. выбрать пакеты для установки, начать скачивать, оборвать закачку.
2. использовать apt-get install --no-download -m <pkglist>
Тогда апт попытается поставить все пакеты из списка, доступные локально, причем
с учетом зависимостей... вот только я давно уже не пользовался этой фичей,
поэтому не помню - будет ли учитывать апт пакеты в кэше... по-моему, будет...
Есть здесь также засада: если апт не удаляет чатично загруженные пакеты, то есть
вероятность, что апт попытается затем установить такой пакет, что вызовет ругань
и ошибки во время установки.

Соответствующих ручек в синаптике нет, но можно попробовать упралять этим через
прямую установку соответствующих значений в конфигурации (APT::Get::No-Download,
APT::Get::ignore-missing), хотя я не знаю, будет ли это работать в синаптике...
все равно из командной строки это быстрее получится :)
Comment 3 burov dmitry 2005-06-02 13:00:09 MSD
#1: ни одного из, бо не удовлетворяют по зависимостям.
Зато если скачался, например, libcdparanoia & curl, но не успел libcurl - то это 
не причина не поставить Параною :-)

#2:
Из командной строки неудобно списки набирать. Там же auto-completion не работает
 :-)

Вот если бы синаптик разрешал перед запуском apt'а его командную строчку 
подправить - другое дело.

Частично скачанные пакеты лежат в кэше в отдельной папке и по идее не должны 
мешать --no-download

Можете перевесить на apt :-)
Я этот "баг" повесил как закладку. Вдруг кто-то когда-то подумает, чем бы apt 
улучшить, чего тупые юзвери захотят? - а тут уже и ответ.
Comment 4 Sviatoslav Sviridov 2005-06-02 13:15:13 MSD
(In reply to comment #3)
> #2:
> Из командной строки неудобно списки набирать. Там же auto-completion не работает
>  :-)
> 
> Вот если бы синаптик разрешал перед запуском apt'а его командную строчку 
> подправить - другое дело.

так он разрешает, но не так удобно, как это можно сделать в консоли :)
Меню "Настройки" -> "Установить внутренний параметр..." делает то же самое, что
и ключик -o у апта (а все остальные ключи по сути - сокращение для -o)... ну и 
если это надо на постоянной основе, то можно и совсем в /etc/apt/apt.conf
прописать....
 
> Частично скачанные пакеты лежат в кэше в отдельной папке и по идее не должны 
> мешать --no-download

я имел ввиду, что если скачалась только половина пакета, то он не сможет быть
установлен.... вот только тут я не помню - проверяет ли апт размер, если пакет
уже лежит в кэше или нет... если нет, то здесь можно попасть на то, что
недокачанный пакет будет считаться как готовый к установке... хотя, наверно,
этого и не произойдет и тогда здесь все будет хорошо.
Comment 5 burov dmitry 2005-06-02 18:39:09 MSD
Это не есть "подправить".
Вот если бы он сказал "Сейчас я запущу apt с такими ключами, не хочшеь ли 
отсебятины вставить?" - тогда другое бы дело. Хотя опасная фича была бы :-)

> проверяет ли апт размер, если пакет уже лежит в кэше или нет

Он проверяет цифровую подпись AFAIR.
Но я тоже повторюсь - если пакет недокачен, то он НЕ леэит в кэше, а лежит в 
отдельной папке специально для недокачанных пакетов.
Comment 6 Sviatoslav Sviridov 2005-06-02 18:49:15 MSD
(In reply to comment #5)
> Это не есть "подправить".
> Вот если бы он сказал "Сейчас я запущу apt с такими ключами, не хочшеь ли 
> отсебятины вставить?" - тогда другое бы дело. Хотя опасная фича была бы :-)

а он не запускает апт :)
Он сам работает как апт, используя libapt-pkg, поэтому это ему самому надо либо
передавать ключи, либо устанавливать в конфиге, либо в рантайме, все эти
варианты возможны

> > проверяет ли апт размер, если пакет уже лежит в кэше или нет
> 
> Он проверяет цифровую подпись AFAIR.

Ну это уже потом, и то, если попрошено

> Но я тоже повторюсь - если пакет недокачен, то он НЕ леэит в кэше, а лежит в 
> отдельной папке специально для недокачанных пакетов.
Верно, совсем я про это забыл :)