第六篇:linux之解壓縮、軟件管理

第六篇:linux之解壓縮、軟件管理

文章目錄

  • 第六篇:linux之解壓縮、軟件管理
    • 一、解壓和壓縮
      • 1、window壓縮包與linux壓縮包能否互通?
      • 2、linux下壓縮包的類型
      • 3、打包與壓縮
    • 二、軟件管理
      • 1、rpm
        • 1、什么是rpm?
        • 2、rpm包名組成部分
        • 3、如何獲取rpm包?
        • 4、linux中處理rpm的安裝軟件,還有那些安裝軟件方式?
        • 5、rpm包如何安裝?
        • 6、如何查詢已安裝好的rpm包?
      • 2、yum
        • 1、什么是yum?
        • 2、yum源是什么?
        • 3、yum源配置
      • 3、源碼安裝
        • 1、源碼包是什么?
        • 2、為什么學習源碼包?
        • 3、源碼包優缺點?
        • 4、使用方式

一、解壓和壓縮

1、window壓縮包與linux壓縮包能否互通?

在windows系統下,接觸做多的壓縮格式便是rar或zip,但在linux上使用最多的壓縮格式是zip和tar.gz。linux不支持rar格式,所以,互通選擇zip格式即可。

2、linux下壓縮包的類型

格式壓縮工具
.zipzip壓縮工具
.gzgzip壓縮工具,只能壓縮文件,會刪除源文件(通常配合tar使用)
.bz2bzip2壓縮文件,只能壓縮文件,會刪除源文件(通常配合tar使用)
.tar.gz先使用tar命令歸檔打包,然后使用gzip進行壓縮
.tar.bz2先使用tar命令歸檔打包,然后使用bzip進行壓縮

3、打包與壓縮

"""gzip的使用"""
yum install gzip -y  # 只能壓縮一個文件,也不能壓縮文件夾
gzip test.txt  # 對文件進行壓縮【會將源文件刪除】
zcat test.txt.gz  # 查看壓縮后的文件【可直接顯示壓縮文件中的內容】
gzip -d test.txt.gz  # 解壓壓縮后的文件
# 用處
cd /etc/yum.repos.d/
比如說,我們可以將此目錄下的文件全部進行壓縮,可以自定義源,更好的進行處理"""zip的使用"""
yum install zip unzip -y  # 文件和文件夾均可壓縮【文件夾-r】
zip a.zip test.txt  # 將test.txt壓縮成a.zip格式【不會刪除原來的文件】
zip -r home.zip /home/  # 文件夾壓縮
zip -T filename.zip  # 查看此zip壓縮包是否完整
unzip home.zip  # 解壓
unzip -l  home.zip # 不解壓,查看壓縮包中的內容
unzip home.zip  -d /opt/   # 把當前路徑下的home.zip 解壓到opt目錄下"""tar的使用"""
yum intall tar -y
# 可以同時壓縮目錄和文件,也支持跨文件夾壓縮
tar -czf aa.tar.gz test1.txt test2.txt  # 將test1.txt和test2.txt文件壓縮到aa.tar.gz
tar -xf aa.tar.gz  # 解壓xx.tar.gz壓縮包
tar czf etc.tar.gz --exclude=etc/services etc/  # 排除文件
tar xf /etc/local.tar.gz  -C /tmp  # -C指定解壓到哪個路徑c  # 創建新的歸檔文件
x  # 對歸檔文件解包
t  # 列出歸檔文件里的內容列表
v  # 輸入命令歸檔或解包的過程
f  # 指定包文件名【多參數f寫到最后面】
z  # 使用gzip壓縮歸檔后的文件(.tar.gz)
j  # 使用bzip2壓縮歸檔后的文件(.tar.bz2)
J  # 使用xz壓縮歸檔后的文件(.tar.xz)
C  # 指定解壓目錄位置
X  # 排除多個文件(寫入需要排除的文件名稱)
h  # 打包軟鏈接czf  # 打包tar.gz格式
cjf  # 打包tar.bz格式
cJf  # 打包tar.xz格式
zxf  # 解壓tar.gz格式
jxf  # 解壓tar.bz格式
xf   # 自動選擇解壓模式
tf   # 查看壓縮包內容

二、軟件管理

1、rpm

1、什么是rpm?

RPM全稱是(RedHat Package Manager),是由紅帽開發用于軟件包的安裝升級卸載與查詢。

2、rpm包名組成部分

3、如何獲取rpm包?

我們可以在linux中執行mount /dev/cdrom /mnt【將光盤掛載到/mnt文件夾下】,此時便可以在/mnt/Packages目錄下看到很多的rpm包文件。

