程序包管理

Windows與Linux不兼容

庫級別虛擬化:

Linux:WINE

Windows:Cygwin

 

程序包管理器:

debian:deb,dpt

redhat:rpm,rpm

 

Archlinux

Gentoo

 

獲取rpm程序包的途徑:

1、系統發行版光盤或官方的服務器

centos鏡像:

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

2、項目官方站點

3、第三方組織:

Fedora-EPEL

搜索引擎:

https://pkgs.org/

http://rpmfind.net/

http://rpm.pbone.net/

4、自己制作;

 

rpm命令實現程序管理:

安裝:-ivh,–nodeps,–replacepkgs

卸載:-e,–nodeps

升級:-Uvh,-Fvh,–nodeps,–oldpackage

查詢:-q,-qa,-qf,-qi,-ql,-qd,-qc,-q –scripts,-q –provides,-q –requires

校驗:-V

導入GPG密鑰:–import,-K,–nodigest(),–nosignature

數據庫重建:–initdb,–rebuilddb

 

CentOS的rpm前端工具:yum,dnf

yum repo:儲存了眾多的rpm包,以及包的相關的元數據文件(放置于特定目錄下:repodata);

 

yum客戶端配置文件:/etc/yum.conf,/etc/yum.repos.d/*.repo

倉庫的定義文件:

[repositoryid]
name=Some name for this repository

baseurl=url://path/to/repository/

enabled={1|0}

gpgcheck{1|0}

gpgkey=URL

failovermethod=roundrobin|priority

cost=默認為1000

 

yum命令的用法:

顯示倉庫列表:

repolist [all|enabled|disabled]

顯示程序包:

list

安裝程序包:

install package1 [package2] […]

reinstall package1 [package2] […](重新安裝)

升級程序包:

update [package1] [package2] […]

downgrade package1 [package2] […](降級)

檢查可用升級:

check-update

卸載程序包:

remove | erase package1 [package2] […]

查看程序包信息:

info

查看指定的特性(可以是某文件)是由哪個程序包所提供:

provides | whatprovides feature1 [feature2] […]

清理本地緩存:

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

構建緩存:

makecache

搜索:以指定關鍵字搜索程序包及summary信息:

search string1 [string2] […]

查看指定包所依賴的capability:

deplist package1 [package2] […]

查看yum事務歷史:

history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

包組管理的相關命令:

group list

group info

group update

group install

group remove

 

如何實用光盤當做本地yum倉庫:

(1)掛載光盤至某目錄,例如/media/cdrom

# mount -r -t iso9660 /dev/cdrom /media/cdrom

(2)創建配置文件

[CentOS7]

name=

baseurl=

enabled=

gpgcheck=

 

yum命令行的選項

–nogpgcheck:禁止進行gpg check;

-y:自動回答為“yes”;

-q:靜默模式,也自動回答為yes;

–disablerepo=repoidglob:臨時禁用此處指定的repo;

–enablerepo=repoidglob:臨時啟用此處指定的repo;

–noplugins:禁用所有插件;

 

yum的repo配置文件中可用的變量:

$releasever:當前OS的發行版的主版本號;

$arch:平臺;

$basearch:基礎平臺;

$YUM0-$YUM9:自定義變量

 

創建yum倉庫:

createrepo [options] <directory>

 

編譯安裝三步驟:

./configure:

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

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

make:

根據makfile文件,構建應用程序;

make install

 

開發工具:

autoconf:生成configure腳本;

automake:生成makefile.in

建議:安裝前查看INSTALL,README

 

開源程序源代碼的獲?。?/p>

1、官方自建站點:例如apache.org;mariadb.org

2、代碼托管:SourceForge、github.com、code.google.com

 

編譯C源代碼:

前提:提供開發工具及開發環境:

開發工具:gcc、make等;

開發環境:開發庫、頭文件

glibc:標準庫

通過包組提供開發組件:

centos6:“development tools”、“server platform development”

centos7:“development tools”

第一步:configure腳本

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

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

選項分類:

1、安裝路徑設定:

–prefix=:指定默認安裝位置;默認為/usr/local/

–sysconfdir=:指定配置文件的安裝位置;

2、system types:

optional feature:可選特性;

–disable-FEATURE

–enable-FEATURE[=ARG]

optional packages:可選包;

–with-PACKAGE[=ARG]

–without-PACKAGE

第二步:make

第三步:make install

 

安裝后的配置:

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

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

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

重新加載下此配置文件:

# source /etc/profile.d/NAME.sh

(2)導出庫文件路徑;

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

添加新的庫文件所在目錄位置至此文件中;例如:/usr/local/apache2/lib

讓系統重新生產緩存:

ldconfig [-v]

(3)導出頭文件;

基于符號鏈接的方式實現:

ln -sv 頭文件目錄 /usr/include/NAME

(4)導出幫助手冊;

編輯/etc/man_db.conf文件

添加一個MANPATH

 

源碼制作成rpm程序包

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90824

(0)
N26-深圳-城市蝸牛N26-深圳-城市蝸牛
上一篇 2018-01-03
下一篇 2018-01-04

相關推薦

  • N23-第五周博客作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell。 [root@localhost ~]# cat /etc/passwd | egrep "^root\>" | cut -d: -f1,7 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hell…

    Linux干貨 2016-12-05
  • 第一周作業

    1、描述計算機的組成及其功能。 計算機的基本功能:數據處理、數據存儲、數據傳輸、控制; 計算機中的數據:包含計算機所能處理的給中對象,如數值、字符、圖形、圖像、聲音、視頻等。 計算機的所有功能都是通過指令實現的。 指令:是計算機硬件能直接識別并執行的命令,不同種類的計算機通常有著不同的指令編碼,一臺計算機的所有指令集合稱之為指令系統。若干條指令組成的一個指令…

    Linux干貨 2016-12-12
  • FHS文件系統各個目錄功能

    FHS文件系統各個目錄功能 概述      Linux文件系統有點特別,它采用一種稱為虛擬目錄(virtual directory)的單文件系統,虛擬目錄包括了計算機存儲設備下的所有路徑,并且把它們納入一個目錄結構中。      Linux PC上安裝的第一塊硬盤叫做根驅動器,根驅動器包含了虛擬目錄…

    Linux干貨 2016-10-17
  • Linux運維實戰之一:初識計算機組成及Linux系統

    本次博文是Linux運維實戰的開山篇,主要內容如下: 計算機的組成及其功能; Linux的不同發行版之間的聯系與區別; Linux的哲學思想; Linux系統上命令的適用格式及一些常用命令的使用; Linux系統上如何獲得幫助信息; Linux發行版的基礎目錄名稱命名法則及功用規定; 一、計算機的組成及其功能: 問題引入:互聯網時代,計算機是我們每天都要使用…

    Linux干貨 2016-10-31
  • N21沉舟14周作業

    系統的INPUT和OUTPUT默認策略為DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響…

    Linux干貨 2016-11-14
  • Linux 文本處理,文本工具,查看,分析,統計文本文件,grep,正則表達式

    文本處理 各種文本工具,查看,分析,統計文本文件 grep 正則表達式 擴展正則表達式 sed cat -n f1 加行號(空格行都計算) cat -b f1 加行號(只計算有字符的行) cat -ns f1 加行號(壓縮空行) cat -v f1 能看windows文件的M`符號 cat -T f1 能夠顯示里面的tab空位,顯示為^I cat -A f1…

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