Re: захолдить изменения в пакете

2019-12-25 Пенетрантность Sohin Vyacheslav




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: захолдить изменения в пакете

2019-12-25 Пенетрантность Alexander Gerasiov
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: захолдить изменения в пакете

2019-12-25 Пенетрантность Sohin Vyacheslav




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: захолдить изменения в пакете

2019-12-24 Пенетрантность Alexander Gerasiov
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: захолдить изменения в пакете

2019-12-24 Пенетрантность Sohin Vyacheslav




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: захолдить изменения в пакете

2019-12-24 Пенетрантность Sohin Vyacheslav




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: захолдить изменения в пакете

2019-12-23 Пенетрантность Alexander Gerasiov
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