4、linux中處理rpm的安裝軟件,還有那些安裝軟件方式?
分類安裝版本
rpm包預先編譯打包,安裝簡單軟件版本偏低
源碼包手動編輯打包,安裝繁瑣軟件版本隨意
二進制包解壓即可使用,安裝簡單不能修改源碼
-源碼安裝-->官網下源碼--》編譯安裝---》最新
-rpm包,預先編譯打包,安裝簡單,yum安裝,本質就是rmp安裝--》稍微老一些
-二進制包:綠色包
5、rpm包如何安裝?

以下為rpm命令進行安裝的軟件的常用參數。

選項描述
-i安裝rpm
-v顯示安裝詳細信息
-h顯示安裝rpm進度
–force強制重新安裝
–nodeps忽略依賴關系
"""rpm包安裝"""
# 安裝rpm的軟件
rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm  
或者 
cd /mnt/Packages/  # 在軟件所在目錄下可以不指定絕對路徑
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm# 如果軟件包存在,強制再次安裝
rpm -ivh --force /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm# 安裝samba服務需要依賴其它組件,使用--nodeps可重新強制安裝
rpm -ivh --nodeps /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm
6、如何查詢已安裝好的rpm包?
選項描述
rpm -q查看指定軟件包是否安裝
rpm -qa查看系統中已安裝的所有rpm軟件包列表
rpm -qi查看指定軟件的詳細信息
rpm -ql查詢指定軟件包所安裝的目錄、文件列表
rpm -qc查詢指定軟件包的配置文件
rpm -qf查詢文件或目錄屬于哪個rpm軟件
rpm -qip查詢未安裝的rpm包詳細信息
rpm -qlp查詢安裝的軟件包會產生哪些文件
"""查詢rpm包"""
# 查詢tree這個rpm包是否安裝
rpm -q tree  # 類似于 rpm -qa |grep tree
rpm -qa |grep tr  # 列出所有安裝的軟件
rpm -qi tree  # 查看指定軟件的詳細信息
rpm -ql tree   # 查詢指定軟件包所安裝的目錄、文件列表
...
rpm -qf /etc/pam.d/vsftpd  # 查看配置文件屬于哪個軟件
rpm -qlp tree-1.6.0-10.el7.x86_64.rpm  # 查看該軟件包安裝后會釋放哪些文件"""使用遠程地址安裝rpm包"""
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.8-2.el7.x86_64.rpm"""升級軟件"""
rpm -Uivh  # 升級軟件需要用U【加U即可】 """卸載rpm包"""
rpm -e tree  

2、yum

1、什么是yum?

yum是RedHat以及centos中軟件包管理器,能夠通過聯網下載.rpm包并且安裝,可以自動處理依賴性關系,無需繁瑣的一次次的進行下載、安裝。

2、yum源是什么?

要想成功使用yum工具安裝更新軟件或系統,就需要有一個包含各種rpm軟件包的repository(軟件倉庫),這個倉庫我們習慣稱為yum源(可以是本地源、網絡源)。

3、yum源配置

我們可以是用cd /etc/yum.repos.d/路徑下,查看yum源,即為.repo文件。【默認配置的源可能缺少軟件,需要我們手動進行源配置】

"""如何更換阿里云的源?"""
# 將https://mirrors.aliyun.com/repo/Centos-7.repo下載到/etc/yum.repos.d/下,替換掉CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo"""擴展源:epel擴展源"""
# 下載epel-7.repo到/etc/yum.repos.d/下,如此就可以下載默認源中沒有的軟件,如【nginx】
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo"""python也可以使用yum安裝(在阿里云的拓展源中)"""
yum install python36"""補充"""
systemctl start nginx  # 啟動程序
systemctl restart nginx  # 重啟程序
systemctl stop firewalld.service  # 關閉防火墻

3、源碼安裝

1、源碼包是什么?

源碼包指的是開發者編寫好的程序源代碼,但沒有將其編譯為一個能正常使用的工具。

2、為什么學習源碼包?

部分軟件官方不提供yum安裝,同時源碼可以安裝是最新版本的。

3、源碼包優缺點?
  • 可以自行修改源代碼
  • 可以定制需要的相關功能
  • 新版軟件優先更新源碼
  • 相對于yum安裝軟件會復雜很多
