Ubuntu 22.04.4操作系统初始化详细配置

上一章节,主要讲解了Ubuntu 22.04.4操作系统的安装,但是在实际生产环境中,需要对Ubuntu操作系统初始化,从而提高系统的性能和稳定性。

一、查看Ubuntu系统版本和内核版本

# 查看系统版本
test@ubuntu:~$ sudo lsb_release -a
Release:	22.04
Codename:	jammy      #版本代号# 查看内核版本
test@ubuntu:~$ uname -r 或 cat /proc/version
5.15.0-117-generic

二、设置 root 用户密码

# ubuntu系统默认使用普通用户登录
test@ubuntu:~$ sudo passwd root
[sudo] password for test:             #输入test用户密码
New password:                         #输入root密码
Retype new password:                  #确认root密码
passwd: password updated successfully       

三、切换 root 用户

test@ubuntu:~$ su - root      #切换root用户
Password:                     #输入root密码
root@ubuntu:~#

四、配置网络

4.1:设置静态IP地址

Ubuntu 旧版本使用 /etc/network/interfaces 配置网络。
Ubuntu 18.04和更高版本中默认采用Netplan工具进行网络配置。网卡配置文件位于/etc/netplan目录下,文件名以.yaml结尾。

# 修改网卡配置文件
root@ubuntu:~# apt -y install vim
root@ubuntu:~# vim /etc/netplan/00-installer-config.yaml
# 修改以下内容
network:                              #renderer: networkd             #添加注释,指定网络配置管理工具为networkdethernets:                      #指定以太网接口的配置ens33:                        #指定以太网接口的名称addresses:                  #指定IPv4地址- 192.168.10.200/24nameservers:                #指定DNS服务器的地址addresses:- 192.168.10.2#addresses: [223.5.5.5, 223.6.6.6]   #gateway4: 192.168.10.2      #gateway4 版本已经废弃了          routes:                     #配置默认网关地址,层级为routes -> to -> via- to: defaultvia: 192.168.10.2dhcp4: falseversion: 2                      #指定Netplan配置文件的版本号,通常为2# 检查配置文件
root@ubuntu:~# netplan try# 将当前netplan配置应用到系统
root@ubuntu:~# netplan apply # 查看网卡信息
root@ubuntu:~# ip addr# 临时禁用网卡
ip link set ens33 down# 临时启用网卡
ip link set ens33 up# 临时添加IP地址
ip addr add 192.168.10.200/24 dev ens33
# 临时删除IP地址
ip addr del 192.168.10.200/24 dev ens33# 临时添加网关地址
ip route add default via 192.168.10.2
# 临时删除网关地址
ip route del default via 192.168.10.2

4.2:设置DHCP动态获取IP地址

# 修改网卡配置文件
root@ubuntu:~# vim /etc/netplan/00-installer-config.yaml
network:#renderer: networkdethernets:ens33:dhcp4: trueversion: 2# 检查配置文件
root@ubuntu:~# netplan try# 将当前netplan配置应用到系统
root@ubuntu:~# netplan apply 

扩展知识:NetworkManager 和 Netplan 有何区别?

NetworkManager和Netplan是Ubuntu中两种不同的网络管理工具。

1)NetworkManager
NetworkManager是一个功能强大的网络管理器,用于管理和配置网络连接。它提供了一个图形化界面和命令行工具,可以方便地管理以太网、Wi-Fi、VPN等网络连接。
NetworkManager支持自动检测和配置网络连接,可以动态切换网络配置,适用于桌面环境和移动设备。

2)Netplan
Netplan是Ubuntu 17.10及更高版本引入的新一代网络配置工具。它使用简单的YAML配置文件来定义网络接口和连接配置。
Netplan的目标是提供一种统一的、简化的方式来配置网络连接,取代之前的网络管理工具(如ifup/down)。
Netplan配置文件位于/etc/netplan/目录下,可以定义静态IP、DHCP、网关、DNS等网络参数。
Netplan则更适合服务器环境,提供了一种简化的配置方式,使网络配置更易于管理和维护。
Netplan会在系统启动时自动加载并应用/etc/netplan目录下的配置文件。

