六、Linux核心服務與包管理

作者:IvanCodes
日期:2025年8月3日
專欄:Linux教程

要保證一個Linux系統穩定、安全、功能完備有效管理后臺服務軟件包至關重要的。本文將深入介紹現代Linux系統中四個核心的管理工具:systemctl (服務管理),wget (文件下載),以及 rpmyum/dnf (軟件包管理)

思維導圖 (占位)

(此處可以放置您為本主題制作的思維導圖)

一、 系統服務管理器 systemctl

systemctlsystemd 初始化系統的主控制命令,用于管理系統服務

常用命令與功能:

start <service>: 啟動服務
stop <service>: 停止服務
restart <service>: 重啟服務
reload <service>: 重新加載配置文件 (不中斷服務)
status <service>: 查看服務狀態
enable <service>: 設置服務開機自啟
disable <service>: 取消服務開機自啟
is-enabled <service>: 檢查是否開機自啟

代碼示例 (以 httpd 服務為例):

systemctl start httpdsystemctl enable httpdsystemctl status httpdsystemctl stop httpdsystemctl disable httpd

二、文件下載工具 wget

wget 是一個強大非交互式網絡下載器,常用于從網絡獲取軟件包文件或配置文件。

常用選項:

-O <file>: 將下載內容另存為指定文件名
-P <dir>: 將文件下載到指定目錄
-c: 斷點續傳

代碼示例:

wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgzwget -O nginx.conf_example https://raw.githubusercontent.com/nginx/nginx/master/conf/nginx.confwget -P ./datasets https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

在這里插入圖片描述

三、RPM包管理器

rpm功能強大且直接,但它本身不解決軟件包之間的依賴關系

a. 安裝與升級 (-i, -U)

在沒有網絡的情況下,使用系統安裝光盤是獲取RPM包的常用方法。

第一步:準備軟件包源 (掛載光盤)

  1. 連接并掛載光盤
    在虛擬機或物理機上連接系統安裝光盤/ISO,設備名通常是 /dev/sr0
mount /dev/sr0 /mnt

mount 命令可能會提示 /dev/sr0 is write-protected, mounting read-only,這是正常現象

  1. 驗證掛載并進入Packages目錄
df -h
# 確認 /dev/sr0 已掛載到 /mnt
cd /mnt/Packages
# ls | wc -l # (可選) 查看包的數量

在這里插入圖片描述

第二步:執行安裝

-i: 安裝 (install)。
-v: 顯示詳細信息 (verbose)。
-h: 顯示帶 #的進度條 (hash)。

案例1:安裝一個無依賴或依賴已滿足的包 (vsftpd)

# 檢查 vsftpd 是否已安裝
rpm -q vsftpd
# 提示 "package vsftpd is not installed"# 安裝時必須使用軟件包的完整文件名
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm# 再次檢查,確認安裝成功
rpm -q vsftpd
# 顯示 vsftpd-3.0.2-28.el7.x86_64

在這里插入圖片描述

注意rpm 命令需要指定RPM文件的完整路徑或當前目錄下。如果包名不完整或文件不存在,會報錯

案例2:安裝一個有依賴關系的包 (httpd)

rpm -ivh httpd-2.4.6-97.el7.centos.x86_64.rpm

此時,你會看到典型的依賴錯誤
在這里插入圖片描述

處理依賴問題的危險選項 (應極力避免)
某些特殊明確知道后果的情況下,可以使用以下參數強制安裝

--nodeps: 忽略依賴關系。
--force: 強制安裝 (覆蓋文件、替換已安裝包)。

rpm -ivh httpd-2.4.6-97.el7.centos.x86_64.rpm --nodeps --force
# 這種安裝方式極有可能導致httpd服務無法正常啟動!

在這里插入圖片描述

正確做法應先手動安裝所有被依賴的包,或者直接使用 yum/dnf

升級 (-Uvh)
-U (upgrade) 選項更常用,因為它既可以升級一個已安裝的包,也可以安裝一個新包。

rpm -Uvh new-version-httpd.rpm

b. 查詢 (-q)
rpm -q最安全、最常用的子命令。

rpm -q <package_name>: 查詢包是否安裝
rpm -qa: 查詢所有 (all) 已安裝的包。
rpm -qi <package_name>: 查詢包的詳細信息 (information)。
rpm -ql <package_name>: 列出包安裝的所有文件 (list)。
rpm -qc <package_name>: 只列出包的配置文件 (config)。
rpm -qf <file_path>: 根據文件反查所屬的包 (file)。