4、使用方式
"""向服務器傳遞文件的幾種方式"""
1 wget + 網絡地址  # 直接下載tar.gz包
2 下載到windows上,使用rz上傳到linux上  # 也是tar.gz包
3 xftp軟件來傳
4 scp nginx-1.18.0.tar.gz root@101.133.225.166:/home/yangyi1  # 網絡拷貝【從windows上傳到linux上】
  """舉例:源碼安裝nginx"""1、下載tar.gz包[root@yangyi ~]# wget http://nginx.org/download/nginx-1.15.12.tar.gz2、進行解壓,并進入相應目錄下[root@yangyi ~]# tar -xf nginx-1.15.12.tar.gz[root@yangyi ~]# cd nginx-1.15.12/3、安裝相關依賴【如果沒有,則會報錯】yum install -y pcre-devel gcc gcc-c++ make zlib-devel openssl-devel4、通過configure,生成配置信息,配置相關的選項,安裝路徑,并生成Makefile,軟件安裝的信息[root@yangyi nginx-1.15.12]# ./configure --help  # 可執行文件可以--help查看相關幫助[root@yangyi nginx-1.15.12]# ./configure --prefix=/usr/local/nginx[root@yangyi nginx-1.15.12]# echo $?  # 檢查上一個命令是否執行成功5、將Makefile文件編譯成可執行二進制程序,此時/usr/local/nginx可執行文件還不存在,需要執行make install才能copy過去[root@yangyi nginx-1.15.12]# make6、將二進制文件拷貝到對應的目錄中[root@yangyi nginx-1.15.12]# make install7、我們進入/usr/local/nginx/下,可以看到相關目錄- conf: 配置文件- html: 靜態文件存放路徑,index.html- logs: 日志- sbin: 可執行文件8、命令[root@yangyi sbin] ./nginx  # 啟動[root@yangyi sbin] nginx -s reload  # 重新加載,修改配置文件[root@yangyi sbin] nginx -s restart  # 重啟[root@yangyi sbin] nginx -s stop  # 停止9、在任意路徑敲nginx都能執行【三種方式】1)建立軟鏈接  ln -s /usr/local/nginx/sbin/nginx /sbin/nginx2)把/usr/loacl/nginx/sbin/路徑加入環境變量3)想使用systemctl管理(制作成系統服務)"""安裝其它軟件的源碼,步驟類似,如python3"""

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

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

相關文章

Redis 鍵管理

Redis 鍵管理 以下從鍵重命名、隨機返回鍵、鍵過期機制和鍵遷移四個維度展開詳細說明,結合 Redis 核心命令與底層邏輯進行深入分析: 一、鍵重命名 1. ?RENAME?? 與 ?RENAMENX?? **RENAME key newkey?**: 功能:強制重命名…

OpenCV 模板匹配方法詳解

文章目錄 1. 什么是模板匹配?2. 模板匹配的原理2.1數學表達 3. OpenCV 實現模板匹配3.1基本步驟 4. 模板匹配的局限性5. 總結 1. 什么是模板匹配? 模板匹配(Template Matching)是計算機視覺中的一種基礎技術,用于在目…

TextCNN 模型文本分類實戰:深度學習在自然語言處理中的應用

在自然語言處理(NLP)領域,文本分類是研究最多且應用最廣泛的任務之一。從情感分析到主題識別,文本分類技術在眾多場景中都發揮著重要作用。最近,我參與了一次基于 TextCNN 模型的文本分類實驗,從數據準備到…

Qt-創建模塊化.pri文件

文章目錄 一、.pri文件的作用與基本結構作用基本結構 二、創建.pri文件如何添加模塊代碼? 一、.pri文件的作用與基本結構 作用 在Qt開發中,.pri文件(Project Include File)是一種配置包含文件,用于模塊化管理和復用項…

SpringCloud組件——Eureka

一.背景 1.問題提出 我們在一個父項目下寫了兩個子項目,需要兩個子項目之間相互調用。我們可以發送HTTP請求來獲取我們想要的資源,具體實現的方法有很多,可以用HttpURLConnection、HttpClient、Okhttp、 RestTemplate等。 舉個例子&#x…

EAL4+與等保2.0:解讀中國網絡安全雙標準

