Вот тут есть собранный пакет для CentOS 7: http://opensource.is/repo/testing/rhel7/x86_64/winexe-1.01-1.git.11.d48449a.x86_64.rpm
Сборка winexe под Ubuntu 16.04 (октябрь 2017)
Есть замечательная утилита winexe - аналог psexec, позволяющая запускать команды на windows-хостах из командной строчки linux.
Однако, долгое время у меня не получалось собрать версию winexe 1.1, которая может нормально работать с новыми Windows 2012 и далее.
При сборке с shared-библиотеками появлялась ошибка
Checking for library cli-ldap-samba4 : not found
И вот наконец получилось.
нашел рецеп тут: https://sourceforge.net/p/winexe/bugs/77/
Ставим то что нужно для сборки и делаем необходимые симлинки.
sudo apt-get -y install python2.7 gcc-mingw-w64 libtevent-dev samba-dev libgnutls-dev libacl1-dev libldap2-dev sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libcli-ldap.so.0 /usr/lib/x86_64-linux-gnu/samba/libcli-ldap-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba.so.0 /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/liberrors.so.0 /usr/lib/x86_64-linux-gnu/samba/liberrors-samba4.so.0
Скачиваем - u-mstowe-winexe-1.1 или вот поновее (но эта версия не собирается): u-mstowe-winexe-c2fcdf2f2500d15b696ce0c7077ab624d24aaac9.zip
Версия на данный момент актуальная не собирается (по крайней мере под Ubuntu 16.04):
wget https://sourceforge.net/code-snapshots/git/u/u/u/mstowe/winexe.git/u-mstowe-winexe-c2fcdf2f2500d15b696ce0c7077ab624d24aaac9.zip
или
git clone https://git.code.sf.net/u/mstowe/winexe u-mstowe-winexe
Итак - распаковываем - u-mstowe-winexe-1.1.
Собираем :
cd u-mstowe-winexe/source sudo apt-get -y install python2.7 gcc-mingw-w64 libtevent-dev samba-dev libgnutls-dev libacl1-dev libldap2-dev sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libcli-ldap.so.0 /usr/lib/x86_64-linux-gnu/samba/libcli-ldap-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba.so.0 /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/liberrors.so.0 /usr/lib/x86_64-linux-gnu/samba/liberrors-samba4.so.0 ./waf configure build build/winexe --help
И потом кладем скомпилированную winexe в /usr/bin
sudo cp build/winexe /usr/bin/
Проверено на Ubuntu 16.04
Проблемы
При сборке возникает ошибка:
Checking for library cli-ldap-samba4 : not found Checking for library :libcli-ldap-samba4.so.0 : not found Build of shared winexe : disabled Cannot continue! Please either install Samba shared libraries and re-run waf, or download the Samba source code and re-run waf with the “–samba-dir” option. (complete log in /mnt/hdd/Downloads/u-mstowe-winexe-9f5b8251e85dbdcf44fac4e7613fba800152e41b/source/build/config.log) |
---|
Это означает, что сборщик не может найти библиотеки. Чтобы поправить - нужно создать симлинки:
sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libcli-ldap.so.0 /usr/lib/x86_64-linux-gnu/samba/libcli-ldap-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba.so.0 /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/liberrors.so.0 /usr/lib/x86_64-linux-gnu/samba/liberrors-samba4.so.0
После обновления Samba с версии 4.3.9 до версии 4.3.11, winexe перестал запускаться с ошибками:
winexe: /usr/lib/x86_64-linux-gnu/samba/libcli-ldap.so.0: version `SAMBA_4.3.9_UBUNTU' not found (required by winexe) winexe: /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba.so.0: version `SAMBA_4.3.9_UBUNTU' not found (required by winexe) winexe: /usr/lib/x86_64-linux-gnu/samba/liberrors.so.0: version `SAMBA_4.3.9_UBUNTU' not found (required by winexe)
Помогла пересборка winexe заново вышеприведенными командами, хотя, я думаю, можно было просто пересоздать ссылки:
sudo apt-get -y install python2.7 gcc-mingw-w64 libtevent-dev samba-dev sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libcli-ldap.so.0 /usr/lib/x86_64-linux-gnu/samba/libcli-ldap-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba.so.0 /usr/lib/x86_64-linux-gnu/samba/libdcerpc-samba-samba4.so.0 sudo ln -s /usr/lib/x86_64-linux-gnu/samba/liberrors.so.0 /usr/lib/x86_64-linux-gnu/samba/liberrors-samba4.so.0
Discussion