记录blfs书籍前几个章节的配置内容。

bash shell启动文件章节

1.切换root用户

su

2.创建/etc/profile文件

cat > /etc/profile << "EOF"
# Begin /etc/profile
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# modifications by Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg> # System wide environment variables and startup programs. # System wide aliases and functions should go in /etc/bashrc. Personal
# environment variables and startup programs should go into
# ~/.bash_profile. Personal aliases and functions should go into
# ~/.bashrc. # Functions to help us manage paths. Second argument is the name of the
# path variable to be modified (default: PATH)
pathremove () {
local IFS=':'
local NEWPATH
local DIR
local PATHVARIABLE=${:-PATH}
for DIR in ${!PATHVARIABLE} ; do
if [ "$DIR" != "$1" ] ; then
NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
fi
done
export $PATHVARIABLE="$NEWPATH"
} pathprepend () {
pathremove $ $
local PATHVARIABLE=${:-PATH}
export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
} pathappend () {
pathremove $ $
local PATHVARIABLE=${:-PATH}
export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
} export -f pathremove pathprepend pathappend # Set the initial path
export PATH=/bin:/usr/bin if [ $EUID -eq ] ; then
pathappend /sbin:/usr/sbin
unset HISTFILE
fi # Setup some environment variables.
export HISTSIZE=
export HISTIGNORE="&:[bf]g:exit" # Set some defaults for graphical systems
export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share/}
export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg/}
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER} # Setup a red prompt for root and a green one for users.
NORMAL="\[\e[0m\]"
RED="\[\e[1;31m\]"
GREEN="\[\e[1;32m\]"
if [[ $EUID == ]] ; then
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
else
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
fi for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done unset script RED GREEN NORMAL # End /etc/profile
EOF

3.创建/etc/profile.d 放置各个初始化脚本的目录

install --directory --mode= --owner=root --group=root /etc/profile.d

4.创建/etc/profile.d/bash_completion.sh脚本

cat > /etc/profile.d/bash_completion.sh << "EOF"
# Begin /etc/profile.d/bash_completion.sh
# Import bash completion scripts for script in /etc/bash_completion.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done
# End /etc/profile.d/bash_completion.sh
EOF

5.确保该目录存在

install --directory --mode= --owner=root --group=root /etc/bash_completion.d

6.创建/etc/profile.d/dircolors.sh脚本

cat > /etc/profile.d/dircolors.sh << "EOF"
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
eval $(dircolors -b /etc/dircolors)
fi if [ -f "$HOME/.dircolors" ] ; then
eval $(dircolors -b $HOME/.dircolors)
fi alias ls='ls --color=auto'
alias grep='grep --color=auto'
EOF

7.创建/etc/profile.d/extrapaths.sh脚本

cat > /etc/profile.d/extrapaths.sh << "EOF"
if [ -d /usr/local/lib/pkgconfig ] ; then
pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
fi
if [ -d /usr/local/bin ]; then
pathprepend /usr/local/bin
fi
if [ -d /usr/local/sbin -a $EUID -eq ]; then
pathprepend /usr/local/sbin
fi # Set some defaults before other applications add to these paths.
pathappend /usr/share/man MANPATH
pathappend /usr/share/info INFOPATH
EOF

8.创建/etc/profile.d/readline.sh脚本

cat > /etc/profile.d/readline.sh << "EOF"
# Setup the INPUTRC environment variable.
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
INPUTRC=/etc/inputrc
fi
export INPUTRC
EOF

9.创建/etc/profile.d/umask.sh脚本

cat > /etc/profile.d/umask.sh << "EOF"
# By default, the umask should be set.
if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt ] ; then
umask
else
umask
fi
EOF

10.创建用于语言支持的脚本

cat > /etc/profile.d/i18n.sh << "EOF"
# Set up i18n variables
export LANG=en_US.utf8
EOF

11.创建/etc/bashrc文件

