среда, 21 ноября 2018 г.

Как заблокировать обновление PostgreSQL

Как заблокировать обновление определенного пакета (программы) в Ubuntu

$ dpkg -l | grep postgresql
ii  pgdg-keyring                          2018.1                                     all          keyring for apt postgresql.org
ii  postgresql-10                         10.3-3.1C                                  amd64        object-relational SQL database, version 10 server
......
......

Видим, что у нас стоит postgresql-10 версии 10.3-3.1C

$ dpkg -l | grep 10.3-3.1C


Вывод в строку:

$ dpkg -l | grep 10.3-3.1C | awk -F' ' '{print $2}' | xargs
libecpg-compat3:amd64 libecpg-dev libecpg6:amd64 libpgtypes3:amd64 libpq-dev libpq5:amd64 postgresql-10 postgresql-10-dbg postgresql-client-10 postgresql-doc-10 postgresql-plperl-10 postgresql-plpython-10 postgresql-plpython3-10 postgresql-pltcl-10 postgresql-server-dev-10

Пометить как зафиксированные:

$ dpkg -l | grep 10.3-3.1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
Можно добавить:
$ sudo apt-mark hold postgresql-common postgresql-client-common

Посмотреть:
$ sudo dpkg --get-selections | grep hold
libecpg-compat3:amd64                           hold
libecpg-dev                                     hold
libecpg6:amd64                                  hold
libpgtypes3:amd64                               hold
libpq-dev                                       hold
libpq5:amd64                                    hold
postgresql-10                                   hold
postgresql-10-dbg                               hold
postgresql-client-10                            hold
postgresql-doc-10                               hold
postgresql-plperl-10                            hold
postgresql-plpython-10                          hold
postgresql-plpython3-10                         hold
postgresql-pltcl-10                             hold
postgresql-server-dev-10                        hold


$ sudo apt update
$ sudo apt list --upgradable




$ sudo apt list --upgradable
Вывод списка… Готово
libecpg-compat3/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
libecpg-dev/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
libecpg6/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
libpgtypes3/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
libpq-dev/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
libpq5/xenial-pgdg 11.1-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-10-dbg/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-client-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-doc-10/xenial-pgdg,xenial-pgdg 10.6-1.pgdg16.04+1 all [может быть обновлён с: 10.3-3.1C]
postgresql-plperl-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-plpython-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-plpython3-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-pltcl-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]
postgresql-server-dev-10/xenial-pgdg 10.6-1.pgdg16.04+1 amd64 [может быть обновлён с: 10.3-3.1C]

$ sudo apt upgrade


$ dpkg --get-selections | grep hold
libecpg-compat3:amd64                           hold
libecpg-dev                                     hold
libecpg6:amd64                                  hold
libpgtypes3:amd64                               hold
libpq-dev                                       hold
libpq5:amd64                                    hold
postgresql-10                                   hold
postgresql-10-dbg                               hold
postgresql-client-10                            hold
postgresql-doc-10                               hold
postgresql-plperl-10                            hold
postgresql-plpython-10                          hold
postgresql-plpython3-10                         hold
postgresql-pltcl-10                             hold
postgresql-server-dev-10                        hold



$ dpkg -l | grep 9.6.7-1.1C
$ dpkg -l | grep 9.6.7-1.1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
Можно добавить:
$ sudo apt-mark hold postgresql-common postgresql-client-common

Как посмотреть зависимости:
$ dpkg-deb -I postgresql-server-dev-10_10.5-10.1C_amd64.deb | grep Depends
 Depends: libpq-dev (>= 10~~), postgresql-common (>= 142~), libc6 (>= 2.14)



Комментариев нет:

Отправить комментарий