五、更改仓库镜像源地址

  • 使用默认的Ubuntu仓库镜像源地址,安装软件包比较慢,因此需要更改镜像源地址。
# 修改文件
root@ubuntu:~# mv /etc/apt/sources.list /etc/apt/sources.list.bak
root@ubuntu:~# gedit /etc/apt/sources.list  或 vim  /etc/apt/sources.list 
# 填写阿里云仓库源地址信息
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse# 清除源仓库缓存
root@ubuntu:~# apt-get clean all 或 apt clean all# 更新安装源
root@ubuntu:~# apt-get update -y 或 apt update -y

六、设置 root 用户远程连接

  • 在Ubuntu系统中,默认root用户禁止远程登录系统。
# 修改ssh配置文件
root@ubuntu:~# vim /etc/ssh/sshd_config
# 找到PermitRootLogin prohibit-password    #默认是注释掉的,直接在下面添加一行
PermitRootLogin yes    #33行,开启root登录
UseDNS  no             #101行,去掉注释,不开启DNS反向解析然后按esc,输入:wq保存并退出# 重启sshd服务
root@ubuntu:~# systemctl restart sshd

七、安装常用软件包

  • 在Ubuntu系统中,apt和apt-get 都是用于管理软件包的命令行工具。都可以解决软件包的依赖关系,从远程仓库安装和更新软件包等。
  • 1)apt:作为 apt-get 的增强版,集成了apt-get 和 apt-cache 的功能,使用户可以通过单一的命令行工具完成安装、更新、删除、搜索和显示软件包信息等操作。
  • 2)apt-get:侧重于软件包的安装、更新和删除等基本操作,而查询和显示软件包信息等任务则通常通过 apt-cache 等其他工具来完成。
# 安装常用软件包
root@ubuntu:~# apt-get -y install net-tools iputils-ping vim procps telnet traceroute iproute2 lrzsz ntp ntpdate curl git bash-completion ipset 
root@ubuntu:~# apt-get -y install systemd-timesyncd tree unzip wget

八、防火墙设置

  • ufw是Ubuntu系统自带的类似iptables的防火墙管理软件,底层也是基于netfilter的。
  • ufw是Uncomplicated FireWall的简称,真正地简化了 iptables,已经成为 Ubuntu 和 Debian 等系统上的默认防火墙。
  • ufw防火墙默认关闭,开放所有端口。默认拒绝进入流量,放行出口流量。
    参数配置文件 /etc/ufw/ufw.conf
    防火墙日志文件 /var/log/ufw.log
    路由转发参数配置文件 /etc/ufw/sysctl.conf
    应用定义文件目录 /etc/ufw/applications.d
# 安装软件包
apt install ufw# 查看版本
ufw version# 获取ufw命令帮助
ufw --help# 查看防火墙运行状态
systemctl status ufw / ufw status # 查看防火墙状态详细信息
ufw status verbose# 启动防火墙
systemctl start ufw / ufw enable# 关闭防火墙
systemctl stop ufw / ufw disable# 设置防火墙开机自启动
systemctl enable ufw# 设置防火墙禁止开机启动
systemctl disable ufw# 重置防火墙规则
ufw reset# 添加ssh端口策略
ufw allow 22/tcp# 添加应用协议策略
ufw allow http# 添加放行一个端口策略
ufw allow proto tcp to any port 81# 删除指定规则策略
ufw delete proto allow 80/tcp# 添加默认入站策略为拒绝
ufw default allow incoming --dry-run   #--dry-run参数模拟执行,incoming代表入站的规则# 设置默认出站策略为拒绝
ufw default deny outgoing --dry-run    #--dry-run参数模拟执行,outgoing代表出站的规则# 允许固定IP访问本机的22端口
ufw allow from 192.168.10.0/24 to any port 22
ufw allow from 192.168.10.0/24 to any port 22,80,443 proto tcp   #添加多个端口,需要指定协议# 拒绝指定IP访问
ufw deny from 192.168.10.1默认情况下,ufw遵循的规则存储在 /etc/ufw 目录下。
# 重新加载ufw的配置文件,使最新的配置生效。
# 这个命令会读取 /etc/ufw/ 目录下的所有配置文件,并应用这些配置到防火墙中。
ufw reload # 查看所有规则对应的数字序号
ufw status numbered# 插入指定规则
ufw insert 1 deny from 192.168.10.1 to any port 22    #在第一条规则位置之前插入规则# 删除指定规则
ufw delete 1      #删除第一条规则

九、配置时间同步

方法一:配置时间同步ntp

root@ubuntu:~# apt install ntp ntpdate -y
root@ubuntu:~# systemctl start ntp
root@ubuntu:~# systemctl enable ntp# 同步时间
root@ubuntu:~# ntpdate ntp.aliyun.com# 查看时间同步状态
root@ubuntu:~# timedatectl status# 设置时区
root@ubuntu:~# timedatectl set-timezone Asia/Shanghai

方法二:配置时间同步timesyncd

root@ubuntu:~# apt install systemd-timesyncd
root@ubuntu:~# vim /etc/systemd/timesyncd.conf  或 gedit /etc/systemd/timesyncd.conf
# 末尾添加以下内容
[Time]
NTP=ntp.aliyun.com                                   #主NTP服务器列表,可以使用主机名,也可以使用IP地址
FallbackNTP=ntp.ubuntu.com,ntp.tencent.com           #备用NTP服务器列表,可以使用主机名,也可以使用IP地址
RootDistanceMaxSec=30                                #最大误差时间,默认5s
PollIntervalMinSec=3600                              #NTP消息最小轮询间隔秒数,不能小于16s
PollIntervalMaxSec=21600                             #NTP消息最大轮询间隔秒数,必须大于PollIntervalMinSec# 重新启动服务
root@ubuntu:~# systemctl restart systemd-timesyncd# 查看时间同步状态
root@ubuntu:~# timedatectl status# 设置时区
root@ubuntu:~# timedatectl set-timezone Asia/Shanghai

十、软件包管理

  • Ubuntu 22.04 默认使用 dpkg 命令安装软件包。
  • dpkg 是Debian 和Ubuntu 系统中的软件包管理器,用于安装、卸载和管理和.deb软件包相关的信息。它不解决依赖关系,也不访问软件仓库,主要用于本地安装和基本的包管理任务。
# 列出已安装的所有deb软件包
dpkg -l
apt list --installed# 安装deb软件包
dpkg -i <软件包># 删除deb软件包,保留配置文件
dpkg -r <软件包>
# 删除deb软件包,不保留配置文件
dpkg -P <软件包># 查看软件包的内容列表
dpkg -c <软件包># 查看软件包中的文件列表
dpkg -L <软件包># 显示已安装软件包的详细信息,包括版本、依赖关系等
dpkg -s <软件包># 查看文件名查询所属的软件包
dpkg -S /path/to/file# 验证软件包是否安装
dpkg -V <软件包># 查询已安装的软件包
apt list --installed | grep <软件包>
apt list --upgradable# 查看软件包的相关信息, 如说明、大小、版本等
apt show <软件包># 搜索软件包
apt-cache search <软件包># 删除软件包
apt remove  <软件包># 更新系统源软件清单
apt update -y# 更新全部软件包
apt upgrade <软件包># 查看可更新的软件包
apt list --upgradable

十一、关闭Selinux

  • Ubuntu22.04 默认不开启 selinux
# 查看selinux状态
getenforce# 启用SELinux
apt-get install selinux-utils# 重启系统生效
reboot

以上就是Ubuntu 22.04.4操作系统初始化详细配置,如果对你有帮助,请记得点赞,关注,收藏。更多Linux运维相关知识持续分享中。

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

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

相关文章

【Linux应用】开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)

【Linux应用】开发板快速上手&#xff1a;镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互&#xff08;RADXA ZERO 3为例&#xff09; 参考&#xff1a; ZERO 3 | Radxa Docs 大部分的Linux开发板等设备都大同小异 如树莓派、香橙派、STM32MP135的Linux开发板等 …

Redis使用总结

NoSQL 1.1为什么要用NoSQL 面对现在用户数据的急剧上升&#xff0c;我们需要对这些用户数据进行挖掘&#xff0c;传统的关系型数据库已经不适合这些 应用了.Nosql 的发展可以很了的处理这些大的数据. 1.2什么是NoSQL Not Only Sql->NoSQL(不仅仅是SQL) 非关系型数据库.随…

Unity ML-Agents + VScode 环境搭建 Windows

安装Unity 先去官网下载Unity Hub&#xff0c;然后安装在D盘就可以了&#xff0c;你需要手机上安装一个Unity Connect进行账号注册。 详细的注册可以参考&#xff1a; https://blog.csdn.net/Dugege007/article/details/128472571 注册好了以后登入电脑端的Unity Hub&#x…

Linux电源管理(2)_常规的电源管理的基本概念和软件架构

原文&#xff1a; Linux电源管理(2)_Generic PM之基本概念和软件架构 1. 前言 Linux系统中那些常规的电源管理手段&#xff0c;包括关机&#xff08;Power off&#xff09;、待机&#xff08;Standby or Hibernate&#xff09;、重启&#xff08;Reboot&#xff09;等。这些…

机器学习基础理论 - 分类问题评估指标

几个定义:混淆矩阵 TP: True Positives, 表示实际为正例且被分类器判定为正例的样本数FP: False Positives, 表示实际为负例且被分类器判定为正例的样本数FN: False Negatives, 表示实际为正例但被分类器判定为负例的样本数TN: True Negatives, 表示实际为负例且被分类…

在线教育系统开发常见问题及解决方案:源码部署到运营维护

当下&#xff0c;越来越多的教育机构、企业培训部门以及创业者&#xff0c;选择开发属于自己的在线教育系统。然而&#xff0c;从源码部署到实际运营&#xff0c;整个过程中常常会遇到一系列技术与管理难题。今天&#xff0c;笔者将从在线教育系统源码维护、运营等几个方向为大…

RAG(Retrieval-Augmented Generation,检索增强生成)

RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种结合 信息检索 和 文本生成 的技术&#xff0c;旨在提升大语言模型&#xff08;LLM&#xff09;生成内容的准确性和时效性。其核心思想是&#xff1a;先检索相关知识&#xff0c;再基…

项目实战 -- 状态管理

redux基础 还记得好久好久之前就想要实现的一个功能吗&#xff1f; 收起侧边栏折叠菜单&#xff0c;没错&#xff0c;现在才实现 因为不是父子通信&#xff0c;所以处理起来相对麻烦一点 可以使用状态树或者中间人模式 这就需要会redux了 Redux工作流&#xff1a; 异步就…

Go语言之路————指针、结构体、方法

Go语言之路————指针、结构体、方法 前言指针结构体声明初始化使用组合引用结构体和指针结构体的标签 方法例子结合结构体总结 前言 我是一名多年Java开发人员&#xff0c;因为工作需要现在要学习go语言&#xff0c;Go语言之路是一个系列&#xff0c;记录着我从0开始接触Go…

[创业之路-390]:人力资源 - 社会性生命系统的解构与重构:人的角色嬗变与组织进化论

前言&#xff1a; 人、财、物、信息、机制、流程、制度、方法共同组合了一个持续的消耗资源、持续的价值创造、持续面临生存与发展、遗传与变异的社会性生命系统。 "人"是所有社会性生命系统最最基础性的要素&#xff0c;它弥漫在系统中多维立体空间的不同节点上&am…

JS执行器在UI自动化测试中的应用

