Linux 軟體安裝

来源:http://www.cnblogs.com/powercto/archive/2017/05/07/6821642.html
-Advertisement-
Play Games

不同的軟體的安裝方法是並不相同的。有的軟體只能通過特定的方法來安裝。 在不同的Linux發行版本上安裝同一個軟體的方法也未必相同, 因此有的時候,你在網上找到的在Ubuntu上安裝某個軟體的方法,也許在CentOS上並不能成功。 RPM、YUM、dpkg、apt-get、aptitude ...


[TOC]

0 前言

  • 不同的軟體的安裝方法是並不相同的。有的軟體只能通過特定的方法來安裝。
  • 在不同的Linux發行版本上安裝同一個軟體的方法也未必相同, 因此有的時候,你在網上找到的在Ubuntu上安裝某個軟體的方法,也許在CentOS上並不能成功。

1 RPM

1.1 介紹

RPM是 Redhat Package Manager的縮寫,是Linux上的一種軟體打包和管理的工具。 因為Linux的不同發行版(distribution),甚至同一發行版的不同版本之間往往有很多的不同, 開發者在某個Linux發行版下開發和編譯的程式,直接放到另外一個Linux下有非常大的可能性無法運行。 因此早期的Linux的軟體都是通過源碼來分發,使用者基本都是通過在自己的Linux平臺上重新編譯源代碼來安裝軟體。 但是這種編譯源代碼的方式比較繁瑣和複雜,普通用戶往往也難以掌握。後來 Redhat推出了RPM這個軟體打包的方式。就是在特定的Linux平臺上把軟體編譯好,然後把與這個軟體相關的文件和庫打包成一個文件(RPM包), 但需要註意的是: 通常不同的distribution所發佈的RPM包往往不能用於其他的Linux的distributions上面。 例如,針對Redhat的RPM包往往無法直接在OpenSUSE上進行安裝。因此,在使用RPM方式進行安裝的時候,必須選擇和你使用的平臺一致的RPM安裝包。

1.2 命令

rpm -ivh google-chrome-33.xxxx.rpm
  • -i: install 安裝
  • -v: verbose 顯示詳細信息
  • -h: hash 顯示安裝進度

升級某個軟體:

rpm -Uvh   abc.xxx.rpm             //abc這個軟體的新版本會覆蓋原來的版本,如果原來沒有安裝,直接安裝

查詢某個軟體是否安裝

rpm -q httpd                    //查詢是否安裝了apache服務
rpm -qa | grep pam              //查詢是否安裝了包含pam這個名字的軟體
rpm -qi httpd                   //列出目前安裝的apache服務的詳細信息
rpm -qR httpd                   //列出apache的軟體依賴關係

卸載軟體

rpm -e httpd   //卸載apache

1.3 問題

雖然用RPM包來安裝軟體免去了編譯源代碼的麻煩,但軟體之間的屬性依賴問題並沒有解決,有的時候,為了安裝某個軟體,你不得不先要安裝N個其他的軟體才行。


2 YUM

2.1 介紹

為瞭解決軟體依賴的問題,已經為了給用戶提供一種更加方便簡單的軟體安裝方法, YUM被開發出來了。 YUM 是Yellowdog Updater Modified 的縮寫. YUM 是建立在RPM的基礎之上的, 為用戶提供軟體安裝,升級,卸載的功能。YUM最大的好處是解決了軟體依賴的問題。YUM 把很多軟體的RPM包放在RPM 容器(repository)中, 用YUM 方式來安裝軟體的時候,會自動分析你要安裝的軟體的依賴關係,並會自動幫你安裝必須的“依賴軟體”, 這樣就解決了最為困擾用戶的軟體依賴的問題。

2.2 命令

查詢功能

yum list/search /info   xxx
例如:yum list httpd   //檢查apache是否已經安裝
yum info httpd  //查看apache的詳細信息, 類似 rpm -qi httpd
yum search httpd  //查詢和 apache (httpd)相關的軟體

安裝升級

yum install httpd
yum update httpd

卸載軟體

yum remove httpd

3 dpkg

3.1 介紹

用於Ubuntu。

