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

一、主机名的配置

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

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

如果修改完成后不想重启主机,可以使用hostname 361way先临时生效。

ubuntu修改主机名的方法和centos下的类似,也是修改两个文件/etc/hostname 、/etc/hosts ,文件内容类似如下:

  1. yang@yangacer:~$ cat /etc/hostname
  2. yangacer
  3. yang@yangacer:~$ cat /etc/hosts
  4. 127.0.0.1 localhost
  5. 127.0.1.1 yangacer

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

二、网络配置

IP配置

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

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

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

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

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

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

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

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

DNS配置

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

  1. yang@yangacer:~$ cat /etc/resolv.conf
  2. nameserver 114.114.114.114
  3. nameserver 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>

apt-get命令:

  1. sudo aptcache search package 搜索包
  2. sudo aptcache show package 获取包的相关信息,如说明、大小、版本等
  3. sudo aptget install package 安装包
  4. sudo aptget install package reinstall 重新安装包
  5. sudo aptget f install 修复安装“-f = –fix-missing”
  6. sudo aptget remove package 删除包
  7. sudo aptget remove package purge 删除包,包括删除配置文件等
  8. sudo aptget update 更新源
  9. sudo aptget upgrade 更新已安装的包
  10. sudo aptget distupgrade 升级系统
  11. sudo aptget dselectupgrade 使用 dselect 升级
  12. sudo aptcache depends package 了解使用依赖
  13. sudo aptcache rdepends package 是查看该包被哪些包依赖
  14. sudo aptget builddep package 安装相关的编译环境
  15. suod aptget source package 下载该包的源代码
  16. sudo aptget clean && sudo aptget autoclean 清理无用的包
  17. sudo aptget 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 (完全移除)

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

Leave a Reply

Your email address will not be published. Required fields are marked *