百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

Linux 安装后有哪些必要的初始化配置?

citgpt 2024-10-02 13:22 7 浏览 0 评论

一般情况下,我们会选择最小化安装 Linux 操作系统,并根据需要做一些初始化配置。这里对一些必要的初始化配置进行了完整梳理,给喜欢和想了解 Linux的同学一个简要的总结和参考。

这里的初始化配置可以满足大多数场景的需要,特殊场景如特定性能优化、安全加固方向的不在其中,以后会单独进行说明。

Linux 安装后有哪些必要的初始化配置?

网络初始化

1 修改主机名

# hostnamectl set-hostname node01
[root@localhost ~]# hostnamectl set-hostname node01
[root@localhost ~]# hostname
node01
[root@localhost ~]# cat /etc/hostname 
node01

2 修改IP地址

1)首先,在 CentOS7 版本建议禁用 NetworkManager(注意在8、9版本会有变化)

# systemctl stop NetworkManager
# systemctl disable NetworkManager

2)之后可以去修改IP地址,临时修改IP地址的方式有很多种,不建议长期使用

这里说下永久修改的方式,修改/etc/sysconfig/network-scripts 目录下的网卡配置文件: (系统最小化安装时,默认不会安装vim软件,在安装软件包前建议使用vi代替)

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=enp0s3
IPADDR=192.168.1.181
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DEVICE=enp0s3
ONBOOT=yes

3)重启服务:

# systemctl restart network

4)查看IP是否生效:

# ip addr
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 08:00:27:59:20:1c brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.181/24 brd 192.168.1.255 scope global noprefixroute enp0s3
 valid_lft forever preferred_lft forever

5)DNS 不建议写在网卡配置文件中,可以通过修改 resolv.conf 生效:

# vi /etc/resolv.conf
nameserver 8.8.8.8

3 关闭 Linux 防火墙 firewalld

# systemctl stop firewalld
# systemctl disable firewalld

4 禁用selinux

# setenforce 0

修改配置文件,设置永久生效

# vim /etc/selinux/config
SELINUX=disabled

YUM配置及软件包安装

1 YUM 安装源配置

1)备份旧的默认repo

# mkdir /etc/yum.repos.d/repo_bak
# cd /etc/yum.repos.d/ ; mv *.repo repo_bak/

2)配置安装盘、iso为本地YUM(建议),多数软件均可以在安装光盘补充安装

$ mkdir /media/cdrom
# mount -o loop /dev/cdrom /media/cdrom

另,可以将ISO文件直接mount挂载,例如:

# mount -o loop CentOS-7-x86_64-DVD-2009.iso /media/cdrom
# cat > /etc/yum.repos.d/cdrom.repo << EOF
[local-cdrom]
name=cdrom
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
EOF
# yum clean all
# yum makecache

先安装一个wget包,便于后续的初始化工作

# yum install -y wget

3)配置外部源,建议使用国内的外部源,外部源比较多可以根据需要选择,这里使用aliyun、epel:

# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum makecache

2 基础软件安装

主要日常使用及性能分析所需的工具

# yum install gcc make autoconf vim sysstat net-tools iftop iotop unzip ntpdate -y

其它设置

1 关闭SSH的DNS解析,规避SSH连接慢的问题

# vim /etc/ssh/sshd_config
UseDNS no

重启sshd服务后生效:

# systemctl restart sshd

2 关闭无用的服务

查看你当前开机默认启动的服务,关闭如postfix等服务:

# systemctl list-unit-files |grep enabled
# for services in bluetooth.service firewalld.service NetworkManager.service NetworkManager-dispatcher.service postfix.service;do
systemctl disable $services
done

3 关闭邮件告警

关闭 Linux 邮件告警提示功能,减少/var日志空间占用

# echo 'export MAILCHECK=-1' >> /etc/profile
# source /etc/profile

4 检查与设置时区

1)检查时区设置是否正确:

# ls -l /etc/localtime

2)如时区不对需要手动修改时区:

# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# timedatectl

5 设置时间

1)建议可以初始和时钟源同步一次,这里选择使用NTP上海服务器同步:

# ntpdate ntp.api.bz

注:可以根据需要来配置NTP服务

2)在某些场景下,系统重启后会从硬件时钟读取时间,如硬件时钟不对会造成重启后操作系统的时钟异常;这里选择将当前时钟写入硬件时钟,避免此问题(建议)

# hwclock -w

6 history 优化

history 默认显示信息较少,这里优化显示操作时间、用户,方便查询

# echo "export HISTTIMEFORMAT=\"%F %T \`whoami\` \"" >> /etc/profile
# source /etc/profile
# history
 101 2022-12-05 13:56:23 root echo "export HISTTIMEFORMAT=\"%F %T \`whoami\` \"" >> /etc/profile
 102 2022-12-05 13:56:27 root cat /etc/profile
 103 2022-12-05 13:56:37 root source /etc/profile
 104 2022-12-05 13:56:40 root history

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: