Я бы попытался:
sudo find / -type d -name "postgis-2.0.0"
The. означает поиск только в текущем каталоге, лучше всего искать все от root, если вы действительно этого не знаете. Кроме того, type -f означает поиск файлов, а не папок. Добавление sudo позволяет выполнять поиск во всех папках / подпапках.
Ваш синтаксис для locate правильный, но вам, возможно, придется сначала запустить
sudo updatedb
. По какой-то причине мне никогда не удастся с locate.
locate использует базу данных файлов и каталогов, сделанных updatedb. Поэтому, если вы загрузили новый файл, есть еще больше шансов, что ваш updatedb не обновил базу данных файлов и каталогов. Вы можете использовать sudo updatedb перед использованием служебной программы locate. updatedb обычно работает один раз в день сам по Linux-системам.
Steam нуждается в большом количестве 32-битных библиотек из вашей системы. Если какой-либо из них отсутствует, исполняемый файл Steam сработает.
В openSUSE вы можете проверить, какой пакет предоставляет определенную библиотеку с помощью команды zypper wp libpng12.so.0.
На Ubuntu нет такой простой способ, но этот сайт достаточно хорошо объясняет процесс.
Полный список, необходимый для запуска Steam:
libGL.so.1
libX11.so.6
libXau.so.6
libXext.so.6
libXi.so.6
libXrandr.so.2
libXrender.so.1
libappindicator.so.1
libasound.so.2
libc.so.6
libcairo.so.2
libdbus-1.so.3
libdl.so.2
libfontconfig.so.1
libfreetype.so.6
libgcc_s.so.1
libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0.so.0
libglib-2.0.so.0
libgobject-2.0.so.0
libgtk-x11-2.0.so.0
libm.so.6
libnspr4.so
libnss3.so
libnssutil3.so
libpango-1.0.so.0
libpangocairo-1.0.so.0
libpangoft2-1.0.so.0
libplc4.so
libpng12.so.0
libpthread.so.0
librt.so.1
libsmime3.so
libstdc++.so.6
libsteam.so
libxcb.so.1
libz.so.1
Если вы хотите быстро узнать, чего не хватает , запустите следующую команду:
strace -E LD_LIBRARY_PATH=/home/USERNAME/Steam/ubuntu12_32/ -e trace=open /home/USERNAME/Steam/ubuntu12_32/steam (замените USERNAME дважды своим именем вашей учетной записи на вашем Linux)
Он даст вам вывод чего-то подобного в одной из последних строк :
open("/home/user/Steam/ubuntu12_32/libspeex.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
Если нет строки, после которой не упоминается ENOENT, вам придется искать, какой пакет предоставляет общую библиотеку (libspeex.so.1 в этом case) в соответствии с учебником выше.
LANG=C LD_LIBRARY_PATH=${HOME}/Steam/ubuntu12_32 ldd ${HOME}/Steam/ubuntu12_32/* | grep 'not found'
Это должно дать вам список всех недостающих библиотек; даже если вы используете язык, отличный от английского, оставьте последнюю часть «не найденной».
Сам исполняемый файл Steam не зависит от многих, но те, которые он загружает во время выполнения, будут выходить из процесса чисто, если их зависимости неудовлетворены, не давая выхода, кроме «обработчика исключений».
В Reddit я увидел решение:
apt-get install libpango1.0-0:i386
apt-get -f install