cat > /etc/bashrc << "EOF"
# Begin /etc/bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org> # System wide aliases and functions. # System wide environment variables and startup programs should go into
# /etc/profile. Personal environment variables and startup programs
# should go into ~/.bash_profile. Personal aliases and functions should
# go into ~/.bashrc # Provides colored /bin/ls and /bin/grep commands. Used in conjunction
# with code in /etc/profile. alias ls='ls --color=auto'
alias grep='grep --color=auto' # Provides prompt for non-login shells, specifically shells started
# in the X environment. [Review the LFS archive thread titled
# PS1 Environment Variable for a great case study behind this script
# addendum.] NORMAL="\[\e[0m\]"
RED="\[\e[1;31m\]"
GREEN="\[\e[1;32m\]"
if [[ $EUID == ]] ; then
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
else
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
fi unset RED GREEN NORMAL # End /etc/bashrc
EOF

12.创建/etc/ske目录

mkdir /etc/ske

13.创建/etc/skel/.bash_profile配置文件

cat > /etc/skel/.bash_profile << "EOF"
# Begin ~/.bash_profile
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org> # Personal environment variables and startup programs. # Personal aliases and functions should go in ~/.bashrc. System wide
# environment variables and startup programs are in /etc/profile.
# System wide aliases and functions are in /etc/bashrc. if [ -f "$HOME/.bashrc" ] ; then
source $HOME/.bashrc
fi if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi # Having . in the PATH is dangerous
#if [ $EUID -gt 99 ]; then
# pathappend .
#fi # End /etc/skel/.bash_profile
EOF

14.创建/etc/skel/.profile配置文件

cat > /etc/skel/.profile << "EOF"
# Begin ~/.profile
# Personal environment variables and startup programs. if [ -d "$HOME/bin" ] ; then
pathprepend $HOME/bin
fi # Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers> # End /etc/skel/.profile
EOF

15.创建/etc/skel/.bashrc文件

cat > /etc/skel/.bashrc << "EOF"
# Begin ~/.bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net> # Personal aliases and functions. # Personal environment variables and startup programs should go in
# ~/.bash_profile. System wide environment variables and startup
# programs are in /etc/profile. System wide aliases and functions are
# in /etc/bashrc. if [ -f "/etc/bashrc" ] ; then
source /etc/bashrc
fi # Set up user specific i18n variables
#export LANG=<ll>_<CC>.<charmap><@modifiers> # End /etc/skel/.bashrc
EOF

16.创建/etc/skel/.bash_logout文件

cat > /etc/skel/.bash_logout << "EOF"
# Begin ~/.bash_logout
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net> # Personal items to perform on logout. # End /etc/skel/.bash_logout
EOF

17.复制配置文件至root用户下

cp /etc/skel/.* ~/

18.创建/etc/dircolors文件

dircolors -p > /etc/dircolors

19.创建/etc/issue文件内容自定义,下面贴出书中反斜杠后每个字符的意义

sudo vim /etc/issue
b             插入当前行的波特率。
d 插入当前日期。
s 插入系统名,操作系统的名称。
l 插入当前tty行名称。
m 插入机器的架构标识符,如i686。
n 插入机器的节点名,也就是主机名。
o 插入机器的域名。
r 插入内核的版本号,例如2.6.11.。
t 插入当前时间。
u 插入当前登录的用户数量。
U 插入字符串“ user”或“<n> users”,其中<n>为当前登录的用户数量。
v 插入操作系统的版本,例如,构建日期等。

我的配置文件内容

Welcome to login! \s (\l)

20.安装blfs脚本中的random脚本

make install-random

21.下载lsb_releas包并校验md5

# wget https://downloads.sourceforge.net/lsb/lsb-release-1.4.tar.gz

md5sum -c md5sums

解压并进入lsb_releas包

#tar -xvf lsb-release-1.4.tar.gz

cd lsb-release-1.4

参照书中说明编译安装

sed -i "s|n/a|unavailable|" lsb_release

./help2man -N --include ./lsb_release.examples \
--alt_version_key=program_version ./lsb_release > lsb_release. su install -v -m lsb_release. /usr/share/man/man1 &&
install -v -m lsb_release /usr/bin

返回blfs-sources目录并删除解压包目录

cd /sources/blfs-sources/

rm -rf lsb-release-1.4

