Lx4U-book/docs/build-system/set-profile.md
2021-11-04 19:24:31 +03:00

4.4 KiB
Raw Blame History

Настройка окружения bash

Оболочка командной строки bash использует множество стартовых скриптов. С их помощью можно задать различные переменные, функции, алиасы, настройки bash Ниже будут предложены команды по созданию минимальных версий стартовых скриптов bash:

/etc/profile

Вы могли заметить файлы ~/.profile, ~/.bash_profile и ряд других. Они используются для задания элементов окружения для оболочки пользователя. Например, umask, а также переменных PS1 или PATH. То же самое и с файлом /etc/profile, только он используется для задания общесистемных параметров, а файлы в каталоге пользователя - для задания параметров конкретного пользователя системы.

{{ include('../scripts/profile.sh') }}

О CFLAGS и CXXFLAGS

С помощью данных переменных можно задать флаги компилятора, влияющие в том числе на оптимизацию. Есть следующие уровни оптимизации (и соответствующие флаги)

-O0 - без оптимизации. Не рекомендуется.

-O1 - простейшие минимальные оптимизации. Не рекомендуется.

-O2 - стандартная оптимизация. По умолчанию в GCC.

-O3 - агрессивная оптимизация, почти все пакеты собираются и работают, рекомендуется нами.

-Ofast - чрезвычайно агрессивная оптимизация, некоторые пакеты не собираются.

-Os - оптимизация по размеру.

-Og - оптимизация для отладки.

Вы можете сообщить компилятору оптимизировать код для вашего процессора добавив опцию -march=native, однако возможность запуска такого кода на других процессорах будет потеряна.

Bash-completion

bash-completion расширяет существующие возможности дополнения в bash, позволяя вводить сложные командные строки нажатием буквально нескольких клавиш. Целью является создание программируемых процедур дополнения для большинства распространённых команд Linux/UNIX, которые позволили бы системным администраторам и программистам сократить количество нажатий клавиш при выполнении ежедневных задач.

{{ include('../scripts/completion.sh') }}

Dircolors

Этот файл нужен для цветного вывода таких утилит, как ls. Пример: ls --color=auto.

{{ include('../scripts/dircolors.sh') }}

Readline

Этот файл нужен для настройки inputrc. Если пользователь не имеет индивидуальных установок, он использует глобальный файл.

{{ include('../scripts/inputrc.sh') }}

Umask

Установка значения umask важна для безопасности. Здесь права доступа для записи группы по умолчанию выключены для пользователей системы и когда имена пользователя и группы не совпадают.

{{ include('../scripts/umask.sh') }}

Другие стартовые скрипты

{{ include('../scripts/other.sh') }}

Применить изменения

bash --login +h