Re: захолдить изменения в пакете
25.12.2019 11:37, Alexander Gerasiov пишет: On Wed, 25 Dec 2019 11:17:58 +0200 Сделай наоборот: dpkg-divert --add --rename --divert /usr/bin/sa-compile.orig /usr/bin/sa-compile Спасибо, получилось таким образом: # dpkg-divert --rename --divert /root/sa-compile /usr/bin/sa-compile и потом после обновления пакета sa-compile в /usr/bin осталась модифицированная мной версия -- BW, Сохин Вячеслав
Re: захолдить изменения в пакете
On Wed, 25 Dec 2019 11:17:58 +0200 Sohin Vyacheslav wrote: > 25.12.2019 9:31, Alexander Gerasiov пишет: > > On Tue, 24 Dec 2019 11:18:37 +0200 > > Sohin Vyacheslav wrote: > > > Неправильно. При помощи dpkg-divert ты переименовываешь файл из > > пакета в другое имя. Тогда при распаковке он не будет затирать > > модифицированный тобой файл по оригинальному пути. Почитай > > внимательно ман (особенно примеры в конце). > > > > Сделал так: > > 1. Переместил оригинальный /usr/bin/sa-compile > 2. Выполнил: > > # dpkg-divert --add --rename --divert /usr/bin/sa-compile > /usr/bin/sa-compile.new > Добавляется "локальное отклонение /usr/bin/sa-compile.new в > /usr/bin/compile" Сделай наоборот: dpkg-divert --add --rename --divert /usr/bin/sa-compile.orig /usr/bin/sa-compile -- Best regards, Alexander Gerasiov Contacts: e-mail: a...@gerasiov.net WWW: http://gerasiov.net TG/Skype: gerasiov PGP fingerprint: 04B5 9D90 DF7C C2AB CD49 BAEA CA87 E9E8 2AAC 33F1
Re: захолдить изменения в пакете
25.12.2019 9:31, Alexander Gerasiov пишет: On Tue, 24 Dec 2019 11:18:37 +0200 Sohin Vyacheslav wrote: Неправильно. При помощи dpkg-divert ты переименовываешь файл из пакета в другое имя. Тогда при распаковке он не будет затирать модифицированный тобой файл по оригинальному пути. Почитай внимательно ман (особенно примеры в конце). Сделал так: 1. Переместил оригинальный /usr/bin/sa-compile 2. Выполнил: # dpkg-divert --add --rename --divert /usr/bin/sa-compile /usr/bin/sa-compile.new Добавляется "локальное отклонение /usr/bin/sa-compile.new в /usr/bin/compile" И действительно в /usr/bin появился файл sa-compile с содержимым файла sa-compile.new Но когда я проверяю процесс обновления пакета, изменив в sources.list до buster и сделав # apt-get update Появляется все та же ошибка: Распаковывается sa-compile (3.4.2-1+deb10u1) на замену (3.4.2-1+deb9u2)... dpkg: ошибка при обработке архива /var/cache/apt/archives/sa-compile_3.4.2-1+deb10u1_all.deb (--unpack): попытка переписать "/usr/bin/sa-compile", являющийся отклоненной версией "/usr/bin/sa-compile.new" При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/sa-compile_3.4.2-1+deb10u1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) Может стоит попробовать # apt-get upgrade а не пытаться обновить только один пакет sa-compile? -- BW, Сохин Вячеслав
Re: захолдить изменения в пакете
On Tue, 24 Dec 2019 11:18:37 +0200 Sohin Vyacheslav wrote: > 24.12.2019 6:41, Alexander Gerasiov пишет: > > On Mon, 23 Dec 2019 18:31:09 +0200 > > Переименовать sa-compile в sa-compile.orig при помощи dpkg-divert. > > Положить рядом под оригинальным именем свой модифицированный. > > > > А таким образом можно: > # dpkg-divert --divert /tmp/sa-compile --rename /usr/bin/sa-compile > > где /tmp/sa-compile - модифицированный мной файл > /usr/bin/sa-compile - оригинальный файл Неправильно. При помощи dpkg-divert ты переименовываешь файл из пакета в другое имя. Тогда при распаковке он не будет затирать модифицированный тобой файл по оригинальному пути. Почитай внимательно ман (особенно примеры в конце). -- Best regards, Alexander Gerasiov Contacts: e-mail: a...@gerasiov.net WWW: http://gerasiov.net TG/Skype: gerasiov PGP fingerprint: 04B5 9D90 DF7C C2AB CD49 BAEA CA87 E9E8 2AAC 33F1
Re: захолдить изменения в пакете
24.12.2019 11:18, Sohin Vyacheslav пишет: А таким образом можно: # dpkg-divert --divert /tmp/sa-compile --rename /usr/bin/sa-compile где /tmp/sa-compile - модифицированный мной файл /usr/bin/sa-compile - оригинальный файл Сделал так: # dpkg-divert --divert /usr/bin/sa-compile --rename /home/slawa/tmp/sa-compile Теперь после попытки обновления до buster версии: # apt-get install sa-compile или # apt-get -f install sa-compile Распаковывается sa-compile (3.4.2-1+deb10u1) на замену (3.4.2-1+deb9u2)... dpkg: ошибка при обработке архива /var/cache/apt/archives/sa-compile_3.4.2-1+deb10u1_all.deb (--unpack): попытка переписать "/usr/bin/sa-compile", являющийся отклоненной версией "/home/slawa/tmp/sa-compile" При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/sa-compile_3.4.2-1+deb10u1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) -- BW, Сохин Вячеслав
Re: захолдить изменения в пакете
24.12.2019 6:41, Alexander Gerasiov пишет: On Mon, 23 Dec 2019 18:31:09 +0200 Переименовать sa-compile в sa-compile.orig при помощи dpkg-divert. Положить рядом под оригинальным именем свой модифицированный. А таким образом можно: # dpkg-divert --divert /tmp/sa-compile --rename /usr/bin/sa-compile где /tmp/sa-compile - модифицированный мной файл /usr/bin/sa-compile - оригинальный файл -- BW, Сохин Вячеслав
Re: захолдить изменения в пакете
On Mon, 23 Dec 2019 18:31:09 +0200 Sohin Vyacheslav wrote: > Приветствую, > > На системе c Debian 9.11 я изменил файл /usr/bin/sa-compile, входящий > в пакет sa-compile. Я хотел бы, чтобы при следующем обновлении пакета > sa-compile эти изменения сохранились. > > Для этого просто достаточно захолдить пакет: > $ sudo apt-mark hold sa-compile > > или стоит например написать bash скрипт, который будет изменять > sa-compile файл из обновленного пакета? Может есть еще какие-то > способы? Переименовать sa-compile в sa-compile.orig при помощи dpkg-divert. Положить рядом под оригинальным именем свой модифицированный. -- Best regards, Alexander Gerasiov Contacts: e-mail: a...@gerasiov.net WWW: http://gerasiov.net TG/Skype: gerasiov PGP fingerprint: 04B5 9D90 DF7C C2AB CD49 BAEA CA87 E9E8 2AAC 33F1