博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux学习-系统基本设定
阅读量:4980 次
发布时间:2019-06-12

本文共 7472 字,大约阅读时间需要 24 分钟。

网络设定 (手动设定与 DHCP 自动取得)

网络其实是又可爱又麻烦的玩意儿,如果你是网络管理员,那么你必须要了解局域网络内的 IP, gateway, netmask 等参数,如果还想要连上 Internet ,那么就得要理解 DNS 代表的意义为何。如果 你的单位想要拥有自己的域名, 那么架设 DNS 服务器则是不可或缺的。

但鸟哥这里的网络介绍仅止于当你是一部单机的 Linux 客户端,而非服务器!所以你的各项网络参 数只要找到网络管理员, 或者是找到你的 ISP (Internet Service Provider) ,向他询问网络参数的取得 方式以及实际的网络参数即可。 通常网络参数的取得方式在常见的有底下这几种:

  • 手动设定固定 IP

常见于学术网络的服务器设定、公司行号内的特定座位等。这种方式你必须要取得底下的几个参 数才能够让你的 Linux 上网的:

  • IP
  • 子网掩码(netmask)
  • 通讯闸(gateway)
  • DNS 主机的 IP (通常会有两个,若记不住的话,硬背 168.95.1.1 即可)

  • 网络参数可自动取得 (dhcp 协议自动取得)

常见于 IP 分享器后端的主机,或者是利用电视线路的缆在线网 (cable modem),或者是学校宿舍的网络环境等。 这种网络参数取得方式就被称为 dhcp ,你啥事都不需要知道,只要知道设定上 网方式为 dhcp 即可。

  • 光纤到府与 ADSL 宽带拨接

不论你的 IP 是固定的还是每次拨接都不相同 (被称为浮动式 IP),只要是透过光纤到府或宽带调 制解调器『拨接上网』的,就是使用这种方式。 拨接上网虽然还是使用网络卡连接到调制解调器 上,不过,系统最终会产生一个替代调制解调器的网络接口 (ppp0) , 那个 ppp0 也是一个实体 网络接口啦!

了解了网络参数的取得方法后,你还得要知道一下我们透过啥硬件连上 Internet 的呢?其实就是网 络卡嘛。目前的主流网卡为使用以太网络协议所开发出来的以太网卡 (Ethernet),因此我们 Linux 就 称呼这种网络接口为 ethN (N 为数字)。 举例来说,这部测试机上面有一张以太网卡,因此这部主机的网络接口就是 eth0 啰 (第一张为 0 号开始)。

不过新的 CentOS 7 开始对于网卡的编号则有另一套规则,网卡的界面代号现在与网卡的来源有关~基本上的网卡名称会是这样分类的:

  • eno1 :代表由主板 BIOS 内建的网卡
  • ens1 :代表由主板 BIOS 内建的 PCI-E 界面的网卡
  • enp2s0 :代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有 s0, s1... 的编号~
  • eth0 :如果上述的名称都不适用,就回到原本的预设网卡编号

其实不管什么网卡名称啦!想要知道你有多少网卡,直接下达『 ifconfig -a 』全部列出来即可!此 外,CentOS 7 也希望我们不要手动修改配置文件, 直接使用所谓的 nmcli 这个指令来设定网络参 数即可


  • 手动设定 IP 网络参数

假设你已经向你的 ISP 取得你的网络参数,基本上的网络参数需要这些数据的:

  • method: manual (手动设定)
  • IP: 172.16.1.1
  • netmask: 255.255.0.0
  • gateway: 172.16.200.254
  • DNS: 172.16.200.254
  • hostname: study.centos.vbird

上面的数据除了 hostname 是可以暂时不理会的之外,如果你要上网,就得要有上面的这些数据才行 啊!然后透过 nmcli 来处理! 你得要先知道的是,nmcli 是透过一个名为『联机代号』的名称来设 定是否要上网,而每个『联机代号』会有个『网卡代号』, 这两个东西通常设定成相同就是了。那 就来先查查看目前系统上默认有什么联机代号吧!

