На главную страницу На главную страницу Помоги больным детям! Их можно спасти!
 
Справочные материалы ←

Как установить Google Chrome, Chromium ГОСТ, Яндекс.Браузер?

Начиная с версии базовой системы FreeBSD 12.2 появилась возможность использовать linuxulator для запуска Linux-приложений не только в стандартном пользовательском окружении на базе CentOS, но и в пользовательском окружении на базе Ubuntu. Поэтому в Ульяновск.BSD теперь можно установить некоторые приложения, версий которых для FreeBSD нет. Это, например, Chromium ГОСТ от КриптоПро, Яндекс.Браузер и Google Chrome с поддержкой Widevine (Netflix, Spotify, Amazon Prime Video, HBO Max и т.д.) и поддержкой российских криптографических плагинов.

Установка и настройка Ubuntu-окружения:

Для начала необходимо создать точки монтирования, требующиеся для правильной работы linuxulator:

mkdir -p /compat/ubuntu/{dev/fd,dev/shm,home,proc,sys,tmp}

Подмонтировать соответствующие файловые системы:

mount -t linprocfs linprocfs /compat/ubuntu/proc
mount -t linsysfs linsysfs /compat/ubuntu/sys
mount -t devfs devfs /compat/ubuntu/dev
mount -o linrdlnk -t fdescfs fdescfs /compat/ubuntu/dev/fd
mount -o mode=1777 -t tmpfs tmpfs /compat/ubuntu/dev/shm
mount -t nullfs /home /compat/ubuntu/home
mount -t nullfs /tmp /compat/ubuntu/tmp

И установить необходимые пакеты:

pkg install -r latest debootstrap linux-steam-utils

После этого можно приступить к установке и настройке Linux-окружения на базе Ubuntu (версия bionic или focal):

debootstrap --arch=amd64 --no-check-gpg focal /compat/ubuntu
printf 'deb http://archive.ubuntu.com/ubuntu/ focal multiverse main universe restricted\n' > /compat/ubuntu/etc/apt/sources.list
printf 'deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse\n' >> /compat/ubuntu/etc/apt/sources.list
printf 'deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse\n' >> /compat/ubuntu/etc/apt/sources.list
printf '0.0 0 0.0\n0\nUTC\n' > /compat/ubuntu/etc/adjtime

Далее необходимо сделать следующее исправление:

cd /compat/ubuntu/lib64/
rm ./ld-linux-x86-64.so.2
ln -s ../lib/x86_64-linux-gnu/ld-2.31.so ld-linux-x86-64.so.2

Во время настройки локали необходимо выбрать en_US.UTF-8 и ru_RU.UTF-8, а в качестве локали по умолчанию выбрать ru_RU.UTF-8:

chroot /compat/ubuntu /bin/bash
dpkg-reconfigure locales
dpkg-reconfigure tzdata
apt update
apt upgrade
apt install -y pulseaudio
apt install -y fonts-symbola
apt install -y ttf-mscorefonts-installer
exit

Если предполагается подключение к разным провайдерам, то в файл /compat/ubuntu/etc/resolv.conf необходимо внести хотя бы один постоянно доступный публичный DNS-сервер. Например, 8.8.8.8. Помните, что всего записей в этом файле должно быть не более трёх.

Так как Ubuntu-окружение устанавливается в каталог /compat/ubuntu/, а стандартным для Linux-окружения является каталог /compat/linux/, то необходимо предусмотреть возможность переключения между Linux-окружениями. Для этого можно создать скрипт /usr/local/etc/rc.d/ubuntu следующего содержания:

#!/bin/sh

# PROVIDE: ubuntu
# REQUIRE: linux

. /etc/rc.subr

name="ubuntu"
desc="Enable Ubuntu Linux environment"
rcvar=ubuntu_enable
start_cmd="${name}_start"
stop_cmd="${name}_stop"
load_rc_config $name
: ${ubuntu_enable:="NO"}

_emul_path="/compat/ubuntu"

unmounted()
{
	[ `stat -f "%d" "$1"` == `stat -f "%d" "$1/.."` -a \
	  `stat -f "%i" "$1"` != `stat -f "%i" "$1/.."` ]
}