代碼示例

# 查詢httpd包的詳細信息
rpm -qi httpd# 列出vsftpd包安裝的所有文件
rpm -ql vsftpd# 列出httpd包安裝的配置文件
rpm -qc httpd# 查看/etc/vsftpd/vsftpd.conf這個文件屬于哪個包
rpm -qf /etc/vsftpd/vsftpd.conf

c. 卸載 (-e)
-e (erase) 用于卸載軟件包。

代碼示例

# 卸載 httpd 和 vsftpd
rpm -e httpd
rpm -e vsftpd# 驗證卸載結果
rpm -q httpd
rpm -q vsftpd

注意:卸載時同樣會檢查依賴關系。如果有其他包依賴于你要卸載的包,卸載會失敗

d. 其他實用查詢與校驗

  • 查詢未安裝的包文件 (-p)
# 查看一個RPM文件將要安裝哪些文件,而不實際安裝它
rpm -qpl vsftpd-3.0.2-28.el7.x86_64.rpm
  • 校驗已安裝的包 (-V)
    rpm -V (Verify) 檢查軟件包的文件是否被修改過。沒有任何輸出表示文件完好
rpm -V vsftpd
# 如果修改了 /etc/vsftpd/vsftpd.conf,此命令會有輸出

命令總結表

操作類型常用命令格式描述
安裝/升級rpm -ivh <file.rpm>安裝一個新包,顯示詳細過程和進度。
rpm -Uvh <file.rpm>升級安裝一個包 (推薦使用)。
查詢已安裝rpm -qa列出所有已安裝的軟件包。
rpm -q <pkg_name>檢查指定軟件包是否已安裝。
rpm -qi <pkg_name>顯示指定軟件包的詳細信息
rpm -ql <pkg_name>列出指定軟件包包含的所有文件
rpm -qc <pkg_name>只列出指定軟件包的配置文件
rpm -qf <file_path>查詢一個文件是由哪個軟件包安裝的。
查詢未安裝rpm -qpl <file.rpm>預覽一個RPM包文件將會安裝哪些文件。
rpm -qpR <file.rpm>查看一個RPM包文件需要哪些依賴
卸載rpm -e <pkg_name>卸載一個已安裝的軟件包。
校驗rpm -V <pkg_name>驗證已安裝軟件包的文件是否被修改。

四、YUM/DNF包管理工具 (yum/dnf)

yum/dnf高級包管理器,自動處理依賴關系,從遠程倉庫獲取軟件。

常用命令:

install: 安裝
remove: 卸載
update: 更新
search: 搜索
info: 查看信息
list: 列出包 (yum list installed)
groupinstall: 安裝包組 (如 “Development Tools”)
history: 查看、撤銷、重做事務歷史
provides (或 whatprovides): 查找哪個包提供某個文件或功能
clean: 清理緩存 (yum clean all)
repolist: 列出已啟用的倉庫

代碼示例

yum groupinstall "Development Tools"yum history listyum history undo 25yum provides htpasswdyum clean all

五、YUM/DNF 倉庫配置

YUM/DNF 從哪里下載軟件包,完全取決于 /etc/yum.repos.d/ 目錄下的 .repo 配置文件。

.repo 文件核心字段:

[repository_id]: 倉庫的唯一ID,用中括號括起來。
name: 倉庫的描述性名稱
baseurl: 倉庫的URL地址。可以是 http://, https://, ftp://file:///
mirrorlist: (與baseurl二選一) 指向一個包含多個鏡像URL元文件地址。
enabled: 1 (啟用) 或 0 (禁用)。
gpgcheck: 1 (檢查RPM包的GPG簽名以保證安全) 或 0 (不檢查)。
gpgkey: 指向GPG公鑰文件的URL或本地路徑,用于驗證簽名

場景一:配置網絡鏡像源 (例如,使用阿里云鏡像)
在生產環境中,為了提高下載速度,通常會替換官方源為國內的鏡像源
操作步驟:

  1. 備份現有repo文件 (非常重要!):
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
  1. 使用 wget 下載新的repo文件: (以CentOS 7為例)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 清理舊緩存并生成新緩存:
yum clean all
yum makecache