22.创建用户并设置密码

useradd -m <newuser>

passwd <newuser>

23.全部配置完重启

reboot

blfs(systemv版本)学习笔记-前几章节的脚本配置的更多相关文章

  1. blfs(systemd版本)学习笔记-前几章节的脚本配置

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 记录blfs书籍前几个章节的配置内容. bash shell启动文件章节 1.切换root用户 su 2.创建/etc/prof ...

  2. Android学习笔记---前传

    在正式的撰写个人的学习笔记前,先对个人的学习经历做一个简要的介绍.座右铭:诚不欺我 1. 前言 本人非软件工程出身,属于半路出家,误打误撞进入这个行业,初心是软件开发的门槛低,自以为学习过C语言,轻度 ...

  3. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD

  4. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  5. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  6. C Primer Plus 学习笔记 -- 前六章

    记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和 ...

  7. 张高兴的 Xamarin.Android 学习笔记:(一)环境配置

    最近在自学 Xamarin 和 Android ,同时发现国内在做 Xamarin 的不多.我在自学中间遇到了很多问题,而且百度到的很多教程也有些过时,现在打算写点东西稍微总结下,顺便帮后人指指路了. ...

  8. 【转】 Pro Android学习笔记(五六):配置变化

    目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...

  9. linux学习笔记-前篇

    大学毕业已经快三年了,从事嵌入式开发的工作也快三年了. 不过,老干些裸机开发,感觉很是枯燥,一咬牙一跺脚,决定从今天开始学习Linux操作系统,顺便记录下学习过程中所遇到的问题与心得. 自己从前完全没 ...

随机推荐

  1. uniGUI经验几则

    uniGUI经验几则 (2015-11-07 21:42:41) 转载▼ 标签: it 分类: uniGUI 1.uniTimer的妙用 很多时候,都会遇到在一个uniForm或者uniFrame加载 ...

  2. 使用Phabricator进行代码审查

    Pharicator 是FB的代码审查工具,主要开发者为Evan Priestley,是一个开源软件,可在Apache许可证第2版下作为自由软件分发.详细信息可查看官方文档.这里从应用的角度,一步一步 ...

  3. JVM活学活用——调优工具

    概述 工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相 ...

  4. Ubuntu 16.04虚拟机调整窗口大小自适应Windows 7

    Windows 7上Ubuntu 16.04虚拟机安装成功后,默认的虚拟机窗口比较小,需要适当调整,才能把虚拟机的屏幕放大, 适合使用,以下介绍调整方法. 安装VMware Tools  启动虚拟机, ...

  5. IDEA 图标介绍。 缓存和索引介绍、清理方法和Debug使用

    一.图标 二.缓存和索引 IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找.代码提示等操作的速(上图中的图标能这样显示也是靠索引).某些特殊条件下,IntelliJ I ...

  6. python中除法的几种类型

    传统除法:直接后缀小数点,同样结果是和最大的小数点对齐 >>> 1/2 0 >>> 1.0/2 0.5 >>> 1/2.0 0.5 >> ...

  7. Linux - 快速进入目录的方法

    cd命令技巧 直接进入用户的home目录: cd ~ 进入上一个目录: cd - 进入当前目录的上一层目录: cd .. 进入当前目录的上两层目录: cd ../.. 其他常用方法 利用tab键,自动 ...

  8. Tools - Windows OS

    001 - 文本操作 Ctrl + C / Ctrl + V / Ctrl + X / Ctrl + Z / Ctrl + A:复制/粘贴/剪贴/撤销/全选. 002 - 窗口分屏 使用快捷键 选中程 ...

  9. Linux - 创建定时任务

    crontab命令 用来创建周期性定时任务 crontab {-l|-r|-e} -l 显示当前的 crontab -r 删除当前的 crontab -e 使用编辑器编辑当前 crontab 文件 输 ...

  10. 排序算法系列:选择排序算法JAVA版(靠谱、清晰、真实、可用、不罗嗦版)

    在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 我总结一个清晰不罗嗦版: 原理: 从数组头元素索引i开始,寻找后面最小的值(比i位 ...