Почему этот пакет Emacs является имеющим версию в 46,1? 26 максимально возможная основная версия сегодня

Я создавал свой собственный emacs, потому что я хочу устранить некоторые проблемы в нем и получить исправления ошибок в восходящем направлении. Однако Ubuntu продолжает автоматически удалять мой собственный созданный emacs, и я должен продолжать восстанавливать и переустанавливать его.

Вот мой вывод apt-cache policy emacs когда я лег спать вчера вечером:

~/emacs$ sudo apt-cache policy emacs
emacs:
  Installed: 26.0.50.aaron-1
  Candidate: 46.1
  Version table:
     46.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
 *** 26.0.50.aaron-1 100
        100 /var/lib/dpkg/status

Здесь это - когда я просыпаюсь:

~/emacs$ sudo apt-cache policy emacs
[sudo] password for excelsiora:
emacs:
  Installed: 46.1
  Candidate: 46.1
  Version table:
 *** 46.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status

Почему этот пакет является имеющим версию в 46 вместо 24 или 25? 26 в настоящее время самая высокая главная emacs версия, которую можно получить.

Я вижу, что это - метапакет: https://packages.debian.org/source/jessie/emacs-defaults

Почему Ubuntu обновляет программное обеспечение без выяснения?

Основной Вопрос: Что я, как предполагается, делаю - присваивают моей версии пакета номер выше, чем 46 только, чтобы заставить его придерживаться?

Это походит на ужасный взлом, или возможно это - то, как он, как предполагается, работает?

10
задан 10 February 2017 в 09:00

3 ответа

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

  • emacs просто метапакет, который указывает на последнюю версию emacs... в Ubuntu (в настоящее время emacs24). Эти "46.1" просто версия пакета, сознательно высоко для перемещения более старых emacs пакетов. См. apt show emacs некоторое время больше информации

  • , Вы являетесь переопределяющими что emacs пакет с более низким пакетом номера версии. Ubuntu располагает по приоритетам версию пакета, установленную номером версии. Самым высоким будет тот, который установлен (при установке или обновлении), следовательно Ваш постоянно guzzumped.

    Вы видите это в эти apt-cache policy emacs вывод. Кандидат является старшей версией.

  • можно работать вокруг приоритетов с прикреплением, или уклонение номера версии (что-то выше, чем 46,1) кроме этого действительно скорее игнорирует проблему (и может уехать emacs24 пакет на месте).

  • Ваш наилучший вариант удаляет emacs пакет и просто создает и устанавливает emacs25 или emacs26 пакет вместо этого. Вы могли также создавать emacs метапакет, который зависел от Вашего пакета версии на имя, но это - просто тщеславие. Я не сделал бы этого, если Вы не планирование распределения.

  • Относительно Ubuntu, делающей материал без "без выяснения", проверьте, чтобы видеть, включены ли автоматические обновления. Получение последнего доступного ему является поведением по умолчанию, таким образом, я думаю, что это - больше случай "не понимающий, что Ubuntu делает", а не фантом в машине, или хуже.

  • И что касается, "почему версия 24, не 25 или 26?", Ubuntu и Debian под нею оба стремятся к стабильным, протестированным версиям программного обеспечения. 26 находится все еще в разработке, и 25 не выходил до сентября 2016.

    Кроме того, Ubuntu не является выпуском прокрутки, таким образом, версии Ubuntu с 24 останутся на версии 24 для продолжительности жизни тех релизов Ubuntu (если чего-то действительно сумасшедшего не произойдет). Патчи безопасности будут бэкпортированы и применены при необходимости, но это все еще будет 24.

15
ответ дан 23 November 2019 в 04:26

, Почему Ubuntu обновляет программное обеспечение без выяснения?

я думаю, что это могло бы произойти из-за Вашей политики Обновления в Менеджере обновлений (Меню Edit). Я рекомендую среднюю опцию: Оптимизируйте устойчивость и безопасность. Последняя опция будет "Всегда обновлять все" - который Вы не хотите.

можно также поместить в черный список пакет "emacs-значения-по-умолчанию" в Редактировании> Предпочтения> Помещенные в черный список пакеты (иначе Проигнорированные пакеты).

0
ответ дан 23 November 2019 в 04:26

Ответ @Oli развития, вот то, как Вы идете о:

удаление emacs пакета и просто создание и установка emacs25 или emacs26 пакета вместо этого.

  1. Найдите свой emacs.deb файл. Для меня это было в моей emacs исходной корневой папке и было названо emacs_25.1-1_amd64.deb
  2. Создайте каталог для содержания нового debian пакета, который Вы собираетесь создать: $ mkdir emacs-rename
  3. Разархивируйте debian пакет к каталогу: $ ar -x emacs_25.1-1_amd64.deb emacs-rename/
  4. Войдите в emacs-переименовать каталог: $ cd emacs-rename
  5. Далее извлеките control.tar.gz и data.tar.xz: $ tar -xzf control.tar.gz и $ tar -xf data.tar.xz
  6. Отредактируйте control файл, который заканчивается с нано (так как у Вас еще нет emacs ;)- $ nano control и изменение Package: emacs кому: Package: emacs25 (или 26, 27 и т.д.)
  7. Создайте каталог DEBIAN в, emacs-переименуйте: $ mkdir DEBIAN и скопируйте файл управления там: $ cp control DEBIAN/
  8. Поднимитесь каталог, назад к emacs исходному корню ($ cd ..) и выполненный $ dpkg --build emacs-rename. Это могло бы занять некоторое время.
  9. У Вас должен теперь быть emacs-rename.deb пакет. Не волнуйтесь, что это не следует за надлежащей debian структурой именования пакета, это только для Вашего использования. Установите его с $ sudo dpkg -i emacs-rename.pkg
  10. Если бы все работало, то необходимо видеть:

    Подготовка распаковать emacs-rename.deb...
    Распаковка emacs25 (25.1-1)...
    Установка emacs25 (25.1-1)...

0
ответ дан 23 November 2019 в 04:26

Другие вопросы по тегам:

Похожие вопросы: