LINUX.ORG.RU

Cupt 2.6

 ,


1

1

Вышла новая стабильная версия программы Cupt — полуофициального менеджера пакетов высокого уровня в дистрибутивах Debian и производных от него. Cupt стремится к логичности, скорости, безошибочности, нетребовательности к ресурсам системы, а также предоставляет некоторые отсутствующие у конкурентов экзотические возможности. Cupt состоит из С++11-библиотеки libcupt, консольной оболочки cupt и модулей доступа к репозиториям libcupt-downloadmethod-*.

Относительно версии 2.5 произошли следующие основные изменения:

  • поддержка файлов метаданных формата InRelease;
  • снижено время начальной загрузки за счёт построения индекса второго уровня метаданных репозиториев («index-of-index»);
  • новый вариант ответа rc в диалоге просмотра предлагаемых изменений для просмотра цепочки причин изменений для конкретного пакета (пример);
  • новые параметры для задания в командах, следует ли рассматривать только лучшую версию пакета/выражения (--select=traditional, по-умолчанию), либо же все подходящие версии пакета/выражения (--select=flexible) (пример);
  • новые параметры --must, --try, --wish, а также более общий --importance= для задания относительной важности запрашиваемых действий (примеры);
  • команды markauto и unmarkauto теперь, как и остальные команды, могут вызывать связанные действия (например, удаление более не нужных пакетов), а также быть смешанными с другими запросами с помощью новых параметров --markauto и --unmarkauto;
  • новые параметры --asauto=yes, --asauto=no and --asauto=default для управления, будут ли помечены пакеты, (прямо) установленные любой командой, как автоматически установленные или же как вручную установленные (примеры);
  • новый экспериментальный синтаксис для выборки групп пакетов/версий — «FSE» (примеры);
  • поддержка параметров trusted=yes и trusted=no в файлах типа sources.list;
  • поддержка версий одного пакета с одной и той же строкой версии, но разными (либо отсутствующими) хэш-суммами с помощью добавления суффиксов формата «^xyz» (например, «1.2.3», «1.2.3^installed», «1.2.3^dhs0»);
  • точечные улучшения производительности и потребления памяти, а также исправления ошибок.

>>> Подробности

★★★★

Проверено: maxcom ()

Оно умеет не сносить полсистемы при установке простейшего пакета?

queen3 ★★★★★ ()

You might want to use Cupt to have these, to my best knowledge, unique features:

- integration with debdelta (binary package deltas)

- synchronization by source versions

- strict, full-case, configurable problem resolver

- full tree errors for unresolvable dependency problems

- package manager shell

- satisfy subcommand

- changeset-based system modifications for systems with low free disk space

- option name checker (for the 'cupt::*' option family)

- dpkg action sequences with heuristics to make an average number of packages in interim states low

Also, one of Cupt's targets is to have zero non-wishlist bugs. You might want to try it if you encountered a bug in other package manager(s).

Deleted ()
Ответ на: комментарий от anonymous

auto-remove я бы вообще отключил, фича бесполезная полностью, у меня в пакеты, «не установленные руками», очень часто попадают те, которые реально мне нужны.

vitalif ★★★★ ()
Ответ на: комментарий от Darth_Revan

Да я его как-то не сохранял... Как только, так сразу. Но там не авторемув был, там именно проблемы, когда какие-то конфликты в том что просишь поставить.

vitalif ★★★★ ()
Ответ на: комментарий от Deleted

to have zero non-wishlist bugs

ну это вообще легко достигается - просто помечаем все баги которые не нравятся автору-неосилятору как вишлист, делов-то :)

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

anonymous ()

Если ментейнер обкурился и накосячил с зависимостями, никакой супер-умный менеджер пакетов не справится. А в дебиане упоротых хватает.

Lordwind ★★★★★ ()
me@home ~ $ sudo cupt safe-upgrade
...
Dangerous actions selected. Type 'Yes, do as I say!' if you want to continue, or anything else to go back:

Type 'Yes, do as I say!'

WTF???

c0smonaut ()
Последнее исправление: c0smonaut (всего исправлений: 1)
Ответ на: комментарий от c0smonaut

Type 'Yes, do as I say!'

WTF???

Никогда не видел, как это же говорит apt-get?

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

Жаль. Но всё же не в печь, а в доработку :-).

anonymous ()
Ответ на: комментарий от Gordon01

