Linux 软件的安装
1.通過源碼安裝軟件
- 什么是源碼包?
- 源碼包就是一些附帶有程序的源代碼、configure文件、說明文檔的安裝包
- 一般以tar打包。在用壓縮軟件進行壓縮,比如tar.gz或者tar.bz2文件
- 需要自定義參數進行編譯,之后進行安裝
以memcached的源碼包安裝為例:
-
- 最新安裝路徑: http://memcached.org/files/memcached-1.4.25.tar.gz
- 在Linux終端輸入:wget http://memcached.org/files/memcached-1.4.25.tar.gz(wget 需要Linux網絡鏈接正常)
- 下載成功后,需要解壓縮指令 tar xzvf memcached-1.4.25.tar.gz
- configure
- 自定義參數
- 配置安裝環境,必要性檢查
- 生成makefile文件
- make&install
- 編譯生成二進制文件
- 執行安裝
- 使用源碼包進行軟件安裝過程
- 獲取源碼安裝包,如去官網下載
- 解壓縮,閱讀install和readme文件,獲取安裝說明
- 根據安裝說明安裝好該軟件依賴的其他軟件
- 通過運行configure文件,執行檢查安裝環境,定義必要參數(所依賴的其他軟件和參數)通過后,建立makefile文件
- 根據聲生成的makefile文件,通過make指令進行編譯操作
- 根據makefile中要install的內容,將上步中變異好的二進制文件安裝到系統中
- 常用指令
- ./configure -help,查看參數信息,簡歷makefile文件
- make clean,讀取makefile中關于clean的內容執行clean操作(非必須)
- make,根據makefile中的設置執行編譯操作
- make install,將編譯的二進制文件安裝到系統中
2.RPM、SRPM、YUM概述
- RPM
- RedHat Package Manager 的簡稱,RedHat包管理器
- 以數據庫記錄的方式將軟件安裝到Linux
- 軟件包事先編譯好并且打包成RPM機制的文件,類似于Windows的安裝程序
- 軟件信息都已記錄在了本地數據庫中,方便查詢、升級、卸載
- 不允許自定義參數和設置、限制較多
- SRPM
- Source RPM,附帶源代碼的RPM包,擴展名為src.rpm命名
- 不可以直接安裝,需要通過編譯后再安裝
- 可以修改參數文件自定義配置項
- 和RPM比較類似
- YUM
- Yellow dog Updater Modified的簡稱,基于RPM包管理
- 能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴關系,并且一次安裝所有依賴的軟件包,無需繁瑣的一次次下載、安裝
- 使用簡單、方便。相比windows的軟件安裝更加方便,類似于在java web項目開發中的Maven,自動管理這種依賴關系。
3.使用RPM安裝軟件
- 默認安裝路徑
- 在windows下,軟件安裝的默認路徑是在C盤下的一個命名為Program File的路徑下單獨命名一個軟件的目錄,所有和該軟件相關的文件都安裝在該路徑下
- 在Linux下,
- 配置文件,一般放在/etc目錄下
- 可執行文件,/usr/bin
- 程序使用的函數庫,/usr/lib
- 軟件使用手冊、說明,/usr/share/doc
- 軟件的詳細說明,/usr/share/man man page
- RPM安裝
- www.rpmfind.net(法國里昂一個查找rpm的服務)下載安裝
- Linux鏡像掛在光盤安裝
- rpm [-ivh] rpm1 rpm2------安裝rpm1、rpm2并顯示進度和詳情
- --nodeps:忽略所有依賴問題執意安裝
- --replacefiles:對應已經安裝過的某個文件進行覆蓋安裝
- --replacepkgs:對已經安裝過的軟件重新安裝
- --force:相當于--replacefiles和--replacepkgs
- --test:測試該軟件能否被正確安裝(rpm -ivh fileName --test)
- --justdb:RPM數據庫損壞或者產生錯誤時,更新數據庫信息
- --nosignature:忽略數字簽名的檢查
- --prefix:改變軟件的默認安裝路徑
- --noscripts:禁止RPM執行一些后置指令,如一些初始化指令(類似于在windows環境下安裝軟件成功后會初始化一些配置等)
- RPM升級
- -Uvh:如果安裝則更新,沒有安裝直接安裝
- rpm -qa python(查看當前python安裝的版本) rpm -Uvh python-1.x.x --nodeps(對python進行不依賴升級)
- -Fvh:只有軟件安裝過才會升級,進行純粹的升級
- RPM查詢
- -q:只查詢軟件是否安裝
- -qa:列出本機安裝的所有軟件名稱,可以通過|grep過濾
- -qi:列出軟件的詳細信息,開發商、版本、說明等
- -ql:列出該軟件所有的文件,躲在目錄的完整名
- -qc:列出該軟件所有的配置文件
- -qR:列出該軟件依賴的其他軟件
- -qf:查詢某個文件屬于哪個軟件所有
- RPM驗證
- -V:查詢軟件所有被修改過的文件
- -Va:列出本機所有有可能被修改過的程序文件
- -Vp:接文件名,列出該軟件可能被修改的文件
- RPM的卸載與數據庫重建
- 主要要從上到下一次卸載,先卸載不被其他任何軟件依賴的軟件
- -e:卸載軟件(rpm -e python)
- -rebuilddb:重建RPM的數據庫
4.使用YUM安裝軟件
安裝好Linux系統之后,Linux服務商(RedHat)需要我們注冊一下,才能使用yum安裝軟件,類似windows的注冊一樣。這里,由于用yum安裝軟件可能會對系統Linux造成損壞,所以在安裝軟件之前,我們需要將當前系統快照保存一下,類似windows中的系統備份一樣,以供我們在安裝軟件過程中對系統造成損壞之后,可以“一鍵還原”,避免重裝系統的麻煩。
Liunx的注冊比較麻煩和繁瑣。所以我們可以事先編輯好一個Linux注冊配置的shell腳本,
腳本內容:
#!/bin/bash
rpm -qa |grep yum|xargs rpm -e -nodeps
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm
rpm -ivh yum-*
cd /etc/yum.repos.d/
mv rhel-debuginfo.repo rhel-debuginfo.repo.bakup
mv rhel-source.repo rhel-source.repo.bakup
wget http://www.linuxidc.com/files/2001/05/06/CentOS-Base.repo
yum makecache
編寫保存shell腳本:vim yumInstall.sh
運行腳本:sh yumInstall.sh(這個運行的操作具體是卸載RHEL的yum,然后安裝CentOS的yum)
- 查詢 yum[list|infosearch|provides|whatprovides] 參數
- search:查詢某個程序的名稱或者描述(yum search mysql)
- list:列出當前yum所管理的所有軟件以及版本(rpm -qa) ----yum list
- info:查詢軟件的功能版本說明(rpm -qai) ----yum info mysql
- provides:通過文件查詢所屬軟件(rpm -qf)
- 安裝、升級,yum[install|update]程序名稱
- 安裝 yum install mysql
- 升級 yum update mysql
- 卸載程序 yum[remove]
- yum remove mysql
- yum配置
- /etc/yum.repos.d/CentOS-Base.repo
- yum clean[package|headers|all]
- 緩存/var/cache/yum
?
轉載于:https://www.cnblogs.com/albert-xm/p/5138530.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Linux 软件的安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SFTP例子2----使用JSch实现S
- 下一篇: linux下文件夹压缩解压.tar ,