Склонный Debian 7 обновляет мой пользовательский бэкпортированный пакет с “официальной” идентичной версией!

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

1
05.01.2014, 18:51
2 ответа

Для предотвращения проблем, во-первых, я предложил бы, чтобы Вы использовали пользовательское (и больше) номер версии для Вашего пользовательского пакета, например: 1.4.4-1~bpo70+1-mrsms. Это только было бы справедливо, потому что Ваш пакет не является той же точной версией как "официальный" бэкпорт. Можно изменить номер версии из файла debian/changelog перед созданием его.

Можно протестировать сравнение версии с dpkg (здесь, gt обозначает "больше, чем", код возврата 0 если выражение верно):

$ dpkg --compare-versions 1.4.4-1~bpo70+1-mrsms gt 1.4.4-1~bpo70+1
$ echo $?

Будьте осторожны, потому что Ваш пользовательский пакет будет все еще обновлен, если еще большая версия будет найдена на репозитории онлайн. Я затем предложил бы, чтобы Вы использовали прикрепление, чтобы избежать что (см. man apt_preferences).

Можно попробовать это путем создания файла, сказать /etc/apt/preferences.d/nginx-full, с этим содержанием:

Package: nginx-full
Pin: version 1.4.4-1~bpo70+1-mrsms
Pin-Priority: 1001

Можно также сдержать пакет, это - текущее установленное состояние, это очень эффективно, но не очень изящно (мог бы обеспокоить будущие обновления):

# aptitude hold nginx-full
# echo "nginx-full" hold |dpkg --set-selections
5
27.01.2020, 23:12
  • 1
    Спасибо, но кто-то предложил, чтобы я использовал: Пакет: Контакт nginx: версия 1.4.4-1~bpo70+1 Приоритет Контакта: 1001, но это не работает.. Я не использую способность, только склонную - добираются.. Я пытался создать пакет с поддельной высокой версией как 1.7.7, который очень вряд ли будет выпущен в ближайшее время.. Делает это, действительно имеют значение, какое число я вставил debian/changelog версия? это находится в так или иначе опасном? и затем что относительно обновлений системы защиты в будущем? BTW, я имею, создают пакет бэкпорта nginx с некоторыми зависимостями от сборки из репозитория бэкпорта путем выполнения склонный - получают-t DEP сборки хрипящих бэкпортов nginx.. –  Dr.SMS 31.12.2013, 16:33
  • 2
    Стоит отметить, что способное прикрепление является багги поскольку apt-get и aptitude не обязательно уважайте друг друга, прикрепляет/содержит. Я забываю детали; я просто использую apt-get. Я второй рекомендация для увеличения номера версии. Это будет, конечно, означать, что Вы не получаете обновления безопасности автоматически, но это неизбежно с пользовательским пакетом; у Вас не может быть всего. –  Faheem Mitha 31.12.2013, 16:45
  • 3
    @FaheemMitha, который я согласовываю о хранениях (вот почему я использую 2 различных команды для содержания). Однако я не знал о прикреплении. Существует ли открытый отчет об ошибках для этого? –  Totor 03.01.2014, 01:31
  • 4
    @Totor я думаю, что могу ошибиться о способном прикреплении. Я думаю, что путал его с хранениями. –  Faheem Mitha 03.01.2014, 01:33
  • 5
    @Dr. SMS, Если Вы прикрепляете на номер версии, конечно, он ничего не изменил, так как оба пакета совместно использовали то же. Необходимо попытаться прикрепить на "источник" или некоторый другой соответствующий критерий. Лично, я не использовал бы поддельный номер версии, потому что он мог вводить в заблуждение. Это не "опасно", но это могло бы стать немного хитрым, если Вы хотите вернуться к выпуску чиновника один день или если Вы обновляете свое распределение. Как FaheemMitha указал, Вы освобождаете преимущество обновления системы защиты, потому что Вы становитесь специалистом по обслуживанию своего собственного пакета, следовательно необходимо перекомпилировать для пребывания безопасными... :) –  Totor 03.01.2014, 01:47