場景二:配置本地文件鏡像源 (使用系統安裝光盤/ISO)
無法訪問互聯網的環境下,或者為了快速安裝系統自帶的基礎軟件包,直接使用系統安裝光盤或ISO文件作為本地YUM源是一種非常便捷的方法。

操作步驟:

  1. 連接并掛載光盤/ISO
    將您的系統安裝光盤 (通常設備名為 /dev/cdrom/dev/sr0) 掛載到一個臨時目錄,例如 /mnt
mount /dev/sr0 /mnt

驗證掛載

df -h
# 你應該能看到 /dev/sr0 掛載在了 /mnt 上
  1. 配置倉庫文件
    為了避免網絡源沖突,最佳實踐是先將所有現有.repo 文件移動到一個備份目錄 (如果場景一中尚未操作)。
# 如果還未備份,請執行
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
然后,<font color="blue">創建一個新</font>的 `.repo` 文件來<font color="red">指向我們</font>掛載的<font color="green">光盤</font>。
vi /etc/yum.repos.d/local-iso.repo
在 `local-iso.repo` 文件中,<font color="orange">添加以下內容</font> (二選一,建議初學者使用版本一):**版本一 (簡單,不校驗GPG簽名):**
```ini
[local-iso]
name=Local CentOS ISO Repo
baseurl=file:///mnt
enabled=1
gpgcheck=0
```
**版本二 (安全,校驗GPG簽名):**
```ini
[local-iso]
name=Local CentOS ISO Repo
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
```
*   `[local-iso]`: <font color="purple">倉庫ID</font>,可自定義。
*   `baseurl=file:///mnt`: <font color="teal">核心配置</font>。`file:///` 協議<font color="brown">告訴YUM</font>這是一個<font color="darkgreen">本地文件系統路徑</font>,`/mnt` 是我們<font color="darkred">掛載光盤</font>的目錄。
*   `gpgcheck=0`: <font color="navy">禁用</font>GPG簽名檢查,<font color="olive">最簡單</font>。
*   `gpgcheck=1` 和 `gpgkey`: <font color="darkcyan">啟用</font>GPG檢查,并<font color="saddlebrown">指定</font>GPG公鑰文件的<font color="darkmagenta">位置</font> (通常系統<font color="firebrick">自帶</font>了對應版本的<font color="darkslategray">公鑰</font>)。
  1. 應用配置并測試
    配置好 .repo 文件后,必須清理舊緩存并生成新的緩存。
yum clean all
yum makecache
現在,<font color="red">檢查倉庫列表</font>,應該<font color="green">只能看到</font>我們剛剛<font color="orange">配置的本地源</font>。
yum repolist
最后,<font color="purple">嘗試安裝</font>一個<font color="teal">光盤里</font>肯定有的<font color="brown">小工具</font>來<font color="darkgreen">測試</font>。
yum install -y tree
如果<font color="darkred">安裝成功</font>,說明<font color="navy">本地文件源</font>配置<font color="olive">成功</font>!

場景三:配置局域網YUM源 (網絡鏡像)
企業環境中,搭建統一的局域網YUM源可以節省帶寬加快速度控制版本

1. 在源服務器 (假設 IP: 192.168.1.100) 上操作:
a. 安裝必要工具

yum install -y httpd createrepo

b. 準備軟件包目錄并同步
(假設系統安裝光盤已掛載到 /mnt/cdrom)

