linux有许多发行版,各种发行版都各自有各自的特点,以适应不同的场合,不同的人群.
当有太多选择的时候,你可能也会无从下手.
我暂时感兴趣的是ubuntu,centOS,gentoo,lfs
我觉得各种主要的发行版,它们主要的区别是包的管理方式,配置文件的位置和处理.
包的管理现在流行在线更新,在线安装,它会帮你处理麻烦的包依赖问题.
比如ubuntu的apt-get命令,centOS的yum命令
apt-get比yum命令好用的一点是apt-get支持tab补全,这很方便.
因为我是喜欢自己折腾源码安装软件,所以一般我就用他们的在线安装功能安装
编译环境,sshd服务器等.
现在主要是记录这几种发行版的配置文件问题.
它们的配置文件可能位置不同,甚至格式也不同,有时配置文件多了还挺头大的.
不过那些主要的,一般性的配置文件也还是相同的.
1.先说说它们可能都是在同一个位置,文件格式也一样的配置文件
(1)./etc/fstab
这个是文件系统挂载信息,系统启动时读取
格式:file-system mount-point type options dump pass
file-system可以是linux系统定义的文件系统,比如proc,
file-system也可以是分区所在位置,比如/dev/sda11
不过ubuntu是用UUID来指定分区的,比如UUID=81e85039-fa01-422f-97fe-9b4aef5be8ea
这个UUID是全局唯一的,所以增加删除硬盘都不会改变
通过sudo blkid -o value -s UUID /dev/sda11来得到这个UUID
(2)./etc/mtab
这是系统运行时全部文件系统信息,/etc/fstab只不过是它的子集,它还有自己更多内容
(3)./etc/issue, /etc/issue.net
前者是本地shell登录时显示的信息,后者是网络连接登录时显示的信息
(4)./etc/profile /etc/profile.d
这是shell初始化会读取的文件信息,完成后用户才进行登录
这个shell应该不止包括bash shell,
(5)./etc/hosts, /etc/hostname
前者是域名-IP映射,当出现需要域名解释时这里的内容最先使用
后者是主机名
(6)./etc/resolv.conf
域名服务器定义,如果是静态IP,可以使用google很酷的DNS服务器
nameserver 8.8.8.8
nameserver 8.8.4.4
(7)./etc/timezone
表示选择的时区,比如Asia/Shanghai
(8)./etc/sudoers
这是定义sudo权限的文件,需要使用visudo命令编辑,而不是直接用vi进行编辑,因为visudo会保证编辑后文件格式不会出错
增加组
%wheel ALL=(ALL) ALL
增加个人用户
linvar ALL=(ALL) ALL
(9)./etc/passwd, /etc/shadow, /etc/group, /etc/gshadow
这四个是用户,组的信息文件
/etc/passwd 一行表示一个用户,密码定义是在/etc/shadow
组信息类似
(10)./etc/shells, /etc/services
前者是表示系统合法登录shell,一行一个shell路径,比如/bin/sh
后者是定义各种服务的tcp/udp端口号,比如 www 80/tcp http
(11)./etc/securetty
这是定义root可以登录的终端,这就是为什么有些系统root是不能远程登录的.
console 本地console
vc/1 远程
vc/2...
tty1 本地的那常用的七个tty终端
tty2...
(12)./etc/protocols
这是网络协议定义,是从IANA上更新的
当有太多选择的时候,你可能也会无从下手.
我暂时感兴趣的是ubuntu,centOS,gentoo,lfs
我觉得各种主要的发行版,它们主要的区别是包的管理方式,配置文件的位置和处理.
包的管理现在流行在线更新,在线安装,它会帮你处理麻烦的包依赖问题.
比如ubuntu的apt-get命令,centOS的yum命令
apt-get比yum命令好用的一点是apt-get支持tab补全,这很方便.
因为我是喜欢自己折腾源码安装软件,所以一般我就用他们的在线安装功能安装
编译环境,sshd服务器等.
现在主要是记录这几种发行版的配置文件问题.
它们的配置文件可能位置不同,甚至格式也不同,有时配置文件多了还挺头大的.
不过那些主要的,一般性的配置文件也还是相同的.
1.先说说它们可能都是在同一个位置,文件格式也一样的配置文件
(1)./etc/fstab
这个是文件系统挂载信息,系统启动时读取
格式:file-system mount-point type options dump pass
file-system可以是linux系统定义的文件系统,比如proc,
file-system也可以是分区所在位置,比如/dev/sda11
不过ubuntu是用UUID来指定分区的,比如UUID=81e85039-fa01-422f-97fe-9b4aef5be8ea
这个UUID是全局唯一的,所以增加删除硬盘都不会改变
通过sudo blkid -o value -s UUID /dev/sda11来得到这个UUID
(2)./etc/mtab
这是系统运行时全部文件系统信息,/etc/fstab只不过是它的子集,它还有自己更多内容
(3)./etc/issue, /etc/issue.net
前者是本地shell登录时显示的信息,后者是网络连接登录时显示的信息
(4)./etc/profile /etc/profile.d
这是shell初始化会读取的文件信息,完成后用户才进行登录
这个shell应该不止包括bash shell,
(5)./etc/hosts, /etc/hostname
前者是域名-IP映射,当出现需要域名解释时这里的内容最先使用
后者是主机名
(6)./etc/resolv.conf
域名服务器定义,如果是静态IP,可以使用google很酷的DNS服务器
nameserver 8.8.8.8
nameserver 8.8.4.4
(7)./etc/timezone
表示选择的时区,比如Asia/Shanghai
(8)./etc/sudoers
这是定义sudo权限的文件,需要使用visudo命令编辑,而不是直接用vi进行编辑,因为visudo会保证编辑后文件格式不会出错
增加组
%wheel ALL=(ALL) ALL
增加个人用户
linvar ALL=(ALL) ALL
(9)./etc/passwd, /etc/shadow, /etc/group, /etc/gshadow
这四个是用户,组的信息文件
/etc/passwd 一行表示一个用户,密码定义是在/etc/shadow
组信息类似
(10)./etc/shells, /etc/services
前者是表示系统合法登录shell,一行一个shell路径,比如/bin/sh
后者是定义各种服务的tcp/udp端口号,比如 www 80/tcp http
(11)./etc/securetty
这是定义root可以登录的终端,这就是为什么有些系统root是不能远程登录的.
console 本地console
vc/1 远程
vc/2...
tty1 本地的那常用的七个tty终端
tty2...
(12)./etc/protocols
这是网络协议定义,是从IANA上更新的