dpkg 是一種比較低層的軟體包安裝管理工具,在安裝時,不會安裝軟體包的依賴關係;只能安裝所要求的軟體包。

dpkg通常用於 安裝.deb文件,不會自動解決軟體安裝過程中的依賴關係。

3.2 命令

dpkg -i package_name.deb  #安裝本地軟體包,不解決依賴關係
dpkg -r package #刪除軟體包
dpkg -P #刪除軟體包及配置文件

4 apt-get

4.1 介紹

用於Ubuntu。

apt-get 是一種高級的軟體包管理工具,在安裝軟體時,會自動解決軟體安裝過程中的依賴關係;

ap-get remove 不會自動刪除不需要的軟體包。

4.2 命令

apt-get install package #線上安裝軟體包
apt-get install package --reinstall   #重新安裝軟體包
apt-get remove package  #刪除軟體包
apt-get remove package --purge      #刪除軟體包及配置文件
apt-get autoremove #刪除不再需要的軟體包
apt-get clean #清除 /var/cache/apt/archives 目錄
apt-get autoclean #清除 /var/cache/apt/archives 目錄,不過只清理過時的包
apt-get build-dep package #解決編譯源碼 package 的依賴關係

5 aptitude

5.1 介紹

用於Ubuntu。

aptitude 是一種帶有UI界面的更高級的軟體包安裝管理工具,自動解決軟體包安裝中的依賴關係;並且在刪除的時候,會自動刪除不需要的軟體依賴關係安裝包;更加的智能,高效。


6 參考資料


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 基本原理和步驟其實都是一樣的(可參看上一篇“MySQL的事務處理”),PDO中的事務處理就是調用PDO對象的三個方法: 開啟事務:beginTransaction 回滾操作:rollBack 執行操作:commit 事務處理最典型的就是借還錢。下麵以張三向李四還1000元為例 首先看一下資料庫中各自 ...
  • 步驟: 1.開啟事務 start transaction 當我們開啟一個事務的時候,我們對sql的操作都發生在記憶體中,但是沒有真正的反饋到資料庫磁碟的文件中! 2.回滾 rollback 回滾,就是恢復到事務開啟之前的最原始的狀態! 註意:回滾操作會自動的關閉一個事務,如果想再次執行事務,需要重新開 ...
  • 第一招、mysql服務的啟動和停止 net stop mysql net start mysql 第二招、登陸mysql 語法如下: mysql -u用戶名 -p用戶密碼 鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提 ...
  • 整體結構 首先創建一個名為employee的資料庫 create database employee; 然後在該資料庫下建一張表 然後就是項目和資料庫進行聯繫,然後操作資料庫(增刪改查) 如果看了上一個項目大家應該被每次操作都要重新連接資料庫而煩惱,而且代碼具有高度的重覆性,那麼我們把相同的代碼封裝 ...
  • 如何讓一個表的時間欄位,隨著用戶對該行操作修改時自動更新 顯示表的所有欄位 數值列類型取值範圍及占用位元組 字元串列類型最大尺寸及占用位元組 時間列類型取值範圍及占用位元組 ...
  • Cygwin Unable to get setup from * 錯誤 解決方案 是因為用自定義鏡像站點,比如 http://mirrors.xdlinux.info/cygwin/x86_64/ 安裝x86_64位Cygwin時,因為多加了/導致Cygwin安裝程式找不到steup 換成如下即可 ...
  • shell的性質 Linux系統的shell相當於操作系統的“一層外殼”,它是命令語言解釋器,它為用戶提供了使用操作系統的介面。它不屬於內核,而是在內核之外以用戶態方式運行。它的基本功能是解釋並執行用戶打入的各種命令,實現用戶與Linux內核的介面。 個人理解:shell就是普通的用戶態程式,能夠理 ...
  • 前言:學習通配符有點為正則表達式打基礎的感覺……之前學python有學過正則表達式,所以這篇博客學起來還是挺快的。 特殊符號 通配符 他是shell的內置功能通配符,用過DOS的應該很瞭解,也很常用。通配符,指包含這些字元的字元串“?”,“*”,“[]”,{} 通配符含義 >匹配文件名 通配符詳解 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...