mkdir -p /var/www/html/centos/7
cp -r /mnt/cdrom/* /var/www/html/centos/7/

c. 創建倉庫元數據

createrepo /var/www/html/centos/7/

d. 啟動并設置Web服務開機自啟

systemctl start httpd
systemctl enable httpd
# 確保防火墻允許80端口
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

2. 在客戶端服務器上操作:
a. 備份并清空現有repo配置 (同上一步)。
b. 創建新的本地源配置文件

vi /etc/yum.repos.d/lan.repo

c. lan.repo 文件中添加以下內容

[lan-base]
name=LAN CentOS-$releasever - Base
baseurl=http://192.168.1.100/centos/7/
enabled=1
gpgcheck=0

d. 清理并生成緩存

yum clean all
yum makecache

現在,客戶端的 yum 命令將完全從你的局域網服務器獲取軟件包。

總結

本次我們掌握了Linux系統管理中至關重要一系列工具systemctl 負責服務的生命周期管理wget 是獲取網絡資源的得力助手rpm 作為底層工具,讓我們能深入檢查和操作軟件包。而 yum/dnf在此之上提供了自動化依賴處理強大的倉庫管理功能,特別是自定義倉庫配置的能力,是高級系統運維自動化部署基石


練習題

題目:

  1. 如何查看 crond 服務的狀態,并判斷它是否設置為開機自啟?
  2. 使用 wgethttp://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz 下載文件,并將其保存在 /opt/src 目錄下。
  3. 你有一個名為 myapp.rpm 的本地軟件包文件,如何查詢它將要安裝到系統中的所有文件列表,而不是真正安裝它?
  4. 如何使用 rpm 查找 /etc/my.cnf 這個配置文件是由哪個軟件包安裝的?
  5. 如何使用 rpm 校驗 openssh-server 軟件包的所有文件是否被修改過?
  6. 使用 yum 安裝 vim 編輯器,并且在安裝過程中自動回答“是”(yes)。
  7. 如何使用 yum 查看名為 epel-release 的軟件包的詳細信息,包括它的描述、大小、來源倉庫等?
  8. 寫出一條命令,列出系統中所有已安裝的、并且其包名中含有 “kernel” 關鍵詞的軟件包。
  9. yum history 顯示最近一次 remove 操作的事務ID是 30。如何撤銷這次刪除操作?
  10. /etc/yum.repos.d/ 目錄的作用是什么?
  11. 在一個 .repo 配置文件中,baseurlmirrorlist 這兩個參數通常是什么關系?
  12. 為什么在配置指向國內鏡像源 (如阿里云、清華大學) 的 .repo 文件后,通常需要執行 yum clean allyum makecache
  13. 你正在搭建一個本地YUM源服務器。在將所有RPM包復制到Web服務器的目錄后,你需要運行哪個關鍵命令來生成倉庫所需的元數據?

答案與解析:

  1. 查看 crond 狀態與自啟設置:
systemctl status crond
systemctl is-enabled crond

解析: status 命令提供全面的實時狀態。is-enabled 專門用于檢查開機自啟的配置狀態。

  1. wget 下載到指定目錄:
wget -P /opt/src http://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz

解析: -P (大寫P) 選項用于指定下載文件存放的目錄 (prefix directory)。

  1. 查詢未安裝RPM包的文件列表:
rpm -qpl myapp.rpm

解析: rpm -q 是查詢,-p (package) 選項使其作用于一個包文件而不是已安裝的包名-l (list) 則是列出文件。

  1. 查找文件歸屬:
rpm -qf /etc/my.cnf

解析: rpm -qf (query file) 是查詢指定文件屬于哪個已安裝軟件包的標準方法

  1. 校驗軟件包文件:
rpm -V openssh-server

解析: rpm -V (Verify) 會將軟件包當前的文件狀態與RPM數據庫中的原始元數據進行比對,報告任何不一致

  1. yum 自動同意安裝:
yum install -y vim

解析: -y 選項會自動對所有交互式提問回答“是”,這在編寫自動化腳本非常有用

  1. yum 查看包信息:
yum info epel-release

解析: yum info <package_name> 提供了比 rpm -qi 更豐富的信息,因為它直接從倉庫獲取,可以查看未安裝的包,并包含來源倉庫信息。

  1. 列出含 “kernel” 的已安裝包:
yum list installed | grep kernel

解析: yum list installed 列出所有已安裝的包,然后通過管道 | 將結果傳遞給 grep進行關鍵詞過濾

  1. yum history 撤銷操作:
yum history undo 30

解析: yum history undo <id>執行與指定事務ID相反的操作。如果ID 30是 removeundo 就會重新安裝被刪除的包。

  1. /etc/yum.repos.d/ 的作用:

    • 解析: 該目錄是存放YUM/DNF倉庫配置文件 (.repo 文件) 的標準位置。YUM/DNF啟動時會掃描此目錄下所有 .repo 文件,以確定可以從哪些軟件源獲取軟件包。
  2. baseurlmirrorlist 的關系:

    • 解析: 這兩個參數是互斥的,在一個倉庫配置中通常只使用一個baseurl 直接指定一個固定的倉庫URL。而 mirrorlist 指定一個URL,該URL會返回一個包含多個可用 baseurl列表,YUM會自動選擇一個最快或最近的鏡像進行下載。
  3. 為何要 clean allmakecache

    • 解析: 當你更改了 .repo 文件 (即更換了軟件源) 后,YUM本地的緩存 (包括包列表、元數據等) 仍然是基于舊倉庫的。yum clean all 強制清除所有舊緩存。yum makecache主動從新的倉庫地址下載元數據建立新的緩存,這會顯著加快后續的 searchinstall 操作。
  4. 本地源生成元數據的命令:

createrepo /path/to/your/rpms
  • 解析: createrepo 命令會掃描指定目錄下的所有RPM包,并生成一個名為 repodata子目錄,其中包含YUM/DNF識別倉庫所需元數據文件 (如 repomd.xml)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94172.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94172.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94172.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構】哈希表實現

目錄 1. 哈希概念 2 哈希沖突和哈希函數 3. 負載因子 4. 將關鍵字轉為整數 5. 哈希函數 5.1直接定址法 5.2 除法散列法/除留余數法 5.3 乘法散列法&#xff08;了解&#xff09; 5.4 全域散列法&#xff08;了解&#xff09; 5.5 其他方法&#xff08;了解&#xff09…

PostgreSQL面試題及詳細答案120道(21-40)

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

數據建模及基本數據分析

目錄 &#xff08;一&#xff09;數據建模 1.以數據預測為核心的建模 2.以數據聚類為核心的建模 &#xff08;二&#xff09;基本數據分析 1.Numpy 2. Pandas 3.實例 4.Matplotlib 資料自取&#xff1a; 鏈接: https://pan.baidu.com/s/1PROmz-2hR3VCTd6Eei6lFQ?pwdy8…

電動汽車DCDC轉換器的用途及工作原理

在電動汽車的電氣架構中&#xff0c;DCDC轉換器&#xff08;直流-直流轉換器&#xff09;是一個至關重要的部件&#xff0c;負責協調高壓動力電池&#xff08;通常300V~800V&#xff09;與低壓電氣系統&#xff08;12V/24V&#xff09;之間的能量流動。它的性能直接影響整車的能…

PyTorch 應用于3D 點云數據處理匯總和點云配準示例演示

PyTorch 已廣泛應用于 3D 點云數據處理&#xff0c;特別是在深度學習驅動的任務中如&#xff1a; 分類、分割、配準、重建、姿態估計、SLAM、目標檢測 等。 傳統 3D 點云處理以 PCL、Open3D 為主&#xff0c;深度學習方法中&#xff0c;PyTorch 是構建神經網絡處理點云的核心框…

ABP VNext + Quartz.NET vs Hangfire:靈活調度與任務管理

ABP VNext Quartz.NET vs Hangfire&#xff1a;靈活調度與任務管理 &#x1f680; &#x1f4da; 目錄ABP VNext Quartz.NET vs Hangfire&#xff1a;靈活調度與任務管理 &#x1f680;? TL;DR&#x1f6e0; 環境與依賴&#x1f527; Quartz.NET 在 ABP 中接入1. 安裝與模塊…

[硬件電路-148]:數字電路 - 什么是CMOS電平、TTL電平?還有哪些其他電平標準?發展歷史?

1. CMOS電平定義&#xff1a; CMOS&#xff08;Complementary Metal-Oxide-Semiconductor&#xff09;電平基于互補金屬氧化物半導體工藝&#xff0c;由PMOS和NMOS晶體管組成。其核心特點是低功耗、高抗干擾性和寬電源電壓范圍&#xff08;通常為3V~18V&#xff09;。關鍵參數&…

0基礎網站開發技術教學(二) --(前端篇 2)--

書接上回說到的前端3種主語言以及其用法&#xff0c;這期我們再來探討一下javascript的一些編碼技術。 一) 自定義函數 假如你要使用一個功能&#xff0c;正常來說直接敲出來便可。可如果這個功能你要用不止一次呢?難道你每次都敲出來嗎?這個時侯&#xff0c;就要用到我們的自…

前端 拼多多4399筆試題目

拼多多 3 選擇題 opacity|visibity|display區別 在CSS中&#xff0c;opacity: 0 和 visibility: hidden 都可以讓元素不可見&#xff0c;但它們的行為不同&#xff1a; ? opacity: 0&#xff08;透明度為0&#xff09; 元素仍然占據空間&#xff08;不移除文檔流&#xff0…

數琨創享:全球汽車高端制造企業 QMS質量管理平臺案例

01.行業領軍者的質量升級使命在全球汽車產業鏈加速升級的浪潮中&#xff0c;質量管控能力已成為企業核心競爭力的關鍵。作為工信部認證的制造業單項冠軍示范企業&#xff0c;萬向集團始終以“全球制造、全球市場、做行業領跑者”為戰略愿景。面對奔馳、寶馬、大眾等“9N”高端客…

GaussDB 約束的使用舉例

1 not null 約束not null 約束強制列不接受 null 值。not null 約束強制字段始終包含值。這意味著&#xff0c;如果不向字段添加值&#xff0c;就無法插入新記錄或者更新記錄。GaussDB使用pg_get_tabledef()函數獲取customers表結構&#xff0c;如&#xff1a;csdn> set sea…

自動駕駛中的傳感器技術13——Camera(4)

1、自駕Camera開發的方案是否歸一化對于OEM&#xff0c;或者自駕方案商如Mobileye如果進行Camera的開發&#xff0c;一般建議采用Tesla的系統化最優方案&#xff0c;所有Camera統一某個或者某兩個MP設計&#xff08;增加CIS議價權&#xff0c;減少Camera PCBA的設計維護數量&am…

開源利器:glTF Compressor——高效優化3D模型的終極工具

在3D圖形開發領域,glTF(GL Transmission Format)已成為Web和移動端3D內容的通用標準。然而,3D模型的文件體積和紋理質量往往面臨權衡難題。Shopify最新開源的glTF Compressor工具,為開發者提供了一套精細化、自動化的解決方案,讓3D模型優化既高效又精準。本文將深入解析這…

LeetCode Hot 100,快速學習,不斷更

工作做多了有時候需要回歸本心&#xff0c;認真刷題記憶一下算法。那就用我這練習時長兩年半的代碼農民工來嘗試著快速解析LeetCode 100吧 快速解析 哈希 1. 兩數之和 - 力扣&#xff08;LeetCode&#xff09; 這題很簡單啊&#xff0c;思路也很多 1. 暴力搜索&#xff0c;…

MySQL的子查詢:

目錄 子查詢的相關概念&#xff1a; 子查詢的分類&#xff1a; 角度1&#xff1a; 單行子查詢&#xff1a; 單行比較操作符&#xff1a; 子查詢的空值情況&#xff1a; 多行子查詢&#xff1a; 多行比較操作符&#xff1a; ANY和ALL的區別&#xff1a; 子查詢為空值的…

Python批處理深度解析:構建高效大規模數據處理系統

引言&#xff1a;批處理的現代價值在大數據時代&#xff0c;批處理&#xff08;Batch Processing&#xff09; 作為數據處理的核心范式&#xff0c;正經歷著復興。盡管實時流處理備受關注&#xff0c;但批處理在數據倉庫構建、歷史數據分析、報表生成等場景中仍不可替代。Pytho…

是德科技的BenchVue和納米軟件的ATECLOUD有哪些區別?

是德科技的BenchVue和納米軟件的ATECLOUD雖然都是針對儀器儀表測試的軟件&#xff0c;但是在功能設計、測試場景、技術架構等方面有著明顯的差異。BenchVue&#xff08;是德科技&#xff09;由全球領先的測試測量設備供應商開發&#xff0c;專注于高端儀器控制與數據分析&#…

線上redis的使用

一.String1.緩存玩家單個數據&#xff0c;但是我覺得還是用hash好2.結合過期時間&#xff0c;比如:某個東西結算了&#xff0c;redis記錄一下&#xff0c;并設置過期時間3.分布式鎖二.Hash1.緩存一個單位的數據&#xff0c;比如&#xff1a;聯盟信息2.被封禁的列表&#xff0c;…

【實踐記錄】github倉庫的更新

首先登錄&#xff0c;參考&#xff1a;記一次github連接本地git_如何連接github-CSDN博客 SSH&#xff1a; git config --global user.name "GitHubUsername" git config --global user.email "emailexample.com" ssh-keygen -t ed25519 -C "emailex…

Nature圖形復現—Graphpad繪制帶P值的含數據點的小提琴圖

帶 P 值的含數據點的小提琴圖是一種科研數據可視化圖表&#xff0c;它同時呈現數據的分布特征、原始觀測值和統計顯著性&#xff1a;通過小提琴形狀展示概率密度分布&#xff08;反映數據集中趨勢和離散程度&#xff09;&#xff0c;疊加抖動散點顯示所有原始數據點&#xff08…