Linux 應用程式的安裝和管理

来源:https://www.cnblogs.com/llife/archive/2019/08/20/11380863.html
-Advertisement-
Play Games

在 Linux 中,有三種安裝軟體的方式,分別是 RPM 包安裝、YUM 源安裝、源代碼編譯安裝。 ...


CentOS-Logo

Linux中,有三種安裝軟體的方式,分別是RPM包安裝、YUM源安裝、源代碼編譯安裝。


常見應用程式目錄結構

類型 路徑
普通用戶可執行文件 /usr/bin
管理員可執行文件 /usr/sbin
配置文件 /etc
日誌文件 /var/log
應用程式參考文檔 /usr/share/doc
執行文件、配置文件的man手冊 /usr/share/man

常見軟體包封裝類型

  • RPM

擴展名.rpm,只能在使用rpm機制的Linux中安裝,如RHELCentOS

  • DEB

擴展名.deb,只能在使用dpkg機制的Linux中安裝,如DebianUbuntu

  • 源代碼軟體包

包含原始代碼的.tar.gz.tar.bz2的壓縮包TarBall,安裝需要相應的編譯工具,CC++

  • 附帶安裝程式的軟體包

軟體包中提供install.shsetup等,運行以根據嚮導程式的提示完成安裝操作。


RPM包

查詢 RPM 包信息

已安裝

  • rpm -q[子選項] [準確的軟體名]

-qa:顯示所有以RPM方式安裝的軟體
-qi:查看指定軟體包的名稱、版本等詳細信息(--info)
-ql:顯示指定軟體包安裝的所有目錄、文件列表(--list)
-qf:查看指定的文件或目錄是由哪個軟體包所安裝的(--file)

[root@localhost ~]# rpm -qa
linux-firmware-20170606-56.gitc990aae.el7.noarch
centos-release-7-4.1708.el7.centos.x86_64
kbd-1.15.5-13.el7.x86_64
setup-2.8.71-7.el7.noarch
……      //省略
[root@localhost ~]# rpm -qa | wc -l
343
[root@localhost ~]# rpm -q vim-common
vim-common-7.4.160-6.el7_6.x86_64
[root@localhost ~]# rpm -qa | grep vim
vim-filesystem-7.4.160-6.el7_6.x86_64
vim-enhanced-7.4.160-6.el7_6.x86_64
vim-common-7.4.160-6.el7_6.x86_64
vim-minimal-7.4.160-2.el7.x86_64
[root@localhost ~]# rpm -qi vim-common
Name        : vim-common
Epoch       : 2
Version     : 7.4.160
Release     : 6.el7_6
Architecture: x86_64
Install Date: Tue 20 Aug 2019 03:18:40 PM CST
Group       : Applications/Editors
Size        : 22146036
License     : Vim
Signature   : RSA/SHA256, Mon 01 Jul 2019 09:34:28 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-6.el7_6.src.rpm
Build Date  : Fri 28 Jun 2019 09:59:48 PM CST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : The common files needed by any version of the VIM editor
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-common package contains files which every VIM binary will need in
order to run.

If you are installing vim-enhanced or vim-X11, you'll also need
to install the vim-common package.
[root@localhost ~]# rpm -ql vim-common
/etc/vimrc
/usr/bin/xxd
/usr/share/doc/vim-common-7.4.160
/usr/share/doc/vim-common-7.4.160/Changelog.rpm
/usr/share/doc/vim-common-7.4.160/LICENSE
……      //省略
[root@localhost ~]# which vim
/usr/bin/vim
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-6.el7_6.x86_64

未安裝

  • rpm -qp[子選項] 軟體路徑

-qpi:查看指定軟體包的名稱、版本等詳細信息
-qpl:顯示指定軟體包准備安裝的所有目標目錄、文件列表

[root@localhost ~]# cd /mnt/cdrom/Packages/
[root@localhost Packages]# rpm -qpi vim-common-7.4.160-2.el7.x86_64.rpm
Name        : vim-common
Epoch       : 2
Version     : 7.4.160
Release     : 2.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/Editors
Size        : 22146173
License     : Vim
Signature   : RSA/SHA256, Fri 11 Aug 2017 04:15:28 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-2.el7.src.rpm
Build Date  : Wed 02 Aug 2017 08:46:12 AM CST
Build Host  : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : The common files needed by any version of the VIM editor
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-common package contains files which every VIM binary will need in
order to run.

If you are installing vim-enhanced or vim-X11, you'll also need
to install the vim-common package.
[root@localhost Packages]# rpm -qpl vim-common-7.4.160-2.el7.x86_64.rpm
/etc/vimrc
/usr/bin/xxd
/usr/share/doc/vim-common-7.4.160
/usr/share/doc/vim-common-7.4.160/Changelog.rpm
/usr/share/doc/vim-common-7.4.160/LICENSE
……      //省略

