SRPM具體使用過程

SRPM

簡介:SRAM是Source RPM的意思,就是RPM的源代碼的意思,這個SRPM就是沒有經過編譯的源代碼。如果我們想要安裝一個SRPM軟件,那么就必須:

  1. 先將該軟件以RPM管理的方式編譯,將SRPM編譯成為RPM文件

  2. 然后將編譯完成的RPM文件安裝到Linux系統中。

一.程序包編譯:

  • 程序包編譯安裝:

  • Application-VERSION-release.src.rpm –> 安裝后,使 用rpmbuild命令制作成二進制格式的rpm包,而后再安裝

  • 源代碼–>預處理–>編譯(gcc)–>匯編–>鏈接–>執行

  • 源代碼組織格式:

多文件:文件中的代碼之間,很可能存在跨文件依賴關系

C、C++:make (項目管理器,configure –> Makefile.in –> makefile) java: maven

二.源碼安裝需要的管理工具

  • C代碼編譯安裝三步驟:

1、./configure:

    (1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執 行時會參考用戶的指定以及makefile.in文件生成makefile

    (2) 檢查依賴到的外部環境

2、make:根據makefile文件,構建應用程序

3、make install:復制文件到相應路徑

    • 開發工具:

autoconf: 生成configure腳本

automake:生成Makefile.in

    • 注意:安裝前查看INSTALL,README

三.編譯安裝的步驟

    • 第一步:configure腳本

    選項:指定安裝位置、指定啟用的特性

        –help: 獲取其支持使用的選項

    選項分類:

    安裝路徑設定:

            –prefix=/path/to/somewhere      軟件默認安裝位置(/usr/local)

            -sysconfdir=/PATH/to/CONFFILE_PATH 指定配置文件路徑(若不指定路徑則安裝在默認的路徑下)

System types:支持交叉編譯

       Options Features: 可選特性

        –disable-FEATURE

        –enable-FEATURE[=ARG]

Optional Packages:可選包即依賴的包。

        –with-PACKAGE[=ARG]依賴包

        –without-PACKAGE禁用依賴關系

    • 第二步:開始編譯安裝:

    • 第三部:安裝后所需操作:

(1) 導出為二進制程序目錄至PATH環境變量中:

 作用:修改PATH環境變量,以能夠識別此程序的二進制文件路徑:

    編輯文件/etc/profile.d/NAME.sh

    export PATH=/PATH/TO/BIN:$PATH

    修改/etc/profile文件

    在/etc/profile.d目錄建立一個以.sh為名稱后綴的文件,在里面定義export PATH=$PATH:/path/to/somewhere 也可在/etc/profile添加此路徑。

(2) 導入庫文件路徑

    編輯/etc/ld.so.conf.d/NAME.conf

    添加新的庫文件所在目錄至此文件中,在/etc/ld.so.conf中創建以.conf為后綴名的文件,而后把要增添的路徑直接寫至此文件中;

    讓系統重新生成緩存:

    ldconfig [-v]

(3) 導入頭文件

    基于鏈接的方式實現:

    ln -sv

    增添頭文件搜尋路徑,使用鏈接進行;

      /usr/local/”xx”/include/     /usr/include/

  兩種方式:

       ln  -sv  /usr/local/”xx”/include/*   /usr/include/

       ln  -sv  /usr/local/”xx”/include    /usr/include/”xx”

(4) 導入幫助手冊

      man文件路徑:安裝在—prefix制定的目錄下的man目錄: /usr/share/man

    • man  -M  /PATH/to/MAN_DIR     COMMAND

    • 在輯/etc/man.config|man_db.conf中添加一條MANPATH

一、實例:

1、輸入若干個數值存入數組中,采用冒泡算法進行升序或降序排序

blob.png

#!/bin/bash

echo "please input a number list"

read -a arrs

for((i=0;i<${#arrs[@]};i++)){

for((j=0;j<${#arrs[@]}-1;j++)){

if [[ ${arrs[j]} -gt ${arrs[j+1]} ]];then

tmp=${arrs[j]}

arrs[j]=${arrs[j+1]}

arrs[j+1]=$tmp

fi

}

}

echo ${arrs[@]}

2、源碼安裝apache

首先安裝lftp使用它進入教室網絡環境。

blob.png

找到http路徑

blob.png

解壓縮

blob.png

blob.png

make編譯  make install安裝

blob.png


blob.png

之后在配置man配置文件

blob.png

成功

blob.png

原創文章,作者:502795641,如若轉載,請注明出處:http://www.www58058.com/39912

(1)
502795641502795641
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • 第四周作業

    1. 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 [root@localhost ~]# chmod -R g=,o=  /home/tuser1 [root@localhost home]# ll drwx——  3 root&…

    Linux干貨 2016-12-26
  • 馬哥教育網絡班22期+第13周課程練習

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; &n…

    Linux干貨 2016-12-05
  • Linux學習

    計算機的組成及功能 計算機硬件由運算器、控制器、存儲器、輸入設備和輸出設備五大部件組成。運算器:進行算術和邏輯運算。控制器:負責協調和指揮整個計算機的工作存儲器:存儲程序、數據和文檔。輸入設備:用于將各種數據輸入計算機中。輸出設備:用于將計算機中的數據輸出到相應設備上。   計算機軟件總體分為系統軟件和應用軟件兩大類:系統軟件是各類操作系統,如wi…

    Linux干貨 2017-12-03
  • 文本處理工具練習題(包含正則)

    正則練習題(包含文本處理練習題) 問題 找出ifconfig命令結果中本機的所有IPv4地址  查出分區空間使用率的最大百分比值 查出用戶UID最大值的用戶名、UID及shell類型 查出/tmp的權限,以數字方式顯示 統計當前連接本機的每個遠程主機IP的連接數,并按從大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干貨 2016-08-08
  • Web服務,http協議。

    一·web   1。web是一種網站服務器,C/S架構,比較流行的Apache,Nginx,IIS??蛻裟軌蛉シ掌髡埱筚Y        資源。   2.使用http協議,服務器html或者xml格式文件,客戶瀏覽器訪問資源(url)。   3.過程包括服務器套接字監聽直到和客戶套接字建立…

    Linux干貨 2015-07-04
  • LVS小記

    19.LVS小記    LVS的類型:        nat:是一種基于IP的DNAT的,通過目標端口與目標地址利用特定的算法選取出響就的主機進行響應,通過RS(Real Server)的地址和端口進行轉發            特點:&n…

    2017-05-15
欧美性久久久久