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 20:24
下一篇 2016-08-24 21:21

相關推薦

  • GPG——另一種加密信息的方式

    GPG ·使用gpg實現對稱加密 ·對稱加密file文件          gpg -c file          ls file.gpg ·在另一臺主機上解密file   &n…

    Linux干貨 2016-09-22
  • N26-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。(盜圖了,哈哈哈) 文件查看類命令:cat, tac, head, tail, more, less,touch    cat 查看文件內容   tac命令   反向查看文件內容  注:可對照上圖 分屏查看命令:more  …

    Linux干貨 2017-01-07
  • 讀寫執行權限對文件和目錄的影響

    權限的作用 對于linux運維工作來說,熟練掌握文件管理技能是非常重要的,所謂“一切皆文件”,控制住文件的權限,可以說也就控制住了linux系統。而且,運維的工作要和成千上萬的文件打交道,對于文件屬性的熟識程度對于工作的順利開展有著深遠的影響。綜上,了解文件,熟悉文件,掌握文件,是我們運維的一個重要的課程。 不同權限對文件和目錄的影響 首先,我們現對權限進行…

    Linux干貨 2017-07-30
  • N25第5周作業(grep和find使用)

    顯示當前系統上root, fedora 或user1的默認shell 找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); 使用echo命令輸出一個絕對路徑,使用grep取出基名,擴展取出其路徑名 找出IFCONIFG命令結果的1-255之間的數字 挑戰題:寫一個模式,能匹配出合理的IP地址 挑戰題…

    Linux干貨 2016-12-30
  • N25第四周總結(lvm)

    lvm 詳解 大綱:    1、什么是lvm     2、為什么要使用lvm     3、如何實現lvm     4、lvm各項命令詳解   1、什么是lvm:        lmv (Logical Volume Manager…

    Linux干貨 2016-12-22
  • vim文本編輯器

    Vim文本編輯器不能單獨編寫二進制文件,但是可以配合xxd命令編輯二進制文件 1、文本編輯種類: 行編輯器: sed 全屏編輯器:nano, vi、vim(其是改進的vi) 其他編輯器: Gedit,一個簡單的圖形編輯器 Gvim,一個Vim編輯器的圖形版本 2、打開文件 用法#vim  [OPTION]… FILE… +#…

    Linux干貨 2016-08-15
欧美性久久久久