02_1_初始化环境搭建

news/2024/12/2 22:28:28/文章来源:https://www.cnblogs.com/yihuyuan/p/18582895

Centos7 初始化环境搭建

一、主机名配置

在CentOS7中,有三种定义的主机名:

  • 静态的(Static hostname)

​ “静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。

  • 瞬态的(Tansient hostname)

​ “瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。

  • 灵活的(Pretty hostname)

​ “灵活”主机名也有人叫做“别名”主机名。
​ “灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如xh01@f5)。
​ “静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。

查看主机名
--transient 修改临时主机名
--static 修改瞬态主机名
--pretty 修改灵活主机名
status 显示当前主机名设置
set-hostname NAME 设置系统主机名
set-icon-name NAME 为主机设置icon名
set-chassis NAME 设置主机平台类型名
//查看一下当前主机名的情况
hostnamectl 
//或者,查看全部三种主机名
hostnamectl status 
//只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项
[root@xh00 ~]# hostnamectl --static
[root@xh00 ~]# hostnamectl --transient
[root@xh00 ~]# hostnamectl --pretty  
//或者,查看到的是瞬态的(Tansient hostname)
hostname 
//或者查看主机名配置文件,查看到的是静态的(Static hostname)
cat /etc/hostname
修改主机名
  • 临时生效
hostname XXX               //只能临时修改的主机名,当重启机器后,主机名称又变回来了。
  • 永久生效
hostnamectl set-hostname xxx  //永久性的修改主机名称,重启后能保持修改后的

一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。

二、时区配置

timedatectl
# timedatectl # 查看系统时间方面的各种状态Local time: Wed 2020-04-29 10:52:37 CST   当地时间Universal time: Wed 2020-04-29 02:52:37 UTC	伦敦时间RTC time: Wed 2020-04-29 02:52:37		硬件时间Time zone: Asia/Shanghai (CST, +0800)	时区:亚洲上海(东8区)UTC时间加上8等于当前时间NTP enabled: no
NTP synchronized: noRTC in local TZ: noDST active: n/atimedatectl set-time “2020-04-29 11:30:00”	设定系统时间
timedatectl list-timezones	显示系统的所有时区
timedatectl set-timezone “Asia/Shanghai”	设定系统时区
timedatectl set-local-rtc 0/1	设定系统时间计算方式,0表示使用utc时间计算方式1 设置硬件时钟为本地时间
看当前时间/日期/时区:timedatectl或者timedatectl status
查看所有可用时区:timedatectl list-timezones
设置时区:timedatectl set-timezone “Asia/Shanghai”   
设置时间:timedatectl set-time HH:MM:SS
设置日期:timedatectl set-time YYYY-MM-DD
设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
设置硬件时钟为本地时间:timedatectl set-local-rtc 1
设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
启动NTP时间同步(启用NTP服务或者Chrony服务):timedatectl set-ntp true
禁用NTP时间同步:timedatectl set-ntp false

三、关闭NetworkManager、防火墙、selinux

systemctl stop NetworkManager 关闭network管理系统
systemctl disable NetworkManage 开机不启动
systemctl stop firewalld 临时关闭防火墙
systemctl disable firewalld 永久防火墙开机自启动
systemctl status firewalld 查看防火墙状态
setenforce 0 临时关闭SELinux
getenforce 查看SELinux状态
编辑/etc/selinux/config文件,将SELINUX的值设置为disabled 永久关闭selinx
sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

四、网络配置

修改网卡配置文件 /etc/sysconfig/network-scripts 网卡名称
简单网卡配置
TYPE=Ethernet
BOOTPROTO=static IP地址静态获取
DEFROUTE=yes
DEVICE=eth0
ONBOOT=yes 开机自启
IPADDR= IP地址
NETMASK=255.255.255.0 子网
GATEWAY=
DNS1=
重启网卡
  • systemctl restart network 重启所有网卡

    systemctl status network 查看网卡状态

  • 单个网卡关闭、开启

    ifdown eth0 ifup eth0

/etc/resolv.conf DNS配置文件

五、优化YUM源

  • 安装 wget

    yum -y install wget yum-utils epel-release
  • 备份配置文件

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 下载新的配置文件

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  • EPEL源

    mv /etc/yum.repos.d/epel.repo etc/yum.repos.d/epel.repo.backup
    mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  • 清除并生成缓存

    yum clean all  && yum makecache

