以前经历的公司的server system主要都是centos/redhat ,目前新的公司主要使用ubuntu,虽然两者之间在很多命令的用法上没有区别,不过一些配置项的东西还是有些差异。这里做下简单的一个概况 。

一、主机名的配置

centos下修改主机名涉及到两个文件的修改/etc/hosts 、/etc/sysconfig/network ,两个文件的内容类似如下:

1[root@361way etc]# cat /etc/hosts
2127.0.0.1              361way.com 361way  localhost.localdomain localhost
3::1             localhost6.localdomain6 localhost6
4[root@361way etc]# cat /etc/sysconfig/network
5NETWORKING=yes
6NETWORKING_IPV6=no
7HOSTNAME=361way.com

如果修改完成后不想重启主机,可以使用hostname 361way先临时生效。ubuntu修改主机名的方法和centos下的类似,也是修改两个文件/etc/hostname 、/etc/hosts ,文件内容类似如下:

1yang@yang-acer:~$ cat /etc/hostname
2yang-acer
3yang@yang-acer:~$ cat /etc/hosts
4127.0.0.1       localhost
5127.0.1.1       yang-acer

注:上面那个主机名下使用的是127.0.1.1 ,这点我感觉有点奇怪 。同样,不重启临时生效也可以使用hostname命令。

二、网络配置

IP配置

centos下的配置文件是/etc/sysconfig/network-scripts/ifcfg-eth0 ,具体内容类似如下:

1cat /etc/syscionfig/network-scripts/ifcfg-eth0
2DEVICE=eth0 #网卡设备名称
3HWADDR="XX:XX:XX:XX:XX:XX" #网卡的MAC地址
4ONBOOT="yes"   #随机启动
5BOOTPROTO=static  #静态分配IP
6IPADDR=*.*.*.*  #要设置的IP地址
7NETMASK=255.255.255.0  子网掩码(以实际为准)
8GATEWAY=*.*.*.*  #网关地址

ubuntu上的配置文件是/etc/network/interfaces ,内容大致如下:

 1cat /etc/network/interfaces
 2auto lo
 3iface lo inet loopback
 4auto eth0
 5iface eth0 inet static
 6address 192.168.0.33
 7gateway 192.168.0.1
 8netmask 255.255.255.0
 9network 192.168.0.0
10broadcast 192.168.0.255
11dhcp网络配置如下:
12auto eth0
13iface eth0 inet dhcp

两者在重启网络服务生效也有差异,如下:

1centos下
2[root@361way etc]# /etc/init.d/network restart
3ubuntu下
4yang@yang-acer:~$ sudo /etc/init.d/networking restart

而通过命令配置IP上两者用法一致,如下:

1设置IP
2sudo ifconfig eth0 192.168.2.10 netmask 255.255.255.0
3ifconfig eth0:1 192.168.2.20 netmask 255.255.255.0
4设置网关
5sudo route add default gw 192.168.2.1

DNS配置

DNS配置上两者使用的配置文件一致,都是/etc/resolv.conf

1yang@yang-acer:~$ cat /etc/resolv.conf
2nameserver 114.114.114.114
3nameserver 8.8.8.8

禁用IPv6

centos上禁用IPv6是通过修改/etc/sysconfig/network文件的内容(主机名修改时也用到),其值为NETWORKING_IPV6=no ,具似可以参看上面的主机名修改部分。

ubuntu下禁用IPv6则是通过修改/etc/modprobe.d/blacklist.conf文件,修改文件为在文件末尾加入blacklist ipv6 。

三、包管理方式的区别

yum与apt-get之间的区别

yum命令:

 1使用YUM查找软件包 命令:yum search <keyword>
 2列出所有可安装的软件包 命令:yum list
 3列出所有可更新的软件包 命令:yum list updates
 4列出所有已安装的软件包 命令:yum list installed
 5列出所有已安装但不在 Yum Repository 內的软件包 命令:yum list extras
 6列出所指定的软件包 命令:yum list <package_name>
 7使用YUM获取软件包信息 命令:yum info <package_name>
 8列出所有软件包的信息 命令:yum info
 9列出所有可更新的软件包信息 命令:yum info updates
10列出所有已安裝的软件包信息 命令:yum info installed
11列出所有已安裝但不在 Yum Repository 內的软件包信息 命令:yum info extras
12列出软件包提供哪些文件 命令:yum provides <package_name></package_name></package_name></package_name></keyword>

apt-get命令:

 1sudo apt-cache search package 搜索包
 2sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
 3sudo apt-get install package 安装包
 4sudo apt-get install package -- reinstall 重新安装包
 5sudo apt-get -f install 修复安装"-f = --fix-missing"
 6sudo apt-get remove package 删除包
 7sudo apt-get remove package - - purge 删除包,包括删除配置文件等
 8sudo apt-get update 更新源
 9sudo apt-get upgrade 更新已安装的包
10sudo apt-get dist-upgrade 升级系统
11sudo apt-get dselect-upgrade 使用 dselect 升级
12sudo apt-cache depends package 了解使用依赖
13sudo apt-cache rdepends package 是查看该包被哪些包依赖
14sudo apt-get build-dep package 安装相关的编译环境
15suod apt-get source package 下载该包的源代码
16sudo apt-get clean && sudo apt-get autoclean 清理无用的包
17sudo apt-get check 检查是否有损坏的依赖 

rpm与dpkg对比

安装

目的 rpm 用法 dpkg 用法
安装指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb

查询

目的 rpm 用法 dpkg 用法
显示所有已安装的套件名称 rpm -qa dpkg -l (小写 L)
显示套件包含的所有档案 rpm -ql pkgname (小写 L) dpkg -L pkgname
显示特定档案所属套件名称 rpm -qf /path/to/file dpkg -S /path/to/file
查询套件档案资讯 rpm -qip pkgfile.rpm (显示套件资讯) rpm -qlp pkgfile.rpm (小写 L, 显示套件内所有档案) dpkg -I pkgfile.deb (大写 I ) dpkg -c pkgfile.deb
显示指定套件是否安装 rpm -q pkgname (只显示套件名称) rpm -qi pkgname (显示套件资讯) dpkg -l pkgname (小写 L, 只列出简洁资讯) dpkg -s pkgname (显示详细资讯) dpkg -p pkgname (显示详细资讯)

移除

目的 rpm 用法 dpkg 用法
移除指定套件 rpm -e pkgname dpkg -r pkgname (会留下套件设定档) dpkg -P pkgname (完全移除)

两者做为目前最主流的两种发行版,其他方面的区别也比较多,如果包名称、防火墙等,这里算是个基础部分,回头再整理高级用法上的细微区别吧 。