前言 在进行UI自动化过程会遇到滚动条下拉、隐藏元素定位、只读属性元素的编辑、富文本处理等&#xff0c;此时可以使用JS执行器简化我们的一些处理操作。 具体应用 JS执行器的使用步骤&#xff1a; 1.先写个JS脚本&#xff0c;如果需要获取操作后的值&#xff0c;JS脚本前面…

解析Suna:全球首款开源通用AI智能体

导语&#xff1a; 嘿&#xff0c;哥们儿&#xff0c;最近 AI Agent 这块儿挺火的&#xff0c;有个叫 Suna 的开源项目冒出来挺快&#xff01;听说只用了 3 周就开发出来了&#xff0c;但功能上感觉已经能跟那个商业版的 Manus掰掰手腕了。它能帮你搞定浏览器自动化、管文件、爬…

模板方法模式:定义算法骨架的设计模式

模板方法模式&#xff1a;定义算法骨架的设计模式 一、模式核心&#xff1a;模板方法定义算法骨架&#xff0c;具体步骤延迟到子类实现 在软件开发中&#xff0c;经常会遇到这样的情况&#xff1a;某个算法的步骤是固定的&#xff0c;但具体步骤的实现可能因不同情况而有所不…

浅谈Java 内存管理:栈与堆,垃圾回收

在Java编程世界里&#xff0c;内存管理是一项极为关键的技能&#xff0c;它就像程序运行背后的“隐形守护者”&#xff0c;默默影响着程序的性能与稳定性。今天&#xff0c;咱们就来简单学习一下Java内存管理中的两大核心要点&#xff1a;栈与堆的内存分配机制&#xff0c;以及…

【WebGL小知识】WebGL平台上不同Json的比较

今天来总结一下WebGL平台上不同Json插件的差别&#xff0c;话不多说直接开始。 JsonUtility JsonUtility是Unity自带的Json解析&#xff0c;无需另外安装插件。 优点&#xff1a; Unity自带&#xff0c;兼容性好&#xff0c;WebGL平台可以使用轻量级&#xff0c;性能较好。 …

4.22tx视频后台开发一面

总时长大概在一个小时&#xff0c;主要提问C、操作系统、计网以及数据库等方面&#xff0c;最后两个算法编程题。 一上来先介绍项目 Linux下的mybash命令处理器和内存池 mybash可以再总结归纳一下&#xff0c;一上来有点紧张没有条理 内存池是用边界标识法写的&#xff0c;…

从StandardMaterial和PBRMaterial到PBRMetallicRoughnessMaterial:Babylon.js材质转换完全指南

在现代3D图形开发中&#xff0c;基于物理的渲染(PBR)已成为行业标准。本文将深入探讨如何在Babylon.js中将传统StandardMaterial和PBRMaterial转换为PBRMetallicRoughnessMaterial&#xff0c;并保持视觉一致性。 为什么需要转换&#xff1f; PBRMetallicRoughnessMaterial作…

UEditor文档在Servlet项目上的应用

UEditor 是一款功能强大的富文本编辑器&#xff0c;在项目中应用广泛。 Ueditor使用 引入 UEditor 下载 UEditor&#xff1a;从 UEditor 官方网站&#xff08;ueditor 官网&#xff09;下载适合项目需求的版本。解压文件&#xff1a;将下载的压缩包解压到项目的静态资源目录…

ThinkPHP快速使用手册

目录 介绍 安装&#xff08;windows环境&#xff09; 安装Composer 安装ThinkPHP 目录结构 配置文件 第一个接口&#xff08;Controller层&#xff09; Hello World 自定义Controller 请求参数 获取查询参数&#xff08;Get请求&#xff09; 获取指定请求参数 获取…

面向 C# 初学者的完整教程

&#x1f9f1; 一、项目结构说明 你的项目大致结构如下&#xff1a; TaskManager/ ├── backend/ │ ├── TaskManager.Core/ // 实体类和接口 │ ├── TaskManager.Infrastructure/ // 数据库、服务实现 │ └── TaskManager.API/ // We…