六、安装必要的软件

yum -y install gcc glibc gcc-c++ make cmake net-tools screen vim lrzsz tree dos2unix lsof tcpdump bash-completion ntp openssl openssl-devel

gcc glibc gcc-c++ make cmake 编译器,编译安装的时候会用到
net-tools Linux内核中配置网络功能的工具
screen 用于命令行终端切换
vim 编辑器
lrzsz 与windows上传下载
tree 树形目录
dos2unix 格式转换实用命令
lsof 列出当前系统打开的文件
tcpdump 抓包工具
bash-completion 自动补全增强
ntp 同步网络事件
psmisc 帮助管理/proc目录程序
openssl openssl-devel web安全通讯基石
nc 网络调试探测工具
mtr 路由分析工具
nmap 端口查看工具

七、sudo用户制授权

useradd why                      创建why用户
echo "123456" | passwd --stdin why         非交互模式设置why密码
\cp /etc/sudoers /etc//sudoers.ori         备份sudo配置文件
echo "why ALL=(ALL)NOPASSWD:ALL" >>/etc/sudoers    修改sudo配置文件
tail -a /etc/sudoers                        查看修改后的内容
visudo -c                                   检查语法错误

​ 在实际应用中,因为怕造成难以挽回的失误,所以尽量会避免root用户直接操作,为了能让普通用户执行特殊命令,就需要对普通用户sudo授权。sudo的配置文件是/etc/sudoers,一般是没有写权限的,添加写权限之后再修改文件的内容。最常见的授权方式如下:hh ALL=(ALL) ALL

​ hh 想要授权的用记 ALL 充许从任何终端使用sudo (ALL) 切换到哪一个用户执行命令

​ ALL 允许用户执行任何命令,如果是多个命,用逗号分开 NOPASSWD 不用输入密码

  • 示例一 hh ALL=/bin/chmod,/bin/chown

​ 用户hh就可以在任何机器上,切换到root用户下执行/bin/chmod和/bin/chown命令,可以用 sudo -l查看用户可执行的 sudo命令。

  • 示例二 hh ALL=(root)/bin/chmod,/bin/chown

​ 这条语句和示例一产生的效果是一样的,(user)如果不写,则默认是root

  • 示例三 hh ALL=/usr/sbin/,/sbin/,!/usr/sbin/fdisk

​ 这句话表示hh用户可以在任何机器上,切换到root用户,执行/usr/sbin和/sbin目录下的任何命令,单fdisk除外。

八、同步网络时间

  • 安装ntpdate

    yum install ntpdate -y 
    
  • date命令

    date									查看当前时间
    date -s '2021-10-29 21:57:00'			设置系统时间
    hwclock -w 								以系统时间为基准,修改硬件时间
    hwclock -s 								以硬件时间为基准,修改系统时间
    
  • ntpdate 命令

    ntpdate -u ntp1.aliyun.com  			网络时间同步命令
    
  • 加入crontab定时任务

    echo "*/20 * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
    

九、修改ulimit文件描述符的最大值

​ [Linux]系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?

  • 永久修改 编辑 /etc/security/limits.conf

    root soft nofile 65535
    root hard nofile 65535
    * soft nofile 65535
    * hard nofile 65535
    

    重新登录,不需要重启,ulimit -a可以看到文件打开数已经是65535了

    [root@VM-123-187-centos ~]# ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 3894
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65535  #文件打开数已经是65534了
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 3894
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
  • 临时修改

[root@VM-123-187-centos ~]# ulimit -n
1024
[root@VM-123-187-centos ~]# ulimit -n 65535
[root@VM-123-187-centos ~]# ulimit -n 
65535

十、配置SSH连接

​ 使用Xshell、SecureCRT等工具登录时,发现ssh连接超级慢,解决步骤如下

p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak		备份配置文件
1.su                                   				(以root用户登录)
2.vim /etc/ssh/sshd_config      					(编辑配置文件)
3.输入 /, 查找GSSAPIAuthentication  				  赋值为 no(默认为yes)
4.输入 /, 查找UseDNS,赋值为 no					(该项默认不启用的,要把前面的#删除掉)
5.最后输入!wq保存文件并退出
6.systemctl restart sshd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845655.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等标签选择器,选择的是页面上所有这种类型的标签…