04_重要系统配置文件

news/2024/12/2 22:32:29/文章来源:https://www.cnblogs.com/yihuyuan/p/18582902

Centos 7 重要系统配置文件

一、网卡配置文件

  • 配置文件位置 /etc/sysconfig/network-scripts/网卡名
  • 详细参数说明
HWADDR= 网卡MAC地址
TYPE=Ethernt 网卡类型:以太网
PROXY_METHOD=none 代理方式:关闭状态
BROWSER_ONLY=no 只是浏览器(yes|no)
BOOTPROTO=static 获取IP方式(static|dhcp|none)
DEFROUTE=yes 设置为默认路由(yes|no)
IPV4_FAILURE_FATAL=no 是否开启IPV4致命错误检测
IPV6INIT=yes IPV6是否自动初始化
IPV6_DEFROUTE=yes PV6是否可以为默认路由
IPV6_FAILURE_FATAL=no 是不开启IPV6致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy IPV6地址生成模型
NAME=eth0 网卡物理设备名称
UUID= UUID识别码
ONBOOT=no 开机自启(yes
IPADDR= IP地址
NETNASK=255.255.255.0 子网掩码(PREFIX=24)
GATEWAY= 网关
DNS1= 首选DNS
DNS2- 备选DNS
  • 简单网卡配置
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=10.10.10.31
    NETMASK=255.255.255.0
    
  • 重启网卡方法
systemctl restart network                    针对所有网卡重启
systemctl status networ 					 查看网上状态ifdown eth0									 关闭eth0网卡    
ifup etho									 开启eth0网卡

二、主机名配置文件,hosts与hostname

要理解 /etc/hosts 与 hostname 之间的关系,首先需要明白域名和主机名的区别。

  • 什么域名

无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INTERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名(例如:linuxsir.org)。

  • 2.什么是主机名

主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以根据每台机器的功用来为其命名。

  • 3.域名(Domain)和主机名(hostname)的区别

主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改 /etc/hosts 文件,加入自己的主机名解析。

例子:比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计主机名:

27.0.0.1 localhost.localdomain localhost
192.168.1.2 ftp.localdomain ftp
192.168.1.3 mail.localdomain mail
192.168.1.4 smb.localdomin smb
  • 4.域名解析文件/etc/hosts说明

/etc/hosts 的内容一般有如下类似内容:

127.0.0.1     lochost.localdomain  localhost
192.168.1.100    debian.com        debian
192.168.1.120    ftpserver         ftp120

注:127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。

一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

hosts文件的格式如下:

第一部份: 网络IP地址;
第二部份: 主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain;
第三部份: 主机名(主机名别名) ,其实就是主机名;

当然每行也可以是两部份,就是主机IP地址和域名。比如 192.168.1.195 debian

etc/hosts文件的作用: 将主机名(配置三部分)或域名(配置两部分)解析到IP。

/etc/hostname 存放主机名,/etc/hosts 存放域名与ip的对应关系,其实主机名和 /etc/hosts 没什么关系,只不过如果 /etc/hosts 中的IP和主机名不对应的话,就不能用主机名来访问这台主机了,所以建议将主机名加进/etc/hosts中,避免访问时用的域名和Shell提示符中的主机名不一致造成混淆。所以手工设置主机名,应该改的是另外的一个配置文件(如/etc/sysconfig/network),修改了之后“最好”把/etc/hosts也对应修改一下。

三、磁盘挂载文件

  • 文件位置 /etc/fstab
  • 文件内容

    Linux系统下的/etc/fstab 文件 包含了需要开机后自动挂载的文件系统记录,Linux系统启动时将读取这个文件来自动挂载文件系统。我们可以通过修改这个文件将文件系统设置为开机自动挂载。

    UUID=64fc4e32-9cc9-4af9-8846-dc13865f770e /  ext4 defaults 1 1
    UUID=14c3958d-b0a9-41bd-a046-06e148013349 /boot ext4 defaults 1 2
    UUID=15399f4c-8788-4348-b066-34179fe887cb swap  swap defaults 0 0
    tmpfs  /dev/shm tmpfs defaults 0 0
    devpts /dev/pts  devpts gid=5,mode=620 0 0
    sysfs  /sys  sysfs defaults 0 0
    proc  /proc  proc defaults 0 0
    /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0  #自动挂载光驱到/mnt/cdrom
    
  • 文件各列含意
    • 第一列:Device,磁盘设备文件或该设备的Label或UUID。可以使用dumpe2label命令查看设备标签、UUID。或者使用简单命令blkid查看UUID。

      注意 :使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号,使用uuid挂载的话就不用担心会发生错乱的问题了

    • 第二列:第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下

    • 第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、iso9660

    • 第四列:parameters:文件系统的参数,一般设置为默认 :defaults

Async/sync 设置是否同步方式运行,默认为async
auto/noauto 执行mount -a 命令时,是否主动挂载,默认为auto
rw/ro 是否以只读/读写方式挂载
exec/noexec 限制是否能够进行“执行”操作
user/nouser 是否允许用户使用mount命令挂载
suid/nosuid 是否允许suid存在
usquota 启动文件系统支持磁盘配额
grpquota 启动文件系统支持群组磁盘配额
default 默认参数rw,suid,dev,exec,auto,nouser,async

​ -第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0 或者1。0 代表不做dump备份,1 代表要每天进行dump备份,2 代表不定期进行dump操作

​ 第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

		0 不要检验,1 最早检验(一般根目录会选择最早检验),2 1级别检验完成后进行检验

四、开机自动执行命令文件rc.local

  • 文件位置/etc/rc.local
  • 文件属性

    在Centos7下,rc.local文件,开机默认是不执行的。它是个软链接

    [root@data-1-1 ~]# ll /etc/rc.local
    lrwxrwxrwx. 1 root root 13 Apr  8 17:11 /etc/rc.local -> rc.d/rc.local
    

    实际文件不具备执行权限,添加执行权限.

    [root@data-1-1 ~]# ll /etc/rc.d/rc.local
    -rw-r--r--. 1 root root 524 Jun 20 09:12 /etc/rc.d/rc.local
    [root@data-1-1 ~]# chmod +x /etc/rc.d/rc.local
    
  • 开机自启设置
    systemctl start rc-local.service
    systemctl enable rc-local.service
    
  • 文件示例
    #!/bin/sh
    #
    #This script will be executed *after* all the other init scripts.
    #You can put your own initialization stuff in here if you don't
    #want to do the full Sys V style init stuff.
    touch /var/lock/subsys/local
    #每次系统启动时都会touch这个文件,这个文件的修改时间就是系统的启动时间
    /etc/rc.d/init.d/httpd start    #apache服务就会在开机时自动启动
    

五、运行级别

  • centos7的运行级别都定义在/lib/systemd/sysem下:

    ls -ltr /lib/systemd/system/runlevel*.target
    lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel2.target -> multi-user.target
    lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel1.target -> rescue.target
    lrwxrwxrwx. 1 root root 15 Oct 25 23:46 /lib/systemd/system/runlevel0.target -> poweroff.target
    lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel3.target -> multi-user.target
    lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel4.target -> multi-user.target
    lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel6.target -> reboot.target
    lrwxrwxrwx. 1 root root 16 Oct 25 23:46 /lib/systemd/system/runlevel5.target -> graphical.target
  • 设置运行级别
    systemctl get-default							获得当前的运行级别
    systemctl set-default multi-user.target			设置默认的运行级别为mulit-user
    systemctl isolate multi-user.target				在不重启的情况下,切换到运行级别mulit-user下
    systemctl isolate graphical.target				在不重启的情况下,切换到图形界面下

六、系统变量配置文件

  • 环境变量的分类
    • 生效范围分类

    • 系统环境变量:公共的,对全部的用户生效

    • 用户环境变量:用户私有的,只对该用户生效

    • 生存周期分类

    • 永久环境变量:在变量脚本文件中配置,

    • 临时环境变量:使用时在shell中临时定义,退出shell后失效

  • 查看环境变量
    • env查看当前用户全部的环境变量
    • ·echo $变量名查看具体变量
  • 常用环境变量
    • PATH 可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

      • PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。

      • PATH缺省包含了Linux系统命令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。

      • 在用户的.bash_profile文件中,会对PATH进行扩充,如下:

        export PATH=$PATH:$HOME/bin
        
      • 如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。

    • LANG LANG环境变量存放的是Linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对PATH的设置。CentOS7.x 字符集配置文件在/etc/locale.conf文件中

      cat /etc/locale.conf 
      LANG="en_US.UTF-8"
      
    • HOSTNAME 服务器主机名

    • SHELL 用户当前 使用的Shell解释器

    • HISTSIZE 保存历史命令的数目

    • USER 当前登录用户名

    • HOME 当前登录用户家目录

  • 设置环境变量
    变量名='值'
    export 变量名export 变量名='值'如果环境变量的值没有空格等特殊符号,可以不用单引号包含。
    export ORACLE_HOME=/oracle/home
    export ORACLE_BASE=/oracle/base
    export ORACLE_SID=snorcl11g
    export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
    
  • 系统环境变量文件的设置
    • /etc/profile文件中设置。用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。

    • /eetc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的 shell 脚本即可。

      ls /etc/profile.d/
      256term.csh  colorgrep.csh  colorls.csh  csh.local  lang.sh   less.sh   which2.csh
      256term.sh   colorgrep.sh   colorls.sh   lang.csh   less.csh  sh.local  which2.shcat which2.sh
      # Initialization script for bash and sh# export AFS if you are in AFS environment
      alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    • /etc/bashrc文件中设置。该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。

  • 用户环境变量文件设置

    在用户的主目录,有几个特别的文件,用ls .bash_*查看。

    • .bash_profile 用户登录时执行,可以用该文件来配置专属环境变量。(推荐首选)
    • .bashrc 当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置
    • .bash_logout 当每次退出系统(退出bash shell)时执行该文件。
    • .bash_histort 保存了当前用户使用过的历史命令
  • 环境变量脚本文件执行顺序
    /etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
    同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。
    
  • 环境变量的生效
    • 在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。

      在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:

      source /etc/profile
      
  • 虽然设置环境变量的方法有多种,但是建议系统环境变量建议在/etc/profile.d目录中配置,用户环境变量在用户的.bash_profile中配置,不建议在其它脚本文件中配置环境变,会增加运维的麻烦,容易出错。

七、登录前、后提示信息配置文件

  • 登录前信息配置文件/etc/issue,当一个网络用户或通过串口登录系统上时,/etc/issue的文件内容显示在login提示符之前
  • 登录后信息配置文件/etc/motd,用户登录成功后,显示在终端界面里。

八、系统日志文件

  • 内核及公共消息日志 /var/log/messages

  • 计划任务日志 /var/log/cron

  • 系统引导日志 /var/log/dmesg

  • 邮件系统日志 /var/log/maillog

  • 最近用户登录事件 /var/log/lastlog

  • 用户登录、注消及系统开、关机事件 /var/log/wtmp

  • 当前登录的每个用户的详细信息 /var/lrun/utmp

  • 与用户验证相关的安全性事件 /var/log/secure

  • 日志消息级别
    • 0 EMERG (紧急)会导致主机系统不可用的情况
    • 1 ALERT (警告) 必须马上采取措施解决问题
    • 2 CRIT (严重) 比较严重的发问
    • 3 ERR (错误) 运行出现错误
    • 4 WARNING (提醒) 可能会影响系统功能的事件
    • 5 NOTICE (注意) 不会影响系统但值得注意
    • 6 INFO (信息) 一般信息
    • 7 DEBUG (调试) 程序或系统调试信息

    九、系统硬件信息文件

  • cpu信息文件 /proc/cpuinfo

  • 内存信息文件 /proc/meminfo

  • 挂载信息 /proc/mounts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845656.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP协议基础

总结了HTTP协议的一些基础知识。HTTP协议基础 一.定义 HTTP协议(HyperText Transfer Protocol),超文本传输协议,它是一种客户端(如网页浏览器)和服务器端(如网站服务器)之间进行通信、请求与响应数据的规则集合。通过 HTTP 协议,客户端可以向服务器发起获取网页、图片…

Power Automate 获取通讯组的成员

前言最近,想要看看某个Group里都有哪些人正文在Power Automate里可以用Office 365 Groups这个连接器里的操作,先根据邮件地址获取到Group,然后用Group Id获取Group即可获取到Group members的截图获取结果的JSON[{"@odata.type": "#microsoft.graph.user"…

实验5.继承和多态

1.实验任务1: publisher.hpp:#pragma once#include <iostream> #include <string>using std::cout; using std::endl; using std::string;// 发行/出版物类:Publisher (抽象类) class Publisher { public:Publisher(const string &s = ""); …

PTQ 精度 Debug 工具

01 前言 使用 PTQ 后量化的模型量化方案,可以帮助用户非常简单便捷地完成从浮点模型到地平线混合异构模型的转换,模型转换工具会基于用户提供的校准样本对模型进行校准量化并保障模型高效地部署在地平线计算平台上。 但是在模型转换的过程中,不可避免地会因为浮点高精度到定…

字符串的遍历、统计字符案例

1.两种字符串遍历方法1.toCharArray 将字符串转换成一个新的字符类型的数组 调用方式:对象.如图,其实就相当于把字符串全部拆开,变成一个个的字符,再由字符数组来接收2.charAt 根据输入的索引,从字符串里找出对应的字符 调用方法:对象. 如图如果我们要遍历字符串,那不就…

synchronized同步锁机制

目录synchronized 的使用Java的对象头和 Monitor对象头实例数据对齐填充synchronized 原理synchronized修饰代码块示例对象锁的四种状态无锁偏向锁轻量级锁重量级锁synchronized 的使用如果修饰的是具体对象:锁的是对象 如果修饰的是成员方法:那锁的就是 this 如果修饰的是静…

员工出入更衣室穿戴规范识别检测系统

员工出入更衣室穿戴规范识别检测系统能够通过安装在更衣室入口的摄像机,员工出入更衣室穿戴规范识别检测系统实时检测员工的穿戴情况。系统的工作流程如下:当员工进入更衣室时,摄像机捕捉到图像,算法迅速识别图像中的人员,并检测他们是否穿戴了规定的防护服、护目镜、口罩…

Lock接口

目录Lock接口Lock接口概述API方法锁获取与中断Synchronized和Lock的区别 Lock接口大佬地址: AQS(AbstractQueuedSynchronizer)源码深度解析(2)—Lock接口以及自定义锁的实现Lock接口概述 Lock接口同样自于JDK1.5,它被描述成JUC中的锁的超级接口,所有的JUC中的锁都会实现Lock…

作文的深度解析

目录题目一:There is a growing awareness of the importance of digital literacy and skills in todays world题目二:Nowadays more and more college students have come to realize social practice and academic learning are equally important. 题目一:There is a gr…

终极Redis

Redis是世界上最流行的数据存储之一,功能丰富。这里有8个简单的步骤可以帮助你理解Redis的基本原理。1、什么是Redis?Redis(远程字典服务器)是一个多模式数据库,提供亚毫秒级的延迟。Redis背后的核心思想是缓存也可以作为一个完整的数据库。2、Redis采用Airbnb、Uber、Sla…

AI电动车头盔识别系统解决方案

AI电动车头盔识别系统解决方案通过在关键路段及社区入口等位置安装高清摄像头,AI电动车头盔识别系统解决方案结合深度学习算法对电动车骑行者进行实时监测,确保骑行者的安全。识别到未佩戴头盔的骑行者时,AI电动车头盔识别系统解决方案将立即联动附近的智能广播系统播放预先…

H5-17 选择器

CSS语法 规则由两个主要的部分构成:选择器,以及一条或多条声明(样式) 1、全局选择器可以与任何元素匹配,优先级最低,一般做样式初始化*{margin:0;padding:0;} 2、元素选择器HTML 文档中的元素,p、b、div、a、img、body等标签选择器,选择的是页面上所有这种类型的标签…