Linux之軟件安裝4種方式

一.源碼安裝(編譯安裝)

步驟:

         1)解壓源碼後進入源碼所在文件夾,運行./configure命令,進行環境測試,如果提示缺少某些安裝包就進行安裝,直至測試通過.
         2)還可以在./configure後面加上軟件的安裝路徑及安裝所需的模塊等選項,來定製用戶需要的軟件功能;(./configure --prefix=/usr/local/ #指定安裝路徑,還可以在此處加上"\",選擇需編譯的模塊)
         3)通常軟件安裝都需要GCC或CC編譯器;這些編譯器一般在安裝系統時定製安裝包中的開發工具選項下;  

  1. 下載,解壓源碼(常見的源碼打包格式:.tar.gz/.tar.bz2);  ——可以直接下載源碼再上傳至linux服務器,或者在聯網狀態下,直接通過wget等命令獲取源碼安裝包;源碼解壓後會有README文件,應先閱讀;
  2. 分析安裝平臺環境(運行configure文件: ./configure)
  3. 編譯(make)    ——進入軟件安裝的文件夾,運行make命令;
  4. 安裝(make install)    ——進入軟件安裝的文件夾,運行make install命令;

舉例:安裝redis (redis-3.0.0.tar.gz)

  1. 將下載好的源碼文件上傳至Linux,(通過SecureCRT, put 路徑),會直接上傳至Linux的用戶目錄(主目錄)下;
  2. 解壓文件:tar -zxvf redis-3.0.0.tar.gz
  3. 編譯:進入解壓後的文件夾裏,運行make,會將.c文件編譯爲.o文件;
  4. 安裝(可以在此步驟指定安裝路徑,沒有會創建): make prefix=/usr/local/redis install;安裝完成後在/usr/local/redis/bin/下會發現幾個可執行文件:
    • redis-benchmark --性能測試工具;
    • redis-check-aof --AOF文件修復工具;
    • redis-check-dump --RDB文件檢查工具;
    • redis-cli --命令行客戶端;
    • redis-server --redis服務器啓動命令
  5. 從解壓的源碼文件夾裏copy配置文件(redis.conf)至/usr/local/redis/文件夾下;進入解壓後的源碼文件夾,cp redis.conf /usr/local/redis
  6. 修改配置文件,以後端模式啓動.(修改配置文件爲:daemonize yes)
  7. 啓動redis: 進入安裝文件夾,./bin/redis-server ./redis.conf

優點:

  1. 開源,如果有足夠的能力,可以修改源代碼
  2. 可以自由選擇所需的功能;
  3. 軟件是編譯安裝,所以更加適合自己的系統,更加穩定、效率更高;
  4. 卸載方便;

缺點:

  1. 安裝過程步驟較多,尤其安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤;
  2. 編譯過程時間較長,安裝比二進制安裝時間長;
  3. 因爲是編譯安裝,安裝過程中一旦報錯新手很難解決;

舉例:安裝MySQL

1、用root登錄系統,增加mysql用戶和組
groupadd mysql
useradd -g mysql mysql
2、解壓源碼包,並進入解壓後的目錄
tar xvfz mysql-5.1.38.tar.gz
cd mysql-5.1.38
3、用configure工具來編譯源代碼,這裏我們可以使用很多的參數,具體可以用configure --help來查看,這裏我們將mysql安裝到/usr/local/mysql下
./configuer --prefix=/usr/local/mysql
make
make install
4、選擇一個樣例配置文件,並複製到/etc/下改名爲my.cnf
cp support-files/my-medium.cnf /etc/my.cnf
5、在數據庫目錄下創建系統數據庫的表,--user表示這些數據庫和表的所有者爲此用戶
cd /usr/local/mysql
./bin/mysql_install_db --user=mysql
6、設置目錄權限,將var目錄的所有者更改爲mysql,其它目錄和文件的所有者爲root
chown -R root .
chown -R mysql var
chgrp -R mysql .
7、啓動mysql
./bin/mysqld_safe --user=mysql & (在末尾添加一個&符號,讓其在後臺運行)

二.RPM包方式安裝(使用RPM工具,安裝.rpm/.src.rpm格式的文件)

步驟:

  1. 安裝之前先查詢是否包含相關軟件:rpm -qa | grep -i 或者 rpm -q 包名
  2. 存在則移除:rpm -e --nodeps 軟件名 #nodeps:不驗證套件間的相互關聯性
  3. 存在老版本,則更新:rpm -Uvh 包全名(要升級到的軟件版本),如果沒有安裝這個軟件的任何版本,可用下面命令替代
  4. 安裝:rpm -ivh 包全名-i(install) 安裝; -v(verbose) 詳細信息; -h(hash) 進度
  5. 卸載命令:rpm -e 包名(比如Httpd,不需要包全名)

優點:

  1. 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載;
  2. 安裝速度比源碼包安裝快的多;

缺點:

  1. 經過編譯,不再可以看到源代碼;
  2. 功能選擇不如源碼包靈活;
  3. 依賴性;

RPM包依賴性:

  1. a、樹形依賴:a->b->c 解決方法:從後往前安裝
  2. b、環形依賴:a->b->c->a 解決方法:放在一條命令中安裝即可
  3. c、模塊依賴:庫文件依賴,庫也叫模塊,就是linux當中的函數,它有一個典型的特徵,就是以【.so.數字】結尾,它依賴的其實是一個文件,而不是軟件包。該文件藏身在某一個軟件包當中。我們只要將該文件所在的軟件包安裝上,該文件也就安裝了。解決方法:登錄www.rpmfind.net網站,輸入庫文件名稱查詢到對應的rpm包,然後安裝即可。

注:對於要求效率的軟件,要安裝源碼包版本,因爲是本機編譯,更具有兼容性和效率,rpm包是軟件開發者提供的大衆版本,可用於不注重效率的應用。 

舉例:安裝MySQL

   首先,可以從安裝光盤中或者到mysql的網站上下載對應版本的rpm包如下:
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm

   接着,我們可以使用rpm命令進行安裝:
rpm -ivh MySQL-server-community-5.1.38-0.rhel5.i386.rpm
rpm -ivh MySQL-client-community-5.1.38-0.rhel5.i386.rpm

三.yum安裝(推薦)

通過yum進行軟件安裝或系統升級的實質就是通過yum命令下載指定的遠程互聯網主機上的RPM包,然後自動進行安裝,同進解決相互間的依賴關係.

基本用法:

  1. 安裝rpm包,如dhcp: yum install dhcp
  2. 刪除rpm包及依賴包: yum remove dhcp
  3. 檢查可更新的rpm包:yum check-update
  4. 更新所有:yum update
  5. 更新指定的rpm包:yum update dhcp
  6. 大規模升級版本,包括陳舊的包: yum upgrade
  7. 列出已經安裝的所有rpm包: yum list installed
  8. 搜索匹配特定字符的rpm包的詳細信息: yum search wget
  9. 搜索包含特定文件名的rpm包: yum provides realplay

可以方便的解決RPM安裝依賴文件,一條命令就可以幫用戶從網上(本地也可以)找到安裝包進行安裝。

注:RedHatyum是收費服務,而CentOSyum是免費服務。

舉例:安裝MySQL

  1. 安裝mysql服務端:yum install mysql-server
  2. 授權所有庫的所有表,root用戶的所有地址都可訪問:grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
  3. 刪除重複配置:show database;  use mysql;show tables;desc user;select Host,User,password from user;delete from user where Host!='%';(注:這是一個大坑,害得我搞了半天;該步驟不能省,否則刷新權限,密碼還是不能生效)
  4. 刷新權限:flush privileges;  (或者重啓Linux的mysql服務:service mysqld start)
  5. 退出重新登錄: 1、quit(或者exit)  2、mysql -uroot -p123 (命令語句後面可以不加分號)

四.二進制軟件安裝(.rpm/.tar.gz/.tgz/.bz2)--又稱腳本安裝包

Linux下二進制格式的軟件是指事先已經在各種平臺編譯安裝好的相關軟件,然後壓縮打包,安裝時只需解壓或,或者執行可安裝文件即可;如tomcat/Oracle/Weblogic

如:lnmp/lamp LNMP一鍵安裝包,就是把複雜的軟件包安裝過程寫成了程序腳本,初學者可以執行腳本實現一鍵安裝。但實際安裝的還是源碼包和二進制包

優點:安裝簡單、快捷;

缺點:完全喪失了自定義性;

二進制軟件包常見的打包格式包括.rpm/.tar.gz/.tgz/.bz2;直接解壓到安裝文件夾即可完成安裝;刪除時直接刪除對應的文件夾,如果解壓後文件分散在多個目錄,需要一一刪除;

對於提供了安裝程序的軟件包,直接進入目錄,運行類似於setup/install/install.sh之類的文件,然後跟隨提示進行相應設置,之後安裝就自動完成;

舉例1:安裝java jdk(主要看環境變量配置)

  • 解壓JDK: tar -zxvf jdk-7u72-linux-i586.gz
  • 移動jdk至安裝文件夾:
    • mkdir /usr/local/src/java
    • mv jdk1.7.0_72/ /usr/local/src/java/jdk1.7 #將jdk1.7.0_72下在所有內容稱至新文件夾jdk1.7之下,並且刪除原文件夾(jdk1.7.0_72)
  • 配置系統環境變量
    • vim /etc/profile #添加以下兩句
    • export JAVA_HOME=/usr/local/src/java/jdk1.7
    • export PATH=$JAVA_HOME/bin:$PATH
  • 使配置生效並測試
    • source /etc/profile
    • java -version

舉例2:安裝tomcat(主要看防火牆配置)

  • 解壓: tar -zxvf apache-tomcat-7.0.52.tar.gz
  • 移動: mv apache-tomcat-7.0.52 /usr/local/src/java/tomcat7
  • 啓動:/usr/local/src/java/tomcat7/bin/startup.sh
  • 配置防火牆:

     

    • vim /etc/sysconfig/iptables
    • -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT #開放8080端口
    • service iptables restart #重啓防火牆

舉例:安裝MySQL

1、用root登錄系統,增加mysql用戶和組
groupadd mysql
useradd -g mysql mysql
2、解壓二進制包,假如二進制包放在/home/mysql下,我們在解壓後並增加一個符號鏈接
tar xvfz mysql-5.1.38-linux-i686-glibc23.tar.gz
ln -s mysql-5.1.38-linux-i686-glibc23 mysql
3、在數據庫目錄下創建系統數據庫的表,--user表示這些數據庫和表的所有者爲此用戶
cd mysql
./scripts/mysql_install_db --user=mysql
4、設置目錄權限,將data目錄的所有者改爲mysql,其它目錄的文件的所有者爲root
chown -R root:mysql .
chown -R mysql:mysql data
5、啓動mysql
./bin/mysqld_safe --user=mysql & (在末尾添加一個&符號,讓其在後臺運行)

總結:其實Linux中軟件包只有源碼包二進制(RPM)包兩種軟件安裝包。 

部分摘自:https://blog.csdn.net/liukai6/article/details/78367804

https://blog.csdn.net/yizhou35/article/details/12172499#commentBox

https://blog.csdn.net/u011291990/article/details/80693925

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章