yum install epel-release
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum install --downloadonly --downloaddir=ffmpeg ffmpegyum --disableplugin=fastestmirror -y -v localinstall ./ffmpeg/*.rpm
and
rpm  -i --prefix=/some/other/path/ packagename.rpmand
rpm2cpio google-chrome-stable-110.0.5481.177-1.x86_64.rpm | cpio -idv
Коллеги, добрый день.
Пишу на русском языке, чтобы ничего не упустить и не исказить. Надеюсь на помощь.
В одном из наших компонент есть такое понятие, как "серверный экспорт графа". Только одна библиотека на клиенте в браузере может дать нам граф, но люди хотят экспортировать в фоне на сервере. Поэтому достаточно давнее решение было такое, что на сервере открывается браузер и через него получается то, что нужно.
Первоначально других вариантов кроме phantomjs не было, но сейчас он устарел и не обновляется с 2015 года. Соответсвенно странички в новых релизах не открываются через него и фича экспорта не работает.
Но был запасной вариант, уже реализованный - это запускать на сервере google chrome в режиме headless вместо phantomjs. Это вариант сейчас проверен на dev серверах и работает. Единственное что необходимо - это настроенный энвайромент. Нужен установленный google chrome (и для chrome >= v111 нужно еще Nodejs, но про это пока речь не идет).
Мы написали инструкцию по установке в документации
По ней нужно зайти настраничку https://www.google.com/chrome/, скачать последнюю версию (упустили, что для таргетной платформы... нужно проскролиться вниз и кликнуть на "Другие платформы"). В итоге можно скачать rpm и deb.
Опробовали инструкцию на дев серверах, с rpm/yum chrome устанавливался и никаких зависимостей не требовал.
Но в последний момент во время установки на QA сервер выяснилось, что google chrome требует много *.so библиотек, которые на некоторых серверах есть, на некоторых нет. И сразу возник вопрос, как установка будет производиться на production сервере, не откажут ли нам с этим?
Ошибка на была примерно такая:
Я попробовал на чистом centos7 из докер контейнера, запросилось больше библиотек:
В результате долгих выяснений узнал, что эти библиотеки при установке google chrome кладутся в основном сюда /usr/lib64/ и одна сюда /lib64/
Также узнал, что требуются шрифты из дистрибутивов, которые кладутся в /usr/share/fonts/liberation/ и /usr/share/fonts/liberation/dejavu/
В итоге google chrome запустился локально в моем centos запустился.
Вопросы:
Дополнительно напишу дальше, что и как я делал для выяснения что нужно по минимуму для запуска
Команды для проверки, каких билиотек не хватает:
Команда для выяснения, какие пакеты содержат недостающие билиотеки:
Вывод (с закоменчеными дубликатами других версий) такой:
Скачка основного rpm и всех rpm-зависимостей:
Распаковка всех rpm:
Копирование всех недостающих библиотек(с линками) в одельную папку
После заливки этой папки на сервер можно проверить каких библиотек из этого списка там(на сервере) не хватает:
Вывод на был такой: