Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Удалить postgresql-client не трогая остальное  (Прочитано 12743 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Measurer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Ставлю nextcloud + onlyoffice + nginx + mariadb на новый сервер. Не хотелось ставить postgresql только ради одного onlyoffice. В мануалах к которому везде он ставится с базой postgresql.
Посмотрел post-install скрипты к пакету onlyoffice и увидел, что тип базы он пытается определить автоматически:

        if [ -z $DB_TYPE ]; then
                if dpkg -l | grep -q postgresql-client; then
                        DB_TYPE="postgres"
                elif dpkg -l | grep -q mysql-client || dpkg -l | grep -q mysql-community-client; then
                        DB_TYPE="mysql"
                elif dpkg -l | grep -q mariadb-client; then
                        DB_TYPE="mariadb"
                fi

                db_set onlyoffice/db-type $DB_TYPE || true
        fi

Т.е. в первую очередь проверяется наличие postgresql-client. И если он есть, то выбирается тип базы postgresql.
Посмотрел... оказывается, он есть в системе, хотя я его не ставил. Ну, думаю, ща я его грохну и всё будет ровно... Но не тут-то было:

root@nextcloud:/var/lib/dpkg/info# apt purge postgresql-client
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  galera-4 libcgi-fast-perl libcgi-pm-perl libclone-perl libconfig-inifiles-perl libdaxctl1 libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl
  libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmariadb3 libmysqlclient21 libndctl6
  libpmem1 libpq5 libsnappy1v5 libtimedate-perl liburi-perl liburing2 mariadb-common mariadb-server-core-10.6 postgresql-client-14 postgresql-client-common
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
  mysql-client mysql-client-8.0 mysql-client-core-8.0
Следующие пакеты будут УДАЛЕНЫ:
  mariadb-client-10.6* mariadb-client-core-10.6* mariadb-server* mariadb-server-10.6* postgresql-client*
Следующие НОВЫЕ пакеты будут установлены:
  mysql-client mysql-client-8.0 mysql-client-core-8.0
Обновлено 0 пакетов, установлено 3 новых пакетов, для удаления отмечено 5 пакетов, и 2 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
Необходимо скачать 2 695 kB архивов.
После данной операции объём занятого дискового пространства уменьшится на 41,7 MB.

Т.е.. при попытке удалить ТОЛЬКО postgresql-client, оно грохает и клиент, и сервер БД от mariadb и принудительно ставит mysql.
Это только мне так не везёт или у всех так?

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1728
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #1 : 12 Января 2023, 20:07:01 »
на новый сервер

sudo apt show postgresql-client?

Оффлайн Measurer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #2 : 12 Января 2023, 20:10:01 »
Package: postgresql-client
Version: 14+238
Priority: optional
Section: database
Source: postgresql-common (238)
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 71,7 kB
Depends: postgresql-client-14
Task: postgresql-server
Download-Size: 3 292 B
APT-Manual-Installed: no
APT-Sources: http://ru.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
Description: front-end programs for PostgreSQL (supported version)
 This metapackage always depends on the currently supported database client
 package for PostgreSQL.
 .
 PostgreSQL — полнофункциональная объектно-ориентированная система
 управления базой данных. В ней реализована большая часть стандарта SQL, и
 она разрабатывалась с возможностью расширения пользователями во многих
 областях. Некоторые возможности: ACID-транзакции, внешние ключи,
 представления, последовательности, подзапросы, триггеры, пользовательские
 типы и функции, внешние объединения, многоверсионность данных и управление
 параллельными транзакциями. Также доступны графические пользовательские
 интерфейсы и взаимодействие с программами на разных языках
 программирования.

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1728
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #3 : 12 Января 2023, 20:55:32 »
похоже, вы на "новом сервере" знатно оттоптались...
можно всё удалить и установоить по-новой в правильном порядке

Оффлайн Measurer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #4 : 12 Января 2023, 21:26:25 »
Всегда думал, что пакеты тянутся по зависимостям и от "порядка" установки это не зависит.
Если не секрет, что указывает на "неправильный" порядок установки?

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1728
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #5 : 12 Января 2023, 22:06:54 »
попробуйте на чистом сервере по инструкции

Оффлайн Measurer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #6 : 12 Января 2023, 22:10:19 »
У меня есть своя локальная wiki. На домашний сервер и ещё один в продакшене по ней ставил, но там, действительно такого нет.
На данном сервере не я операционку ставил.
Пожалуй, действительно завтра сам ось поставлю.

Оффлайн Measurer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Удалить postgresql-client не трогая остальное
« Ответ #7 : 15 Января 2023, 17:07:04 »
В общем, поставил операционку сам заново. До установки пакета onlyoffice-documentserver всё было нормально. И клиента postgre установлено в системе не было. Клиента postgre ставит именно сам onlyoffice-documentserver, а потом проверяет, есть ли он в системе? Естественно, в системе он есть (и вот с такими зависимостями). И при инсталляции ВСЕГДА будет выбрана база POSTGRE.
Пришлось править руками скрипты, которые при инсталляции проверяют наличие СУБД, базы и прописывают данные параметры в конфиг.

До этого ставил пару таких же серверов. Обновляю их постоянно по расписанию. На них такого не наблюдается.

 

Страница сгенерирована за 0.08 секунд. Запросов: 25.