程序包管理

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

 

开源程序源代码的获取:

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.178linux.com/90824

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

相关推荐

  • N25-第一周作业

    1、描述计算机的组成及其功能:   (1)按硬件来分,硬件系统主要有:运算器、控制器、存储器、输入设备和输出设备;    ① 控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等;    ② 运算器的功…

    Linux干货 2016-12-05
  • ls、shutdown命令使用及命令提示符格式修改

        ls、shutdown命令使用及命令提示符格式修改                      &nbs…

    Linux干货 2016-10-17
  • keepalived+lvs 实现站点高可用

    lvs实现负载均衡
    keepalived 解决 director单点和realserver监控检测

    2017-12-13
  • CA,DNS,LAMP实现wordpress

    拓扑图见编译实现LAMP,bind,CA.jpg test3配置:     yum -y install bind     修改named.conf配置文件:     //      listen-on por…

    2017-04-23
  • 高级文件系统管理1

    本部分内容主要讲述了高级文件系统的管理,包括设定文件系统配额,设定和管理软RAID设备,配置逻辑卷,设定LVM快照和btrfs文件系统。其中文件系统配额和软RAID在企业中使用的频率并不很高,作为熟练即可,而逻辑卷的创建和LVM快照是非常重要的内容,必须精通并完全理解其原理。至于btrfs文件系统是新兴的一种技术,作为了解即可。 一、知识整理 1、文件系统配…

    Linux干货 2016-08-29
  • Linux常见小知识点

    什么是Linux? Linux是一款支持多任务,多线程,多用户的类Unix系统 Linux常见的发行版本 Redhat  Linux   Linux发行版中比较重要的一个版本,多用于企业,由Redhat公司提供收费技术支持和更新,其衍生版本有centos为免费版本 Debain linux      系统分为…

    Linux干货 2017-03-26