EAL4與等保2.0:解讀中國網絡安全雙標準 在當今數字化時代,網絡安全已成為各個行業不可忽視的重要議題。特別是在金融、政府、醫療等領域,保護信息的安全性和隱私性顯得尤為關鍵。在中國,EAL4和等級保護2.0(簡稱“等保…

FFmpeg+Nginx+VLC打造M3U8直播

一、視頻直播的技術原理和架構方案 直播模型一般包括三個模塊:主播方、服務器端和播放端 主播放創造視頻,加美顏、水印、特效、采集后推送給直播服務器 播放端: 直播服務器端:收集主播端的視頻推流,將其放大后推送給…

【Redis】緩存三劍客問題實踐(上)

本篇對緩存三劍客問題進行介紹和解決方案說明,下篇將進行實踐,有需要的同學可以跳轉下篇查看實踐篇:(待發布) 緩存三劍客是什么? 緩存三劍客指的是在分布式系統下使用緩存技術最常見的三類典型問題。它們分…

Flink 2.0 編譯

文章目錄 Flink 2.0 編譯第一個問題 java 版本太低maven 版本太低maven 版本太高開始編譯擴展多版本jdk 配置 Flink 2.0 編譯 看到Flink2.0 出來了,想去玩玩,看看怎么樣,當然第一件事,就是編譯代碼,但是沒想到這么多問…

獲取印度股票市場列表、查詢IPO信息以及通過WebSocket實時接收數據

為了對接印度股票市場,獲取市場列表、查詢IPO信息、查看漲跌排行榜以及通過WebSocket實時接收數據等步驟。 1. 獲取市場列表 首先,您需要獲取支持的市場列表,這有助于了解哪些市場可以交易或監控。 請求方法:GETURL&#xff1a…

云原生--CNCF-1-云原生計算基金會介紹(云原生生態的發展目標和未來)

1、CNCF定義與背景 云原生計算基金會(Cloud Native Computing Foundation,CNCF)是由Linux基金會于2015年12月發起成立的非營利組織,旨在推動云原生技術的標準化、開源生態建設和行業協作。其核心目標是通過開源項目和社區協作&am…

【Rust 精進之路之第5篇-數據基石·下】復合類型:元組 (Tuple) 與數組 (Array) 的定長世界

系列: Rust 精進之路:構建可靠、高效軟件的底層邏輯 作者: 碼覺客 發布日期: 2025-04-20 引言:從原子到分子——組合的力量 在上一篇【數據基石上】中,我們仔細研究了 Rust 的四種基本標量類型&#xff1…

MongoDB 集合名稱映射問題

項目場景 在使用 Spring Data MongoDB 進行開發時,定義了一個名為 CompetitionSignUpLog 的實體類,并創建了對應的 Repository 接口。需要明確該實體類在 MongoDB 中實際對應的集合名稱是 CompetitionSignUpLog 還是 competitionSignUpLog。 問題描述 …

物聯網 (IoT) 安全簡介

什么是物聯網安全? 物聯網安全是網絡安全的一個分支領域,專注于保護、監控和修復與物聯網(IoT)相關的威脅。物聯網是指由配備傳感器、軟件或其他技術的互聯設備組成的網絡,這些設備能夠通過互聯網收集、存儲和共享數據…

PCB原理圖解析(炸雞派為例)

晶振 這是外部晶振的原理圖。 32.768kHz 的晶振,常用于實時時鐘(RTC)電路,因為它的頻率恰好是一天的分數(32768 秒),便于實現秒計數。 C25 和 C24:兩個 12pF 的電容,用于…

Jupyter Notebook 中切換/使用 conda 虛擬環境的方式(解決jupyter notebook 環境默認在base下面的問題)

使用 nb_conda_kernels 添加所有環境 一鍵添加所有 conda 環境 conda activate my-conda-env # this is the environment for your project and code conda install ipykernel conda deactivateconda activate base # could be also some other environment conda in…

【JAVA】十三、基礎知識“接口”精細講解!(二)(新手友好版~)

哈嘍大家好呀qvq,這里是乎里陳,接口這一知識點博主分為三篇博客為大家進行講解,今天為大家講解第二篇java中實現多個接口,接口間的繼承,抽象類和接口的區別知識點,更適合新手寶寶們閱讀~更多內容持續更新中…

基于MuJoCo物理引擎的機器人學習仿真框架robosuite

Robosuite 基于 MuJoCo 物理引擎,能支持多種機器人模型,提供豐富多樣的任務場景,像基礎的抓取、推物,精細的開門、擰瓶蓋等操作。它可靈活配置多種傳感器,提供本體、視覺、力 / 觸覺等感知數據。因其對強化學習友好&am…

企業微信自建應用開發回調事件實現方案

目錄 1. 前言 2. 正文 2.1 技術方案 2.2 策略上下文 2.2 添加客戶策略實現類 2.3 修改客戶信息策略實現類 2.4 默認策略實現類 2.5 接收事件的實體類(可以根據事件格式的參數做修改) 2.6 實際接收回調結果的接口 近日在開發企業微信的自建應用時…

Linux將多個塊設備掛載到一個掛載點

在 Linux 系統中,直接將多個塊設備掛載到同一個掛載點是不可能的。這是因為 Linux 的文件系統掛載機制設計為一個掛載點一次只能關聯一個文件系統。如果嘗試將多個塊設備掛載到同一個掛載點,后一次掛載會覆蓋前一次的掛載,導致只有最后掛載的…