IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Linux | Open source  >

Учебное пособие для экзамена LPI 102, тема 111: Задачи администрирования

Администрирование Linux для начинающих (LPIC-1) тема 111

developerWorks
На предыдущую страницуСтраница 3 из 10 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


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

Этот раздел охватывает материал по теме 1.111.2 экзамена 102 Администрирование Linux для начинающих (LPIC-1). Рейтинг темы 3.

Из этого раздела вы узнаете, как настроить пользовательское окружение, включая решение следующих задач:

  • Установка переменных окружения и отмена установок
  • Поддержка скелетных каталогов для новых учетных записей пользователей
  • Установка путей поиска команды

Установка переменных окружения и отмена установок

При создании нового пользователя вы обычно устанавливаете множество переменных в соответствии с вашими частными потребностями. Эти переменные обычно устанавливаются в предоставляемых новым пользователям профайлах, таких как .bash_profile и .bashrc, или в общесистемных профайлах /etc/profile и /etc/bashrc. В листинге 14 показан пример, как установить системное приглашение PS1 в /etc/profile на системе Ubuntu 7.04. Первый оператор if проверяет, установлена ли переменная PS1, что показывает, что это интерактивный shell, поскольку для неинтерактивного shell приглашение не требуется. Второй оператор if проверяет, установлена ли переменная окружения BASH. Если да, устанавливается приглашение и /etc/bash.bashrc (обратите внимание на точку). Если переменная BASH не установлена, проверяется, запущена ли она от имени root (id=0), и устанавливается приглашение # или $ соответственно.


Листинг 14. Установка переменных окружения
                    
if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
        . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

В учебном пособии Подготовка к экзамену LPI 102: Командные оболочки, написание скриптов, программирование и компиляция (LPI exam 102 prep: Shells, scripting, programming, and compiling) дается подробная информация о командах, используемых для установки переменных окружения и отмены установок, а также информация о том, как и когда используются различные профайлы.

Настраивая пользовательские окружения, следует учитывать два важных момента:

  1. Чтение файла /etc/profile происходит только во время регистрации в системе и не происходит при запуске каждого нового shell'а.
  2. Функции и псевдонимы не наследуются новыми shell'ами. Поэтому обычно вы будете устанавливать их и ваши переменные окружения в /etc/bashrc или в собственный профайл пользователя.

Linux Standard Base (LSB) предусматривает, что дополнительные скрипты могут быть расположены не только в системных профайлах /etc/profile и /etc/bashrc, но и в каталоге /etc/profile.d. Эти скрипты служат источником при создании интерактивного login shell. Они обеспечивают удобный способ разделения настроек для различных программ. В листинге 15 показан пример.


Листинг 15. Файл /etc/profile.d/vim.sh из Fedora 7
                    
[if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n "$ZSH_VERSION" ]; then
  [ -x //usr/bin/id ] || return
  [ `//usr/bin/id -u` -le 100 ] && return
  # for bash and zsh, only if no alias is already set
  alias vi >/dev/null 2>&1 || alias vi=vim
fi

Помните, что обычно вы должны экспортировать все переменные, установленные в профайле; иначе они не будут доступны командам, запускаемым в новом shell'е.



В начало


Поддержка скелетных каталогов для новых учетных записей пользователей

Из раздела Добавление и удаление пользователей и групп вы узнали, как можно создать или наполнить содержимым новый домашний каталог пользователя. Источником для этого нового каталога служит поддерево, корнем которого является /etc/skel. В листинге 16 показаны файлы этого поддерева для системы Fedora 7. Обратите внимание, что большинство файлов начинается с точки, поэтому для их просмотра необходимо использовать опцию -a. Опция -R рекурсивно выводит подкаталоги, а опция -L — соответствующие символьные ссылки.


Листинг 16. Файл /etc/skel из Fedora 7
                    
[ian@lyrebird ~]$ ls -aRL /etc/skel
/etc/skel:
.  ..  .bash_logout  .bash_profile  .bashrc  .emacs  .xemacs

/etc/skel/.xemacs:
.  ..  init.el

Обратите внимание, что вдобавок к файлам .bash_logout, .bash_profile и .bashrc, которые вы могли ожидать увидеть для Bash shell, этот пример содержит информацию о профайле для редакторов emacs и xemacs. Если вам необходима информация о функциях различных profile-файлов, обратитесь к учебному пособию Подготовка к экзамену LPI 102: Командные оболочки, написание скриптов, программирование и компиляция (LPI exam 102 prep: Shells, scripting, programming, and compiling).

В листинге 17 показан файл /etc/skel/.bashrc для системы Fedora 7. В разных релизах и разных дистрибутивах этот файл может быть различным, но он дает представление о том, какие пользовательские установки по умолчанию можно сделать.


Листинг 17. Файл /etc/skel/.bashrc из Fedora 7
                    
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

Как можно видеть, источником является глобальный /etc/bashrc, затем могут быть добавлены любые специфичные для пользователя инструкции. В листинге 18 показан фрагмент файла /etc/bashrc, в котором скрипты .sh подгружаются из /etc/profile.d.


Листинг 18. Подгрузка скриптов .sh из /etc/profile.d
                    
        for i in /etc/profile.d/*.sh; do
                if [ -r "$i" ]; then
                        . $i
        fi
        done
        unset i

Обратите внимание, что после выполнения цикла установки для переменной i отменены.



В начало


Установка путей поиска команды

Ваши профайлы по умолчанию часто содержат переменные PATH для частных функций или для продуктов, которые вы могли установить. Можно включить их в скелетные файлы /etc/skel, изменить /etc/profile, /etc/bashrc или создать файл /etc/profile.d, если он используется в вашей системе. Если вы изменяете системные файлы, убедитесь, что ваши изменения сохранятся после любых обновлений системы. В листинге 19 показано, как добавить новый каталог /opt/productxyz/bin в начало или конец существующего PATH.


Листинг 19. Добавление каталога в путь поиска
                    
PATH="$PATH${PATH:+:}/opt/productxyz/bin"
PATH="/opt/productxyz/bin${PATH:+:}$PATH"

Хотя строгого требования не существует, выражение ${PATH:+:} вставляет в путь разделитель (двоеточие), только если переменная PATH не установлена или равна нулю.



В начало



На предыдущую страницуСтраница 3 из 10 На предыдущую страницу
    IBM в России Конфиденциальность Контакты