1

Управление FreeBSD на Raspberry pi 3 (FreeBSD-aarch64-12.0-GENERIC-320146M из проекта RaspBSD - http://www.raspbsd.org/) завершается неудачно.

Управляющим хостом является MacOS 10.13.2.

Python успешно установлен на управляемом хосте (rpi3_freebsd):

$ ansible -m raw -a "sudo pkg install -y python27" --user drew --ask-pass rpi3_freebsd
SSH password:
rpi | SUCCESS | rc=0 >>
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent version of packages are already installed

Однако, когда я пытаюсь запустить playbook, ansible возвращает следующую ошибку:

$ ansible-playbook --user drew --ask-pass bootstrap.yml -vvvv
ansible-playbook 2.4.3.0
  config file = /Users/drew/SynologyDrive/rpi-scripts/ansible/ansible.cfg
  configured module search path = [u'/Users/drew/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.4.3.0/libexec/lib/python2.7/site-packages/ansible
  executable location = /usr/local/bin/ansible-playbook
  python version = 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
Using /Users/drew/SynologyDrive/rpi-scripts/ansible/ansible.cfg as config file
SSH password:
setting up inventory plugins
Parsed /Users/drew/SynologyDrive/rpi-scripts/ansible/hosts inventory source with ini plugin
Loading callback plugin skippy of type stdout, v2.0 from /usr/local/Cellar/ansible/2.4.3.0/libexec/lib/python2.7/site-packages/ansible/plugins/callback/skippy.pyc

PLAYBOOK: bootstrap.yml ******************************************************************************************************************
 1 plays in bootstrap.yml

PLAY [raspberrypi_3] *********************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************
Using module file /usr/local/Cellar/ansible/2.4.3.0/libexec/lib/python2.7/site-packages/ansible/modules/system/setup.py
<172.16.42.6> ESTABLISH CONNECTION FOR USER: drew on PORT 22 TO 172.16.42.6
<172.16.42.6> EXEC /bin/sh -c 'echo ~ && sleep 0'
<172.16.42.6> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058 `" && echo ansible-tmp-1522353818.07-1230475463058="` echo /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058 `" ) && sleep 0'
<172.16.42.6> PUT /var/folders/2c/m_z3y5gs3fz1m2b2lwzk7yl80000gn/T/tmpgWCvx_ TO /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058/setup.py
<172.16.42.6> EXEC /bin/sh -c 'chmod u+x /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058/ /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058/setup.py && sleep 0'
<172.16.42.6> EXEC /bin/sh -c '/usr/local/bin/python /home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058/setup.py; rm -rf "/home/drew/.ansible/tmp/ansible-tmp-1522353818.07-1230475463058/" > /dev/null 2>&1 && sleep 0'
fatal: [rpi]: FAILED! => {
    "changed": false,
    "module_stderr": "",
    "module_stdout": "Shared object \"libdl.so.1\" not found, required by \"python\"\r\n",
"msg": "MODULE FAILURE",
"rc": 0
}
to retry, use: --limit @/Users/drew/SynologyDrive/rpi-scripts/ansible/bootstrap.retry

PLAY RECAP *******************************************************************************************************************************
rpi                        : ok=0    changed=0    unreachable=0    failed=1

Единственная зависимость для ansible - это python, который удовлетворен.

Что не так и как я могу это исправить?

Спасибо.

2 ответа2

3

Аналогичная проблема с отсутствующей зависимостью в bash и wget была исправлена путем создания ссылки

ln -sf /lib/libc.so.7 /usr/lib/libdl.so.1
0

У меня была похожая проблема при переходе с FreeBSD 11.1 на 11.2, но именно gnutls сообщили о проблеме с отсутствием libdl.so.1 .

Мое решение возникло из подсказки, которую я нашел по адресу:

https://forums.freenas.org/index.php?threads/openvpn-fails-in-jail-with-libdl-so-1-not-found-error.70391/#post-486449

Сначала сделайте резервную копию /etc/pkg/FreeBSD.conf:

# cp -vp /etc/pkg/FreeBSD.conf /etc/pkg/FreeBSD.conf.safety

Затем отредактируйте /etc/pkg/FreeBSD.conf и измените строку url: на:

url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_2",

Сохраните файл и выйдите из vi.

# pkg update
# pkg install -f python27

Теперь попробуйте еще раз свою игровую книгу.

Если это работает для вас, и если вы недавно обновили другие порты, вы можете кратко вызвать их, чтобы убедиться, что у них нет подобных проблем.

Я не эксперт, но я ожидаю, что эта проблема исчезнет, как только вы установите свою ОС до более новой версии. В моем случае, я считаю, что проблема возникла из-за того, что репозиторий pkg поставлял пакеты, связанные с 11.2, в которых есть libdl.so.1, и я устанавливал их в тюрьму, которая все еще была в версии 11.1, которой нет.

После обновления до последней версии вы должны вернуть ваш /etc/pkg/FreeBSD.conf к резервной копии, которую вы сделали, и возобновить отслеживание последнего репозитория pkg.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .