程序包管理

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 22:42
下一篇 2018-01-04 09:47

相關推薦

  • rpm包管理

    前言    RPM(簡稱RPM,全稱為The RPM Package Manager)是在Linux下廣泛使用的軟件包管理器。RPM此名詞可能是指.rpm的文件格式的軟件包,也可能是指其本身的軟件包管理器(RPM Package Manager)。最早由Red Hat研制,現在也由開源社區開發。RPM通常隨附于Linux發行版,…

    Linux干貨 2015-05-13
  • nfs服務部署wordpress

    NFS服務簡介 NFS 是Network File System的縮寫,即網絡文件系統。一種使用于分散式文件系統的協定,由Sun公司開發,于1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位于服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。 NFS 的基本原則是“容許不同…

    2017-04-28
  • yum初步入門

                             yum工具是為提高RPM軟件安裝性而開發的一種軟件包管理器,是由pyt…

    Linux干貨 2015-04-01
  • Linux正則表達式及grep練習題

    Linux正則表達式及grep練習題          1、找出ifconfig命令結果中本機的所有IPv4地址         # ifconfig|grep -E -o "(([0-9]…

    Linux干貨 2016-08-07
  • 新的旅途

    三月末的北京已經讓人感覺有些炎熱,這是我第一次來北京。對我而言這是我人生的另一個起點,押上了我所有驕傲承載著我的夢想對未來所有的期望。這是一場豪賭,新的旅途,從今天開始。

    2018-03-26
  • python

    作業;練習

    2018-03-21
欧美性久久久久