есть apt, aptitude и apt-get

Последнее входит в первое.

с любовью вспоминаю мандривовский urpmi который делал абсолютно все и при этом обладал в 9000 раз большими возможностями чем этот ворох вместе взятый.

Это urpmi-то? Рассказывайте эти сказки тому, кто им никогда не пользовался.

anonymous ()

состоит из С++11-библиотеки libcupt

собственно, после этого можно сразу закапывать... пакетный мэнэджер может быть написан только на pure c, плюсы, питон, перл это всё от лукавого, если вопрос касается системных утилит.

anonymous ()
Ответ на: комментарий от vitalif

И как тогда рулить пакетами? Установишь A, которое потянет B, C, D, E, F, а потом удалишь A и B, C, D, E, F останутся в системе. И кому это надо? Учись ставить то, что надо сразу или apt-mark manual, если вдруг задним числом решил всё перевертать.

anonymous ()
Ответ на: комментарий от anonymous

Пакетный менеджер достаточно сложная штука, чтобы не страдать ещё большим велосипедизмом и написать его на C++ вместо C.

anonymous ()
Ответ на: комментарий от obolon_svitle

Ну плюсы же, ёпта. 70% времени разраба на плюсах — это поиск ликов. В то время, как нормальные девелоперы пишут код, плюсовики ищут лики. Видимо в купте всё ещё ищут.

anonymous ()
Ответ на: комментарий от dvrts

Наркоман штоле, у юма нет и 9% возможностей, что есть у aptitude. Я уже молчу о том, что юм на пейздоне, читай 'дико тормозной'.

anonymous ()
Ответ на: комментарий от NaN

Зачем он нужен, если есть APT и Aptitude.

Они на Python, Cupt на C++.

toney ★★★★★ ()
Ответ на: комментарий от LinuxDebian

apt-get install mc

сразу видно лох...

Где я что не так сделал?

ты родился, можно не продолжать...

1. Откуда берутся такие трусы как ты которые боятся залогинится.

не знаю как анонимусу задовавшему вопрос, а мне, лично, тупо в лом логиниться

2. Зачем так толсто тролить?

зачем пользоваться заезжеными, набившими аскомину фразами? своих мыслей нет что ле?

anonymous ()
Ответ на: комментарий от Lordwind

А в дебиане упоротых хватает.

Раз вы так в этом уверены, вам не составит труда привести не покрытый мхом и плесенью пример, правда?

anonymous ()
Ответ на: комментарий от toney

Зачем он нужен, если есть APT и Aptitude.

Они на Python, Cupt на C++.

Они все на C++.

anonymous ()
Ответ на: комментарий от Darth_Revan

Точно, у меня вообще убунты нигде нет, дебианы только))

vitalif ★★★★ ()
Ответ на: комментарий от queen3

Aptitude предлагает удалить полсистемы только у всякого лошья, которое понаставит пакетов из разных левых репозиториев не разобравшийсь.

anonymous ()
Ответ на: комментарий от vitalif

Тогда чини руки :3.
P.S. Кстати говоря, aptitude install -f пытается undo все операции, которые были сделаны не через aptitude.

Darth_Revan ★★★★★ ()
Ответ на: комментарий от anonymous

Ну останутся, ну и х.. с ними. Я минимизацией числа установленных пакетов не заморачиваюсь :)

vitalif ★★★★ ()
Ответ на: комментарий от anonymous

Вчера или позавчера утром в сиде какой-то пакет (не помню название) обновился и потащил с собой на удаление пол кде, баг таки оперативно исправили. Месяц назад glx-diversions после обновления тоже имел какие-то проблемы с зависимостями (емнип никаким боком не хотел удаляться). Да, на стейбле такое практически никогда не случается, но не одной веткой живем.

obolon_svitle ()
Ответ на: комментарий от anonymous

apt-get предлагает полсистемы снести у всякого лошья, которое в multilib по самые помидоры.

queen3 ★★★★★ ()
Ответ на: комментарий от obolon_svitle

Каким боком обычные ошибки к упоротости? Тем более в unstable, в котором так и должно быть.

Кроме того, советую использовать apt-get вместо aptitude всюду, где это возможно. Он не так склонен принимать самостоятельно решения, от которых волосы шевелятся в самых разных местах.

anonymous ()
Ответ на: комментарий от anonymous

