Я столкнулся с той же проблемой, вот как я быстро ее исправил, предполагая, что у вас есть сервер Linux с той же ОС и архитектурой.
Установите программное обеспечение в системе, которой вы управляете
Найдите исполняемый пример which python
и скопируйте его в~/
Скопируйте библиотеки с помощью:
ldd "$(which python)" | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ~/
Перенесите исполняемый файл и библиотеки в другую систему, где у вас есть только локальные привилегии, затем выполните следующее:
mkdir ~/lib
export PATH="$PATH:~/lib"
export LD_LIBRARY_PATH=~/lib:/lib:/usr/lib
Это создаст папку ~/lib
для хранения библиотек, добавит ее к вашему пути и укажет LD посмотреть библиотеки там, так что просто добавьте туда свои исполняемые файлы и библиотеки, теперь вы можете запускать их по своему усмотрению. г в другом месте
Это может быть очень хакерским, но это очень портативно, быстро, и я еще не нашел что-то, что я не могу запустить таким образом, конечно, программное обеспечение не может пытаться делать вещи, требующие root-доступа, такие как привязка к более низкий порт, чем 1024 и т. д.
Вы можете перенаправить вывод sha256sum
на /dev/tty
для печати на экране, например:
wget -qO- https://go.dev/dl/go1.17.4.linux-amd64.tar.gz|tee >(sha256sum > /dev/tty) |tar -xz
Похоже, что следующий код также работает, просто поместите tar в подстановку процесса и sha256sum после конвейера. На моем компьютере двоичный вывод не выводится на экран.
wget -qO- https://go.dev/dl/go1.17.4.linux-amd64.tar.gz | tee >(tar -xz) | sha256sum
Я понятия не имею, почему это работает или нет, только методом проб и ошибок.