Сборка LFS в debian-based дистрибутиве
В host-системе создается пользователь lfs с группой, окружением и т. д. Для него заводятся файлы ~/.bash_profile и ~/.bashrc. При этом в книге довольно категорично рекомендуют избавится от возможной активности файла /etc/bash.bashrc. Цитата: move it out of the way. Предлагается:
[ -e /etc/bash.bashrc ] && mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE
Этот файл существует и имеет незакомментированное содержимое, которое скорее всего и не помешает процессу сборки. На крайний случай можно перенести все из этого файла (оставив его пустым) в /root/.bashrc и /home/user/.bashrc . Но может возникнуть необходимость завести еще пользователя. Понадобится ли этот файл host-системе? Если нет, то куда можно перенести его содержимое, чтобы оно не затронуло окружение пользователя lfs? И как быть с этими требованиями: sh is a symbolic link to bash (у меня на dash); /usr/bin/awk is a symlink to gawk (у меня на awk); /usr/bin/yacc is a symlink to bison or a small script that executes bison (у меня на yacc)?
# System-wide .bashrc file for interactive bash(1) shells.
# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, overwrite the one in /etc/profile)
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
# ;;
#*)
# ;;
#esac
# enable bash completion in interactive shells
#if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
#fi
# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi
#apt-get
alias agu="apt-get update"
alias agd="apt-get dist-upgrade"
alias agc="apt-get clean"
alias ag="apt-get update;apt-get dist-upgrade"
alias acs="apt-cache search"