Lx4U-book/docs/build-system/set-profile.md
2021-06-13 11:26:44 +03:00

71 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Настройка окружения bash
Оболочка командной строки `bash` использует множество стартовых скриптов. С их помощью можно задать различные переменные, функции, алиасы, настройки `bash`
Ниже будут предложены команды по созданию минимальных версий стартовых скриптов `bash`:
## /etc/profile
<!-- объяснение строк давать как коментарии в самом скрипте -->
Вы могли заметить файлы `~/.profile`, `~/.bash_profile` и ряд других. Они используются для задания элементов окружения для оболочки пользователя. Например, `umask`, а так же переменных `PS1` или `PATH`. Тоже самое и с файлом `/etc/profile`, только он используется для задания общесистемных параметров, а файлы в каталоге пользователя - для задания параметров конкретного пользователя системы.
<common-script :name="'profile'"></common-script>
### О CFLAGS и CXXFLAGS
С помощью данных переменных можно задать флаги компилятора, влияющие в том числе на оптимизацию.
Есть следующие уровни оптимизации (и соответствующие флаги)
``-O0`` - Без оптимизации. Не рекомендуется.
``-O1`` - Простейшие минимальные оптимизации. Не рекомендуется.
``-O2`` - Стандартная оптимизация. По умолчанию в GCC.
``-O3`` - Агрессивная оптимизация, почти все пакеты собираются и работают, рекомендуется нами.
``-Ofast`` - Чрезвычайно агрессивная оптимизация, некоторые пакеты не собираются.
``-Os`` - Оптимизация по размеру.
``-Og`` - Оптимизация для отладки.
Вы можете сообщить компилятору оптимизировать код для вашего процессора добавив опцию ``-march=native``, однако возможность запуска такого кода на других процессорах будет потеряна.
## Bash-completion
bash-completion расширяет существующие возможности дополнения в bash, позволяя вводить сложные командные строки нажатием буквально нескольких клавиш. Целью является создание программируемых процедур дополнения для большинства распространённых команд Linux/UNIX, которые позволили бы системным администраторам и программистам сократить количество нажатий клавиш при выполнении ежедневных задач.
<common-script :name="'completion'"></common-script>
## Dircolors
Этот файл нужен для цветного вывода таких утилит, как `ls`. Пример: `ls --color=auto`.
<common-script :name="'dircolors'"></common-script>
## Readline
Этот файл нужен для настройки ``inputrc``. Если пользователь не имеет индивидуальных установок, он использует глобальный файл.
<common-script :name="'inputrc'"></common-script>
## Umask
Установка значения ``umask`` важна для безопасности. Здесь права доступа для записи группы по умолчанию выключены для пользователей системы и когда имена пользователя и группы не совпадают.
<common-script :name="'umask'"></common-script>
## Другие стартовые скрипты
<common-script :name="'other'"></common-script>
## Применить изменения
```bash
bash --login +h
```
<script>
new Vue({ el: '#main' })
</script>