ubuntu_start()
{
	if checkyesno linux_mounts_enable; then
		mkdir -p ${_emul_path}/proc
		mkdir -p ${_emul_path}/sys
		mkdir -p ${_emul_path}/dev/fd
		mkdir -p ${_emul_path}/dev/shm
		mkdir -p ${_emul_path}/home
		mkdir -p ${_emul_path}/tmp
		unmounted "${_emul_path}/proc" && mount -t linprocfs linprocfs "${_emul_path}/proc"
		unmounted "${_emul_path}/sys" && mount -t linsysfs linsysfs "${_emul_path}/sys"
		unmounted "${_emul_path}/dev" && mount -t devfs devfs "${_emul_path}/dev"
		unmounted "${_emul_path}/dev/fd" && mount -o linrdlnk -t fdescfs fdescfs "${_emul_path}/dev/fd"
		unmounted "${_emul_path}/dev/shm" && mount -o mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm"
		unmounted "${_emul_path}/home" && mount -t nullfs /home "${_emul_path}/home"
		unmounted "${_emul_path}/tmp" && mount -t nullfs /tmp "${_emul_path}/tmp"
		true
	fi

	sysctl compat.linux.emul_path=${_emul_path}
}

ubuntu_stop()
{
	if checkyesno linux_mounts_enable; then
		! unmounted "${_emul_path}/proc" && umount "${_emul_path}/proc"
		! unmounted "${_emul_path}/sys" && umount "${_emul_path}/sys"
		! unmounted "${_emul_path}/dev/fd" && umount "${_emul_path}/dev/fd"
		! unmounted "${_emul_path}/dev/shm" && umount "${_emul_path}/dev/shm"
		! unmounted "${_emul_path}/dev" && umount "${_emul_path}/dev"
		! unmounted "${_emul_path}/home" && umount "${_emul_path}/home"
		! unmounted "${_emul_path}/tmp" && umount "${_emul_path}/tmp"
		true
	fi

	sysctl compat.linux.emul_path=/compat/linux
}

load_rc_config $name
run_rc_command "$1"

И сделать этот скрипт исполняемым:

chmod +x /usr/local/etc/rc.d/ubuntu

Теперь можно переключиться в Ubuntu-окружение следующей командой:

service ubuntu onestart

В случае, если потребуется переключиться на стандартное Linux-окружение, то можно воспользоваться следующей командой:

service ubuntu onestop

Если предполагается постоянное использование Ubuntu-окружения, то в файл /etc/rc.conf можно добавить следующую запись:

ubuntu_enable="YES"

Важно помнить, что для работы linuxulator в файле /etc/rc.conf обязательно должна присутствовать следующая запись:

linux_enable="YES"

Для того, чтобы в устанавливаемых в Ubuntu-окружениии приложениях работал звук, необходимо использовать сервер pulseaudio. Для его запуска можно создать скрипт /compat/ubuntu/usr/local/bin/pulseaudio следующего содержания:

#!/bin/sh

get_pa_sock_path()
{
    PA_SOCK_PATH=$(sockstat | awk -v me=$(whoami) -F'[ \t]+' '
        $1 == me && $2 == "pulseaudio" && $6 ~ /native/ {
            print $6;
            exit 0
        }'
    )
}

get_pa_sock_path
if [ ! -S "$PA_SOCK_PATH" ]; then
    while killall pulseaudio; do
        sleep 0.5
    done
    pulseaudio --start
    get_pa_sock_path
fi
[ -S "$PA_SOCK_PATH" ] && export PULSE_SERVER=unix:$PA_SOCK_PATH

START_SCRIPT=$1
shift
$START_SCRIPT $*

И сделать этот скрипт исполняемым:

chmod +x /compat/ubuntu/usr/local/bin/pulseaudio

Теперь можно переходить к установке приложений.

Установка Chromium ГОСТ:

Свежую версию Chromium ГОСТ можно скачать на сайте КриптоПро по ссылке https://update.cryptopro.ru/chromium-gost/. На момент создания данного документа это файл chromium-gost-88.0.4324.96-linux-amd64.deb. Для установки необходимо выполнить следующие команды:

