Уже предложенный
tar zcf home-backup.tar.gz --exclude home-backup.tar.gz.
подойдет, но мне не очень нравятся tar-файлы, содержащие множество файлов вместо одного каталога. Если вы хотите сделать то же самое, но как один каталог:
cd /home
tar -czf yourhome/yourhome.tgz --exclude yourhome.tgz yourhome/
В обоих случаях вы получите сообщение об ошибке:
tar: yourhome: file changed as we read it
что может быть проблемой, если вы хотите сделать резервную копию из сценария и проверить код выхода, и в любом случае, если вы проигнорируете это, это может скрыть другую проблему. Вы можете устранить это, создав пустой tgz перед началом резервного копирования :
.touch yourhome.tgz
Вы почти никогда не должны устанавливать LD_LIBRARY_PATH
, по крайней мере, не в вашем.bashrc, чтобы он применялся все время.
Можно установить его при запуске определенной программы или для тестирования с новыми/другими библиотеками, например.
LD _БИБЛИОТЕКА _PATH="$LD _БИБЛИОТЕКА _ПУТЬ :$MATLAB _LIB" /path/to/matlab
Это устанавливает его только для этого вызова программы. Если вам нужно делать это каждый раз, когда вы запускаете matlab
, используйте функцию, псевдоним или оболочку сценария оболочки. например.:
alias matlab='LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$MATLAB_LIB" matlab'
Проблема заключается в том, что динамический компоновщик среды выполнения linux, ld.so
, ищет в LD _LIBRARY _PATH библиотеки до каталогов по умолчанию, перечисленных в/etc/ld.so.conf
(и /etc/ld.so.conf.d/
), которые означает, что библиотеки в LD _LIBRARY _PATH переопределяют стандартные системные библиотеки.
Иногда это полезно, например. при тестировании разрабатываемых версий библиотек, но в противном случае имеет тенденцию портить вашу систему.
В вашем случае, Matlab, вероятно, связан со старой (или просто другой )версией библиотек Qt (и libpython, судя по всему ), и нуждается в этих конкретных версиях. Любая другая программа, установленная в вашей системе, была скомпилирована с версиями системной библиотеки и сломается, когда вы скажете ld.so
использовать версии Matlab. Итак, не делайте этого.
Быстрый поиск в Google дал следующие страницы с более подробным описанием проблемы:
Кстати, если вы что-то компилируете, используйте опции -L
с вашим компоновщиком и/или установите LDFLAGS
, а не LD_LIBRARY_PATH
.