В чате OP заявила, что он установил свой пакет с dpkg --install. Кроме того, IIRC, синтаксические анализы APT, какой пакет это предпочитает следующим образом:

  1. Если пакет прикрепляется, ничего не делайте с ним.
  2. Предпочтите, какой бы ни пакет, известный системе, имеет самую высокую версию программы.
  3. Если существуют конфликты, предпочитают, какой бы ни пакет, известный системе, имеет самую высокую версию пакета.
  4. Если существуют все еще конфликты, предпочитают пакеты из репозитория, перечисленного в /etc/apt/sources.list.
  5. Если существуют все еще конфликты, предпочитают пакет от того, какой бы ни репозиторий на первом месте в sources.list.

Вооруженный этой информацией, мы можем установить тот APT, предпочитает версию репозитория локально установленной версии на шаге 4. Так, существует четыре способа решить эту проблему:

  1. Увеличьте версию пакета до чего-то вне того, что обеспечивают официальные репозитории Debian. Это заставит Ваш локально установленный пакет быть выбранным по пакету Debian во время шага 3. (@Totor бьет меня к нему, таким образом, я подчинюсь его ответу для получения инструкций относительно того, как сделать это.)
  2. Увеличьте версию программы до чего-то вне того, что обеспечивают официальные репозитории Debian. Это выберет Ваш пакет во время шага 2, но я настоятельно рекомендовал бы не выполнение этого и вместо этого постепенное увеличение версии пакета - нет никакой технической причины, это просто более корректно. Однако, если Вы действительно принимаете решение сделать это этот путь, в этом выполняют в основном тот же путь как версия пакета, за исключением того, что Вы изменяете другое поле в Вашем debian/control файл (или независимо от того, что Вы используете для генерации пакета).
  3. Прикрепите свой пакет. Это заставит Ваш пакет быть выбранным во время шага 1. Снова, это охвачено в ответе @Totor.
  4. Создайте локальный репозиторий, поместите свой пакет в него и удостоверьтесь это, когда Вы добавите его к Вашему sources.list, это прибывает перед официальными репозиториями Debian. Это инициирует выбор на шаге 5. Чтобы сделать это, обратитесь к этой странице Debian Wiki. Можно также интересоваться этим, Спрашивает вопрос о Ubuntu, если Вы хотите более легкую ссылку учебного стиля.
3
27.01.2020, 23:12
  • 1
    , почему Вы не рекомендуете изменить версию программы? Я вчера изменил его на 1.5.5, и это работало.. и я изменил его из файла журнала изменений.. таким образом что относительно этого debian/control файла, о котором Вы говорите?? –  Dr.SMS 01.01.2014, 21:45
  • 2
    @Dr комментария. SMS Вы также! Я добавлю некоторые ссылки и объяснения –  strugee 02.01.2014, 02:10
  • 3
    до сих пор, я установил devscripts для использования команды dch, но тем не менее я не нашел хорошее учебное руководство о его использовании, и также я заметил, что Вы парни никогда ничего не упоминали о dch.. Таким образом, что делает Вы говорите об использовании dch-v, который говорит страница справки: Добавьте, что новая запись журнала изменений с номером версии указала –  Dr.SMS 02.01.2014, 02:16
  • 4
    @Dr. SMS честно, я не уверен, потому что я не сделал тонны работы с Debian упаковочные инструменты (только основы). Я отредактировал ответ, тем не менее, для обнадеживающего разрешения некоторого беспорядка –  strugee 02.01.2014, 02:33
  • 5
    , я предполагаю, что Вы неправы относительно файла управления.. это не имеет никаких номеров версий или чего-либо.. Я просто собираюсь пробовать changelog файл начиная с большинства статей там говорит, что его первая строка - то, что определяет номера выпуска пакета и номера версий, и я предполагаю, что они правы, потому что я попробовал его однажды, и он работал. Таким образом, я предполагаю, что лучше удалить ту часть в Вашем ответе.. Чао! –  Dr.SMS 02.01.2014, 02:49

Теги

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