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里面设置就好了.