Winetricks загрузка компонентов через IPFS
Содержание
Winetricks установка компонентов через IPFS
Предполагает использование для ускорения загрузки компонентов, возможность загрузки в закрытом контуре (в локальной сети) и возможность загрузки при отсутствии доступа к оригинальному источнику. Такой функционал присутствует в WINE@Etersoft начиная с версии 10.10.12 и выше. Для начала работы необходимо подготовить машину к работе с IPFS и выполнить первоначальную загрузку всех компонентов (или тех компонентов, которые предполагается использовать) для создания базы.
Подготовка к работе
Для работы необходимо подготовить следующее:
- Установить Eepm.
- Установить WINE@Etersoft.
- Выполнить команду
$ epmi kubo. - Выполнить команду
$ ipfs init.
Создание базы для IPFS
В терминале выполнить команду $ ipfs daemon. Открыть вторую вкладку или второй терминал. В нём мы будем выполнять загрузку компонентов. Удалить уже загруженный ранее кэш для winetricks из $HOME/.cache/winetricks. Выполнить следующую команду для загрузки всех компонентов:
-
EGET_IPFS_DB=/tmp/var/eget-winetricks.db WINETRICKS_DOWNLOADER=eget winetricks alldownloadables
Или для загрузки только необходимых компонентов:
-
EGET_IPFS_DB=/tmp/var/eget-winetricks.db WINETRICKS_DOWNLOADER=eget winetricks --download <команда>
После загрузки компонентов в указанном пути EGET_IPFS_DB будет создана база, в которой будут храниться все CID загруженных компонентов. Эта база потребуется для загрузки компонентов на других машинах-клиентах с машины сервера. Для закрытых контуров её стоит разместить в доступном месте.
При загрузке через WINETRICKS_DOWNLOADER=eget загруженные файлы будут автоматически закреплены в репозитории $HOME/.ipfs в каталоге пользователя. Этот репозиторий потребуется перенести на машину сервер целиком, если работа предполагается в закрытом контуре.
Загрузка компонентов из базы IPFS
Команды загрузки компонентов из базы выполняются теми же командами, что и для создания:
- также требуется в отдельном терминале запустить
$ ipfs daemon. -
EGET_IPFS_DB=/tmp/var/eget-winetricks.db WINETRICKS_DOWNLOADER=eget winetricks alldownloadables -
EGET_IPFS_DB=/tmp/var/eget-winetricks.db WINETRICKS_DOWNLOADER=eget winetricks --download <команда>
Примеры использования
На машинах с доступом в интернет (машина А - сервер, машина Б - клиент):
- Запустить
$ ipfs daemonна машине А на которой будет выполняться загрузка компонентов. - Выполнить загрузку компонента
EGET_IPFS_DB=/путь/до/файла/базы WINETRICKS_DOWNLOADER=eget winetricks --download -q vcrun2019на машине А. - После выполнения загрузки переместить базу
eget-winetricks.dbв доступное место или перенести её на другую машине Б. - На машине Б убедитесь, что машина А доступна. Проверьте ID на машине А командой
$ ipfs id, по полученному ID на машине Б проверьте доступность командой$ ipfs swarm peers | grep <ID>. - Если на машине Б не удалось найти машину А выполните
$ ipfs swarm connect /ip4/192.168.100.1/tcp/4001/p2p/15ud84cv...(вместо 192.168.100.1 укажите IP машины А, а также 15ud84cv... измените на ID машины А). После чего снова убедитесь, что машина стала доступна. - На машине Б начните загрузку командой
EGET_IPFS_DB=/путь/до/файла/базы WINETRICKS_DOWNLOADER=eget winetricks --download -q vcrun2019.
На машинах в закрытом контуре (машина А - машина с доступом в интернет, машина Б - сервер в закрытом контуре и машина В - клиент в закрытом контуре):
- Запустить
$ ipfs daemonна машине А на которой будет выполняться загрузка компонентов. - Выполнить загрузку компонента
EGET_IPFS_DB=/путь/до/файла/базы WINETRICKS_DOWNLOADER=eget winetricks --download -q vcrun2019на машине А. - После выполнения загрузки переместить базу
eget-winetricks.dbв доступное место или перенести её на машину В. - Перенести репозиторий
$HOME/.ipfsна машину Б. - На машине В убедитесь, что машина Б доступна. Проверьте ID на машине Б командой
$ ipfs id, по полученному ID на машине В проверьте доступность командой$ ipfs swarm peers | grep <ID>. - Если на машине В не удалось найти машину Б, выполните
$ ipfs swarm connect /ip4/192.168.100.1/tcp/4001/p2p/15ud84cv...(вместо 192.168.100.1 укажите IP машины Б, а также 15ud84cv... измените на ID машины Б). После чего снова убедитесь, что машина Б стала доступна. - На машине В начните загрузку командой
EGET_IPFS_DB=/путь/до/файла/базы WINETRICKS_DOWNLOADER=eget winetricks --download -q vcrun2019.
$ ipfs add ваша_база.db (также её нужно будет закрепить через $ ipfs pin add <CID>), но тогда пользователь должен знать CID базы для её загрузки.