[root@study ~]# nmcli connection show [网卡代号][root@study ~]# nmcli connection showNAME UUID TYPE DEVICEeth0 505a7445-2aac-45c8-92df-dc10317cec22 802-3-ethernet eth0# NAME 就是联机代号,通常与后面的网卡DEVICE会一样# UUID 这个是特殊的装置识别,保留就好# TYPE 就是网卡的类型,通常是以太网卡# DEVICE 当然就是网卡名称啰!# 从上面我们会知道有个 eth0 的联机代号,那么来查察这个联机代号的设定为何?[root@study ~]# nmcli connection show eth0connection.id:                          eth0connection.uuid:                        505a7445-2aac-45c8-92df-dc10317cec22connection.interface-name:              eth0connection.type:                        802-3-ethernetconnection.autoconnect:                 yes.....(中間省略).....ipv4.method:                            manualipv4.dns:ipv4.dns-search:ipv4.addresses:                         192.168.1.100/24ipv4.gateway:                           --.....(中間省略).....IP4.ADDRESS[1]:                         192.168.1.100/24IP4.GATEWAY:IP6.ADDRESS[1]:                         fe80::5054:ff:fedf:e174/64IP6.GATEWAY:

如上表的输出,最底下的大写的 IP4, IP6 指的是目前的实际使用的网络参数,最上面的 connection 开头的部份则指的是联机的状态! 比较重要的参数鸟哥将它列出来如下:

  • connection.autoconnect [yes|no] :是否于开机时启动这个联机,预设通常是 yes 才对!
  • ipv4.method [auto|manual] :自动还是手动设定网络参数的意思
  • ipv4.dns [dns_server_ip] :就是填写 DNS 的 IP 地址~
  • ipv4.addresses [IP/Netmask] :就是 IP 与 netmask 的集合,中间用斜线 / 来隔开~
  • ipv4.gateway [gw_ip] :就是 gateway 的 IP 地址!

所以,根据上面的设定项目,我们来将网络参数设定好吧!

[root@study ~]# nmcli connection modify eth0 \>  connection.autoconnect yes \>  ipv4.method manual \>  ipv4.addresses 172.16.1.1/16 \>  ipv4.gateway 172.16.200.254 \>  ipv4.dns 172.16.200.254# 上面只是『修改了配置文件』而已,要实际生效还得要启动 (up) 这个 eth0 联机界面才行喔![root@study ~]# nmcli connection up eth0[root@study ~]# nmcli connection show eth0.....(前面省略).....IP4.ADDRESS[1]:                         172.16.1.1/16IP4.GATEWAY:                            172.16.200.254IP4.DNS[1]:                             172.16.200.254IP6.ADDRESS[1]:                         fe80::5054:ff:fedf:e174/64IP6.GATEWAY:

最终执行『 nmcli connection show eth0 』然后看最下方,是否为正确的设定值呢?如果是的话,那 就万事 OK 啦!


  • 自动取得 IP 参数

如果你的网络是由自动取得的 DHCP 协议所分配的,那就太棒了!上述的所有功能你通通不需要 背~只需要知道 ipv4.method 那个项目填成 auto 即可!

[root@study ~]# nmcli connection modify eth0 \> connection.autoconnect yes \> ipv4.method auto[root@study ~]# nmcli connection up eth0[root@study ~]# nmcli connection show eth0IP4.ADDRESS[1]:                         172.16.2.76/16IP4.ADDRESS[2]:                         172.16.1.1/16IP4.GATEWAY:                            172.16.200.254IP4.DNS[1]:                             172.16.200.254

  • 修改主机名

主机名的修改就得要透过 hostnamectl 这个指令来处理了!

[root@study ~]# hostnamectl [set-hostname 你的主机名]# 1. 显示目前的主机名与相关信息[root@study ~]# hostnamectl   Static hostname: study.centos.vbird                # 这就是主机名         Icon name: computer           Chassis: n/a        Machine ID: 309eb890d09f440681f596543d95ec7a           Boot ID: b2de392ff1f74e568829c716a7166ecd    Virtualization: kvm  Operating System: CentOS Linux 7 (Core)             # 操作系统名称!       CPE OS Name: cpe:/o:centos:centos:7            Kernel: Linux 3.10.0-229.el7.x86_64      # 核心版本也提供!      Architecture: x86_64                            # 硬件等级也提供!# 2. 尝试修改主机名为 www.centos.vbird 之后再改回来~[root@study ~]# hostnamectl set-hostname www.centos.vbird [root@study ~]# cat /etc/hostnamewww.centos.vbird[root@study ~]# hostnamectl set-hostname study.centos.vbird

日期与时间设定

  • 时区的显示与设定

怎么知道目前的时区设定是正确的呢? 就透过 timedatectl 这个指令吧!