Для труъ сообщаю, что проблема в упоротости отдельных ментейнеров, которые не обновляют пакеты. Завтра такие наркоманы изговнякают ваше кошерное Qt, будете в консольке сидеть.

Lordwind ★★★★★ ()
Ответ на: комментарий от Darth_Revan

А чо их чинить, когда они с аптгетом прекрасно совместимы =)

А про P.S - это как? Оно шо, пытается отменить то, что апт делал?

vitalif ★★★★ ()
Ответ на: комментарий от Lordwind

В кошерном Qt следят за обратной совместимостью.

anonymous ()
Ответ на: комментарий от vitalif

А про P.S - это как? Оно шо, пытается отменить то, что апт делал?

Да, если пакет был удалён с apt-get, то aptitude install -f предложит его установить. Решение: интерактивность aptitude :-).

Хотите продолжить? [Y/n/?] _ foo
Хотите продолжить? [Y/n/?] + bar

Darth_Revan ★★★★★ ()
Ответ на: комментарий от anonymous

Он не так склонен принимать самостоятельно решения, от которых волосы шевелятся в самых разных местах

Но при этом apt-get выдаёт решение безальтернативно, а aptitude даёт серию опций + интерактивность.

Darth_Revan ★★★★★ ()
Ответ на: комментарий от Darth_Revan

Да, да, и все опции в этой серии - одна другой краше.

Aptitude: давай снесём вот эти 50 пакетов и поставим вот эти 20? Отвечаешь - нет, aptitude: хм... щас подумаю... А может вот эти 100 снесём? Отвечаешь ей «нет» снова и снова, и каждый раз время ожидания нового варианта становится дольше, а сами варианты - веселее...

А apt-get сразу выдаёт либо ОДИН вариант, но правильный, либо «извини, чувак, поставить не могу» - тогда указываешь конкретные версии.

vitalif ★★★★ ()
Ответ на: комментарий от Darth_Revan

Но при этом apt-get выдаёт решение безальтернативно, а aptitude даёт серию опций + интерактивность.

Но при этом в aptitude куча багов, из-за которых система превращается в свалку, а из решений, которые предлагает aptitude, одно хуже другого, и приходится жонглировать A и R, чтобы через n итераций наконец добраться до чего-то более-менее вменяемого.

anonymous ()

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

d_a ★★★★★ ()
Ответ на: комментарий от vitalif

В aptitude как раз решатель зависимостей вполне себе безумный - я им вообще не пользуюсь, т.к. он мне почему-то каждый раз полсистемы снести предлагает.

Потому что кто-то не осилил. Предложит снести - ввести «нет» надо, и тогда он нормальный вариант предложит.

curufinwe ★★★★★ ()
Ответ на: комментарий от curufinwe

Ага, щас. Говорил я ему «нет» - варианты всё задорнее и задорнее становились)

vitalif ★★★★ ()

JackYF, спасибо вам за разработку cupt. Я сам пользуюсь apt-get, но понимаю его ограниченность в сложных конфигурациях, а aptitude имеет множество ошибок и неадекватный решатель, так что хорошо иметь гибкий и функциональный пакетный менеджер на будущее, ибо рано или поздно этот вопрос встанет в сообществе Debian, как сейчас встал вопрос о системе инициализации.

В целом cupt оставил приятное впечатление за непродолжительный период тестирования: быстрый, с адекватным решателем (что предлагает сделать aptitude при попытке установки iceweasel из unstable в stable - это что-то!). Правда, есть и недостатки: поисковая выдача аналогична apt-cache, тогда как у aptitude она отформатирована в таблицу, что позволяет намного быстрее ориентироваться в груде текста; в принципе, над оформлением вывода нужно поработать, ибо сейчас оно слишком подробное, содержит ненужную информацию.

Кроме того, наткнулся на баг: при создании снимка командой cupt snapshot save snapshot-«`date`» из-за пробелов в имени возникает проблема при его удалении, ибо команде rm передаётся неэкранированный путь к каталогу /var/lib/cupt/snapshots/имя.

Но, как я уже сказал, в общем менеджер понравился. Удачи и успехов вам!

anonymous ()
Ответ на: комментарий от anonymous

Спасибо за предметный отзыв.

над оформлением вывода нужно поработать

Согласен. Много что ещё предстоить добавить/улучшить, и это в том числе.

cupt snapshot save snapshot-«`date`

Добавил в TODO.

JackYF ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.