Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

суббота, 23 октября 2010 г.

LINUX FROM SCRATCH. Установка окружения.

Создаем файл конфигурации bash для нового пользователя lfs в его домашнем каталоге:

cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash 
EOF 

Наша задача создать абсолютно независимое от хост-системы окружение, для этого создаем .bashrc:

cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF

set +h
Запрещаем кеширование путей к исполняемым файлам, шелл всегда будет проверять пути в переменной PATH и находить все только что скомпилированные инструменты в каталоге tools. Таким образом мы избежим использования инструментов хост-системы.

umask 022
Все вновь созданные файлы доступны для записи только владельцем, а для чтения и запуска кем угодно.

LFS=/mnt/lfs
Переменная указывает путь к каталогу к которому монтируется раздел будущей системы.

LC_ALL=POSIX
Устанавливаем локализацию приложений.

LFS_TGT=$(uname -m)-lfs-linux-gnu
Описание, используемое при сборке компилятора и линкера.

PATH=/tools/bin:/bin:/usr/bin
Первым в переменной пути идет каталог с инструментами для сборки системы.

Когда все готово, создаем профиль пользователя:

source ~/.bash_profile

Комментариев нет:

Отправить комментарий