[root@study ~]# timedatectl [commamd]选项与参数:list-timezones :列出系统上所有支持的时区名称set-timezone :设定时区位置set-time :设定时间set-ntp :设定网络校时系统# 1. 显示目前的时区与时间等信息[root@study ~]# timedatectl      Local time: Tue 2015-09-01 19:50:09 CST  # 本地时间  Universal time: Tue 2015-09-01 11:50:09 UTC  # UTC 时间,可称为格林威治标准时间        RTC time: Tue 2015-09-01 11:50:12        Timezone: Asia/Taipei (CST, +0800)     # 就是时区啰!!     NTP enabled: noNTP synchronized: no RTC in local TZ: no      DST active: n/a# 2. 显示出是否有 New_York 时区?若有,则请将目前的时区更新一下[root@study ~]# timedatectl list-timezones | grep -i new America/New_YorkAmerica/North_Dakota/New_Salem[root@study ~]# timedatectl set-timezone "America/New_York"[root@study ~]# timedatectl      Local time: Tue 2015-09-01 07:53:24 EDT  Universal time: Tue 2015-09-01 11:53:24 UTC        RTC time: Tue 2015-09-01 11:53:28        Timezone: America/New_York (EDT, -0400)[root@study ~]# timedatectl set-timezone "Asia/Taipei"# 最后还是要记得改回来台湾时区喔!不要忘记了!

  • 时间的调整

由于测试机使用的是虚拟机,预设虚拟机使用的是 UTC 时间而不是本地时间,所以在预设的 情况下,测试机每次开机都会快上 8 小时... 所以就需要来调整一下时间啰!时间的格式可以是

『 yyyy-mm-dd HH:MM 』的格式!比较方便记忆喔!

# 1. 将时间调整到正确的时间点上![root@study ~]# timedatectl set-time "2015-09-01 12:02"

过去我们使用 date 去修改日期后,还得要使用 hwclock 去订正 BIOS 记录的时间~现在透过 timedatectl 一口气帮我们全部搞定,方便又轻松!


  • 用 ntpdate 手动网络校时

那如何手动网络校时呢?很简单,透过 ntpdate 这个指令即可!

[root@study ~]# ntpdate tock.stdtime.gov.tw1 Sep 13:15:16 ntpdate[21171]: step time server 211.22.103.157 offset -0.794360 sec[root@study ~]# hwclock -w

语系设定

LANG 与 locale 的指令能够查询目前的语系数据与变量,也知道 /etc/locale.conf 其实就是语系的配置文件。 此外,你还得要知道的是,系统的语系与你目前软件的 语系数据可能是可以不一样的!如果想要知道目前『系统语系』的话, 除了呼叫配置文件之外,也能够使用 localectl 来查阅:

[root@study ~]# localectl   System Locale: LANG=zh_TW.utf8             # 底下这些数据就是『系统语系』                  LC_NUMERIC=zh_TW.UTF-8                  LC_TIME=zh_TW.UTF-8                  LC_MONETARY=zh_TW.UTF-8                  LC_PAPER=zh_TW.UTF-8                  LC_MEASUREMENT=zh_TW.UTF-8       VC Keymap: cn      X11 Layout: cn     X11 Options: grp:ctrl_shift_toggle[root@study ~]# localeLANG=zh_TW.utf8            # 底下的则是『当前这个软件的语系』数据!LC_CTYPE="en_US.utf8"LC_NUMERIC="en_US.utf8".....(中間省略).....LC_ALL=en_US.utf8

从上面的两个指令结果你会发现到,系统的语系其实是中文的万国码 (zh_TW.UTF8) 这个语系。不 过鸟哥为了目前的教学文件制作, 需要取消中文的显示,而以较为单纯的英文语系来处理~因此使 用 locale 指令时,就可以发现『鸟哥的 bash 使用的语系环境为 en_US.utf8』这一个! 我们知道直 接输入的 locale 查询到的语系,就是目前这个 bash 默认显示的语言,那你应该会觉得怪,那系统 语系 (localectl) 显示的语系用在哪?

其实一登入系统时,取得的语系确实是 zh_TW.utf8 这一个的,只是透过『 export LC_ALL=en_US.utf8 』来切换为英文语系而已。 此外,如果你有启用图形界面登入的话,那么默认 的显示语系也是透过这个 localectl 所输出的系统语系喔!

转载于:https://www.cnblogs.com/uetucci/p/7777990.html

你可能感兴趣的文章
Javascript 有用参考函数
查看>>
【转】Simulink模型架构指导
查看>>
[转载]java开发中的23种设计模式
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
MongoDB的简单使用
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
Java回顾之多线程
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
Fireworks基本使用
查看>>
Java基础常见英语词汇
查看>>