Сначала один
Одно время, я определил псевдоним, чтобы помочь мне убрать временные файлы:
alias clean_dir_tmp="find /tmp -maxdepth 1 -user **** | grep *** | xargs rm -rf"
и конечно однажды, когда я имел, забывают то, что делал псевдоним, я ввел с опечаткой:
$ clean_dir_tmp *
Я думаю, что потерял хорошие несколько за секунды до того, как я понял то, что происходило... :(
Второй
Я работал, как обычно, со своим ноутбуком Mac и своим рабочим столом Ubuntu. Когда я включил внешний HD Mac (HFS + файловая система) в Ubuntu, я заметил, что владелец был ?????
. Мой UID отличался на моем Mac и на моем рабочем столе поэтому, так как я хотел более хороший вывод с ls -l
, Я решил изменить это.
Таким образом, я изменил UID на Mac и запустил большое chown -R *
на HD из Ubuntu. Единственная вещь, которую я не знал, состояла в том, что HFS + драйвер для Linux не был стабилен. По сей день я не смог смонтировать этот HD на Linux или моем Mac снова...
Я делал это вполне часто в моем последнем задании - решение, которое, казалось, работало, лучше всего должен был создать ~/usr каталог и использовать - аргумент префикса для указания на эти./настраивающему сценариев в правильном направлении. Вот шаги:
export PATH=$PATH:~/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/usr/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:~/usr/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:~/usr/include
./configure --prefix=/home/<username>/usr
Это расположение работало на меня для большинства ситуаций, где я должен был создать вещи в пространстве пользователя. Самая твердая часть обычно находит и создает все зависимости, в которых Вы нуждаетесь, но это просто берет некоторый поиск с помощью Google, или разумное использование Вашего диспетчера пакетов 'получают источник' функциональность.
Обычно необходимо смочь реконфигурировать и изменить код для определения нового местоположения в корневом каталоге или другого пути для всех библиотек и программ...
Но по моему скромному мнению, самым легким путем (если у Вас есть много пространства) является использование chroot в подкаталоге со всем дистрибутив Linux, установленный в нем. Из cuorse как обычный пользователь Вы не можете использовать chroot, но можно использовать эти большие инструменты: fakechroot и fakeroot
Для создания chroot файловой системы мне нравится развертывать каталог с Debian (или любая производная Debian как человечность) использование debootstrap утилиты.
Таким образом, процедура легка (я не войду в технические детали, прочитать справочники по командам):
Если Вам нужно больше деталей, я думаю, что у меня был сценарий где-нибудь, чтобы сделать все это.
Другое решение для этой проблемы использует хинду Префикс, как пользователи MacOSX и другая платформа (solaris, AIX) делает:
http://www.gentoo.org/proj/en/gentoo-alt/prefix/
Это скомпилирует хинду стек (с перевозкой) в месте $PREFIX. Это использует хинду пакеты, большинство пакетов поддерживает использование этих настроек.
Перевозка будет отслеживать все зависимости, у Вас будет последняя версия программного обеспечения, это было протестировано сообществом...
Если prefix=/home/foo/usr
не работает, пробуют:
CFLAGS=-I/home/foo/usr/include LDFLAGS=-L/home/foo/usr/lib ./configure
${HOME}
вместо~
во всех моих вызовах экспорта, и затем pkg-конфигурируются, было счастливо и смог найти, что мой пользователь установил библиотеки и пакеты. tar – phyatt 28.10.2015, 18:21