Добрый день, коллеги.
Для корректной работы PostgreSQL 9.3.4-1.1C на Linux-системе, основанной на DEB-пакетах, например Ubuntu Server 14.04 (я использую i386 версию) требуется установить пакет postgresql-contrib. Но при установке этого пакета
sudo dpkg -i postgresql-contrib*
происходит ошибка нарушения зависимости пакетов. Для установки требуется пакет libicu48, а в репозитариях имеется только libicu52. Для устранения этой ошибки требуется скачать пакет
http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-12ubuntu2_i386.deb
Так как я не очень силен в Linux, то, потратил почти 4 часа на решение этой проблемы, пока разобрался что делать. Надеюсь, что кому-то поможет этот совет.
Возможно понадобится такой же пакет для версии Linux-amd64
http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-12ubuntu2_amd64.deb
Последовательность действии для установки пакета postgresql-contrib для Linux i386:
cd (каталог с пакетами PostgeSQl-1C)
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-12ubuntu2_i386.deb
sudo dpkg — i libicu48*.deb
sudo dpkg -i postgresql-contrib*.deb
(1) quebracho, ограничение кого-то в его желании и праве самосовершенствования — это обычный фашизм. Или Вы в Линукс пришли с полным собранием man-ов в голове?
Есть такой инструментарийaptly , позволяет легко и удобно организовать управление пакетами. После 5-го раза dpkg -i *.deb , apt-get install -f вам возможно захочется один только раз выполнить sudo apt-get instatll 1C-en* или apt-get upgrade и 1с у вас нормальным пакетным менеджером сама обновиться.
Для rpm там все проще createrepo . — и репозиторий готов, только подключай.
А чем не нравится вариант фикса содержимого файла control в postgresql-contrib*.deb? Вместо libicu48 ставим libicu52 и нармуль.
Распаковываем пакет:
dpkg -x postgresql-contrib-*-1.1C_amd64.deb tmpdir
после:
dpkg -e postgresql-contrib-*-1.1C_amd64.deb tmpdir/DEBIAN
далее открываем в текстовом редакторе файл «control»:
nano ./tmpdir/DEBIAN/control
ищем строку libicu* (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6)
сохраняем изменения и собираем пакет обратно:
dpkg -b tmpdir postgresql-contrib-*-1.1C_amd64_fix.deb
вместо звездочек — свои версии пакета
(4) CTAKAH, да, недавно узнал об этом «танце с бубном». Но для начинающих пользователей Linux такое решение не самое оптимальное. Тем более 1C в дистрибутив PostgeSQL добавила libpq5, так почему не добавить и libicu48?
(3) pumbaE, спасибо. Почитаю документацию.
(4)Данный способ успешно применен при установке posgresql 9,6, который запрашивал libicu55, а у меня в системе был установлен libicu57
Поменял в control зависимости на свою версию и все взлетело. Спасибо за идею.