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.pswp.cn/bicheng/78617.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78617.shtml
英文地址,請注明出處:http://en.pswp.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…