部分启动文件

| tags boot  log 

boot启动文件

***************************************************************************
1 /etc/sysconfig/network
2 /etc/resov.conf
3  /etc/inittab  系统启动设定
/etc/init.d/    服务脚本
4 login和getty
****************************************************************************

1、网络配置相关,系统配置相关目录

[hl@f15-gvos ~]$ tree /etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/
├── ifcfg-lo
├── ifcfg-Wired_connection_1
├── ifdown -> ../../../sbin/ifdown
├── ifdown-bnep
├── ifdown-eth
├── ifdown-ippp
├── ifdown-ipsec
├── ifdown-ipv6
├── ifdown-isdn -> ifdown-ippp
├── ifdown-post
├── ifdown-ppp
├── ifdown-routes
├── ifdown-sit
├── ifdown-tunnel
├── ifup -> ../../../sbin/ifup
├── ifup-aliases
├── ifup-bnep
├── ifup-eth
├── ifup-ippp
├── ifup-ipsec
├── ifup-ipv6
├── ifup-ipx
├── ifup-isdn -> ifup-ippp
├── ifup-plip
├── ifup-plusb
├── ifup-post
├── ifup-ppp
├── ifup-routes
├── ifup-sit
├── ifup-tunnel
├── ifup-wireless
├── init.ipv6-global
├── net.hotplug
├── network-functions
└── network-functions-ipv6
0 directories, 35 files

2、namesever和dns的设置目录

[hl@f15-gvos ~]$ more /etc/resolv.conf    
# Generated by NetworkManager
search 127.0.0.1
nameserver 192.168.132.2

3、默认启动配置,如login、tty设定、shell版本等

[hl@f15-gvos ~]$ more /etc/inittab 
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To set a default target, run:
#
# ln -s /lib/systemd/system/<target name>.target /etc/systemd/system/default.target
#
Tips:
Fedora派系发行版使用systemd取代老版的udev,移除了runleve的概念,转变成了target.目录和服务的行为方式也有些改变:

首先:

/etc/init.d/XXX restart 的这种方式转换成了
 systemctl restart xxx.service
Chkconfig –level 23 name on/off  相对的转成了
systemctl enable/disable xxx.service

其次:取消繁琐的runlevel和init.d/rc.XXX的概念,转换成

/etc/systemd/system/ctrl-alt-del.target
将level独立起来,这种方式比较有效

4、非x端自动登录设置

Linux的登录主要是由两个文件在控制:
(1) /usr/sbin/getty来获得用户名,并进行检查用户名是否存在
(2) 然后将用户名传递给/usr/bin/login来获取用户输入密码和检查密码是否正确.
所以要实现linux的自动登录,就要改动这两个文件(getty、login).

1.getty实现的主要功能是:
  1)打开指定的tty;
  2)提示用户登录(login:);
  3)获得登录用户名;
  4)把用户名传递给login命令

2.login实现的主要功能是:
    1)先检查是不是超级用户;
    2)提示用户输入密码(通过getpass()实现);
    3)检查密码并检查是否quiet登录;
    4)设置登录的用户的ID和组ID,并设置相应的环境变量.

3.下载util-linux的source code包,login和getty的命令就是在这里面生成的.
    1)修改agetty.c文件的获得logname的代码.
        while((logname = get_logname(&options,&chardata,&termio)) == 0)
            next_speed(&termio,&options);
        注释掉上面两行,然后添加:
        logname = "your count name";//输入你的账户名字

    2)修改login.c文件:
        passwd_req为密码是否需要验证的一个开关,关掉:
        passwd_req = 0;
        注释掉下面对passwd_req做赋值的几行:
        if(fflag && (getuid()==0))
            passwd_req = 0;
        else
            passwd_req = 1;
        上面全部注释.

    3)然后./configure,进login-utils里面make,不要make install.
    4)把系统的login和getty做个备份,然后将编译生成的login和agetty,复制过去,agetty改名为getty.

4.然后reboot,你的系统就会直接进入到系统里面了.

这是命令行启动的系统实现的方式,linux字符界面,desktop就没什么好说了,直接在startup里面设置就好了.

上一篇     下一篇