安裝、升級、卸載

-i:安裝
-e:卸載
-U:檢查升級,未安裝則安裝
-F:檢查升級,未安裝則不安裝
--force:強制安裝
--nodeps:安裝、卸載、升級時,不檢查與其他軟體包的依賴問題。
-h:安裝、升級時,以#顯示進度。
-v:顯示安裝過程詳細信息。

  • rpm -ivh:安裝
[root@localhost Packages]# rpm -ivh wget-1.14-15.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:wget-1.14-15.el7                 ################################# [100%]
  • rpm -evh:卸載
[root@localhost Packages]# rpm -evh wget
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:wget-1.14-18.el7_6.1             ################################# [100%]
  • rpm --rebuilddbrpm --initdb:當RPM資料庫損壞時,重建。
[root@localhost Packages]# rpm --rebuilddb
[root@localhost Packages]# rpm --initdb

YUM源

  • 安裝、卸載
yum install 軟體名
yum remove 軟體名 / yum erase 軟體名
  • 搭建本地YUM

1.掛載光碟

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1015M   16G   6% /
devtmpfs                devtmpfs  901M     0  901M   0% /dev
tmpfs                   tmpfs     912M     0  912M   0% /dev/shm
tmpfs                   tmpfs     912M  8.7M  904M   1% /run
tmpfs                   tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  143M  872M  15% /boot
tmpfs                   tmpfs     183M     0  183M   0% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0 100% /mnt/cdrom

2.備份已有的YUM

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS-* bak/

3.新建本地YUM

vi /etc/yum.repo.d/local.repo
[local]
name = centos7.4
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1

4.緩存重建

yum clean all
yum list

源代碼

概述

  • 需要使用源代碼安裝的情況:

1.安裝較新版本的應用程式時
2.當前安裝的程式無法滿足應用需求
3.為應用程式添加新的功能

特點:源代碼編譯安裝為使用者提供了更加靈活的程式功能定製途徑,還能獲得最新版本,及時修複BUG

  • 完整性校驗(考慮安全因素)
md5sum 壓縮包名
  • 開發環境(編譯需要)

gccmake時由GUN項目所貢獻的功能強大的C/C++語言編譯器。

gcc --version
make --version

編譯安裝過程

  • 下載源代碼安裝包文件

  • 解包、配置、編譯、安裝

序號 操作 用途
1 tar 解包 解壓並釋放源代碼包到指定目錄
2 ./configure 配置 設置安裝目錄、安裝模塊等選項
3 make 編譯 生成可執行的二進位文件
4 make install 安裝 複製二進位文件到系統,配置應用環境
  • 測試及應用、維護軟體

以後會有關於源代碼安裝的例子,這裡不做過多介紹。


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

-Advertisement-
Play Games
更多相關文章
  • windows系統: 部署了一個Tomcat8.5.15,bin目錄下startup.bat執行,結果提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these envi ...
  • 查看zabbix_agentd.log時出現下列錯誤 [root@4gronghe_110 ~]# tail /var/log/zabbix/zabbix_agentd.log 1266:20140523:063554.157 no active checks on server [127.0.0. ...
  • 什麼是虛擬機? 虛擬化是在Host操作系統之上導入Guest操作系統的技術。這種技術最初是一個啟示,因為它允許開發人員在同一主機上運行的不同虛擬機中運行多個操作系統。這消除了對額外硬體資源的需求。 虛擬機或虛擬化的優點是: 多個操作系統可以在同一臺機器上運行 在出現故障的情況下,維護和恢復很容易 由 ...
  • 總結: 遇到的問題:No support for locale: zh_CN.utf8 可能的解決方法:1.sudo dpkg-reconfigure locale (重新配置?) 2.上一步失敗,提示locale 未安裝,於是安裝之: sudo dpkg-reconfigure locale 3. ...
  • (一) 軟體介紹由俄羅斯人lgor Sysove開發,為開源軟體。支持高併發:支持幾萬併發連接(特別是靜態小文件業務環境) 資源消耗少:在3萬併發連接下開啟10個Nginx線程消耗記憶體不到200M 支持非同步網路I/O事件模型epoll(Linux2.6+) apache(select)功能介紹 1. ...
  • SPI協議簡述 SPI,是英語Serial Peripheral interface的縮寫,顧名思義就是串列外圍設備介面。由Motorola首創。SPI介面主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信匯流排 ...
  • 一、安裝時間同步工具 二、同步時間 1、修改時區 2、同步時間 3、寫入硬體時間 4、自動時間同步 ...
  • 在 Linux 中,如何管理用戶、管理許可權?請看下文,謝謝配合。 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...