fetch -o /tmp/chromium-gost.deb https://update.cryptopro.ru/chromium-gost/chromium-gost-88.0.4324.96-linux-amd64.deb
chroot /compat/ubuntu /bin/bash
apt install -y /tmp/chromium-gost.deb
exit

Далее необходимо создать скрипт запуска /compat/ubuntu/usr/local/bin/chromium-gost следующего содержания:

#!/compat/ubuntu/bin/bash

export START_PATH="/opt/chromium-gost/chrome"
export CHROME_WRAPPER="`readlink -f "$0"`"
export LD_LIBRARY_PATH=/usr/local/steam-utils/lib64/fakeudev:/compat/ubuntu/lib/x86_64-linux-gnu:/compat/ubuntu/usr/lib/x86_64-linux-gnu
export LD_PRELOAD=/usr/local/steam-utils/lib64/webfix/webfix.so
export LIBGL_DRI3_DISABLE=1

exec -a "$0" "$START_PATH" --no-sandbox --no-zygote --in-process-gpu --test-type --v=0 "$@"

И сделать этот скрипт исполняемым:

chmod +x /compat/ubuntu/usr/local/bin/chromium-gost

В завершении необходимо создать ярлык для запуска /usr/local/share/applications/chromium-gost.desktop:

[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
Name=Chromium GOST
Name[ru]=Chromium ГОСТ
Comment=Web browser based on Chromium with GOST cryptography
Comment[ru]=Веб-браузер на основе Chromium с криптографией ГОСТ
Icon=/compat/ubuntu/opt/chromium-gost/product_logo_256.png
Exec=/compat/ubuntu/usr/local/bin/pulseaudio /compat/ubuntu/usr/local/bin/chromium-gost %U
Categories=Network;WebBrowser
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
StartupNotify=true

Установка Google Chrome:

Для установки Google Chrome необходимо выполнить следующие команды:

printf "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /compat/ubuntu/etc/apt/sources.list.d/google-chrome.list
fetch -o /tmp/ https://dl.google.com/linux/linux_signing_key.pub
chroot /compat/ubuntu /bin/bash
apt install -y gnupg
apt-key add /tmp/linux_signing_key.pub
apt update
apt install -y google-chrome-stable
exit

Далее необходимо создать скрипт запуска /compat/ubuntu/usr/local/bin/google-chrome следующего содержания:

#!/compat/ubuntu/bin/bash

export START_PATH="/opt/google/chrome/chrome"
export CHROME_WRAPPER="`readlink -f "$0"`"
export LD_LIBRARY_PATH=/usr/local/steam-utils/lib64/fakeudev:/compat/ubuntu/lib/x86_64-linux-gnu:/compat/ubuntu/usr/lib/x86_64-linux-gnu
export LD_PRELOAD=/usr/local/steam-utils/lib64/webfix/webfix.so
export LIBGL_DRI3_DISABLE=1

exec -a "$0" "$START_PATH" --no-sandbox --no-zygote --in-process-gpu --test-type --v=0 "$@"

И сделать этот скрипт исполняемым:

chmod +x /compat/ubuntu/usr/local/bin/google-chrome

В завершении необходимо создать ярлык для запуска /usr/local/share/applications/google-chrome.desktop:

[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
Name=Google Chrome
Name[ru]=Google Chrome
Comment=Web browser based on Chromium
Comment[ru]=Веб-браузер на основе Chromium
Icon=/compat/ubuntu/opt/google/chrome/product_logo_256.png
Exec=/compat/ubuntu/usr/local/bin/pulseaudio /compat/ubuntu/usr/local/bin/google-chrome %U
Categories=Network;WebBrowser
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
StartupNotify=true

Установка Яндекс.Браузера:

Свежую версию Яндекс.Браузера можно скачать на сайте https://browser.yandex.ru. Для установки необходимо выполнить следующие команды:

fetch -o /tmp/Yandex.deb "https://browser.yandex.ru/download/?os=linux&x64=1&package=deb"
chroot /compat/ubuntu /bin/bash
apt install -y xz-utils
apt install -y /tmp/Yandex.deb
exit

Далее необходимо создать скрипт запуска /compat/ubuntu/usr/local/bin/yandex-browser следующего содержания:

#!/compat/ubuntu/bin/bash

export START_PATH="/opt/yandex/browser/yandex_browser"
export CHROME_WRAPPER="`readlink -f "$0"`"
export LD_LIBRARY_PATH=/usr/local/steam-utils/lib64/fakeudev:/compat/ubuntu/lib/x86_64-linux-gnu:/compat/ubuntu/usr/lib/x86_64-linux-gnu
export LD_PRELOAD=/usr/local/steam-utils/lib64/webfix/webfix.so
export LIBGL_DRI3_DISABLE=1

exec -a "$0" "$START_PATH" --no-sandbox --no-zygote --in-process-gpu --test-type --v=0 "$@"

И сделать этот скрипт исполняемым:

chmod +x /compat/ubuntu/usr/local/bin/yandex-browser

В завершении необходимо создать ярлык для запуска /usr/local/share/applications/yandex-browser.desktop:

[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
Name=Yandex.Browser
Name[ru]=Яндекс.Браузер
Comment=Web browser based on Chromium
Comment[ru]=Веб-браузер на основе Chromium
Icon=/compat/ubuntu/opt/yandex/browser/product_logo_256.png
Exec=/compat/ubuntu/usr/local/bin/pulseaudio /compat/ubuntu/usr/local/bin/yandex-browser %U
Categories=Network;WebBrowser
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
StartupNotify=true

 

Примечание 1:

Пакет debootstrap позволяет установить верии Ubuntu bionic или focal. Чтобы обновиться до более поздней версии (например, jammy) необходимо выполнить следующие команды:

chroot /compat/ubuntu /bin/bash
do-release-upgrade -d
rm /run/reboot-required*
exit

Далее необходимо сделать следующее исправление:

cd /compat/ubuntu/lib64/
rm ./ld-linux-x86-64.so.2
ln -s ../lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2

После этого желательно перезагрузить машину.

 

Примечание 2:

Для обновления приложений в Ubuntu-окружении можно использовать следующую последовательность команд:

chroot /compat/ubuntu /bin/bash
apt update
apt list --upgradable
apt upgrade
apt autoremove
apt clean
exit

 

Примечание 3:

Команды, используемые для удаления пакетов в Ubuntu-окружении:

dpkg --list | grep <package-name> - определение полного имени пакета <package-name>
apt remove <package-name> - удаление пакета <package-name>
apt purge <package-name> - удаление пакета <package-name> и его конфигурационных файлов
apt autoremove - удаление ненужных пакетов
apt clean - очистка кэша от устаревших пакетов

 

Последнее изменение: 08.01.2024 03:59:28
Комментарии
Добавляя комментарий, убедитесь, что он соответствует теме. Подумайте, будет ли он интересен другим. Спам, умышленная реклама и личная переписка не допускаются. Соблюдайте правила русского языка. Комментарии публикуются после проверки модератором и могут быть удалены без объяснения причин. Ответы на заданные в комментариях вопросы могут исходить от любого пользователя и являются неофициальными.
Импортозамещение
На заседании Общественного совета при Минцифры ассоциации АРПП «Отечественный софт» и АПКИТ, а также комиссия по поддержке IT-индустрии и обеспечению информационной безопасности Общественного совета выступили против идеи маркировать подходящие для госсектора российские IT-решения по критерию надёжности, чтобы организациям было легче выбирать необходимое ПО, сообщила в своём Telegram-канале президент группы компаний InfoWatch Наталья Касперская. По общему […] Сообщение Разработчики софта выступили против мар... 
Кружковое движение НТИ совместно с партнёрами открыло приём заявок на новый сезон программы оплачиваемых стажировок в open source-проектах «Код для всех», сообщает пресс-служба движения в четверг. К участию пригашаются школьники, студенты и молодые разработчики, готовые включиться в проекты свободного ПО и помочь в их развитии. Регистрация открыта до 31 июля. Напомним, конкурсная программа стажировок для […] Сообщение Объявлено о начале приема заявок на программу оплачиваемых стажировок «Код для всех» появи... 
Министерство цифрового развития и связи Хабаровского края и российский разработчик программного обеспечения «Ред Софт» подписали соглашение о сотрудничестве: стороны будут вместе работать над программами по импортозамещению в сфере информационных технологий, чтобы укрепить цифровой суверенитет региона, сообщает министерство в четверг. В числе приоритетных задач – ускорение процесса перехода на отечественное программное обеспечение. Для этого разработчик на […] Сообщение Правительство Хабаровского края и «Ре... 
Председатель правительства Михаил Мишустин дал поручения по итогам X конференции «Цифровая индустрия промышленной России» (ЦИПР); в частности, Минцифры совместно с отраслевыми комитетами поручено сформулировать предложения по составу участников и регламенту работы консорциума для разработки отечественного ERP-решения (программный комплекс для планирования управления ресурсами предприятия). Эта работа должна быть завершена в четвёртом квартале текущего года. См. также: […] Сообщение Поручения правительства п... 
Новый завод промышленной автоматики «Рекорд», реализованный как крупный инвестиционный проект, запущен в Новосибирске, сообщает министерство цифрового развития и связи Новосибирской области во вторник. «Рекорд» занимается проектированием и сборкой телекоммуникационных систем. Команда предприятия с 2021 года производит комплексы фотовидеофиксации нарушений правил дорожного движения, детекторы для мониторинга транспортных потоков с системой интеллектуального светофорного управления, оптические системы проекци... 
Промежуточные результаты исполнения пилотного проекта («пилотирования») практического использования цифрового рубля, начавшегося в августе 2023 года, и планы по развитию новой формы национальной валюты опубликованы на сайте Центробанка в отчёте «Цифровой рубль: текущий статус проекта». С 15 августа 2023 года на платформе стартовало пилотирование операций с реальными цифровыми рублями на ограниченном круге пользователей и участников. Сначала […] Сообщение Центробанк России подвёл итоги пилотного проекта прим... 
На сегодняшний день самым результативным в мире FPV-дроном по соотношению стоимость/эффективность применения является оптоволоконный беспилотник «Князь Вандал Новгородский», разработанный и произведённый в Новгородской области, сообщает сайт правительства в понедельник, освещая рабочую поездку первого заместителя председателя правительства Дениса Мантурова в регион. FPV-дрон (First Person View) — это беспилотный летательный аппарат, который позволяет оператору управлять им в […] Сообщение Правительство сооб... 
Председатель правительства Михаил Мишустин дал поручения по итогам стратегической сессии по развитию отрасли связи; они касаются вопросов качества услуг связи, эффективности мер поддержки операторов, развития инфраструктуры сетей, а также борьбы с телефонными мошенниками, сообщает government.ru в понедельник. Так, Минцифры, Минэкономразвития, Роскомнадзору и ФАС предстоит сформировать перечень показателей качества услуг связи для пользователей и показателей качества […] Сообщение Опубликованы поручения прав... 
В третьем чтении принят законопроект, согласно которому при продаже в РФ смартфонов и планшетов должна быть обеспечена возможность устанавливать и обновлять программы с использованием единого магазина приложений, а также осуществлять платежи при установке и использовании указанных программ с применением механизмов единого магазина приложений, сообщила Госдума во вторник. Закон также запрещает устанавливать условия, приводящие к ограничению […] Сообщение Госдума приняла закон об обязательной установке россий... 
Правительство внесло изменения в методики расчёта показателей эффективности губернаторов за 2024 год, в том числе показателя «Цифровая зрелость» государственного и муниципального управления, ключевых отраслей экономики и социальной сферы, в том числе здравоохранения и образования». Ответственным за расчёт показателя является Минцифры. Проект методики был разработан Минэкономразвития в апреле. Начиная с отчётности за 2025 год применяются существующие […] Сообщение Утверждена методика расчёта показателя эффек... 
    Наверх       На главную страницу       Адрес электропочты Рейтинг@Mail.ru
Данный интернет-сайт носит исключительно информационный характер, и ни при каких условиях информационные
материалы и цены, размещенные на сайте, не являются публичной офертой, определяемой положениями Статьи 437 ГК РФ.

Сергей Волков – эксперт в области информационных технологий © 2011−2025
Работает система управления сайтом «Публикатор 1.9» © 2004−2025