linux ldd 命令 yum,linux程序包管理:rpm 、yum

软件包的组成部分:二进制程序、库、配置文件、帮助文件 二进制程

序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

应用程序:/usr/local/nginx

库:/lib,/usr/lib,/lib64,/usr/lib64,/usr/local/lib,/usr/local/lib64

应用程序:/usr/local/nginx

定义库文件的位置:/etc/ld.so.conf,/etc/ld.so.conf.d/*.conf

配置文件: /etc/

帮助文件:man文件,info文件,README,INSTALL,ChangeLog

man文件的使用:

1,man –M /usr/local/nginx/man httpd

2,vim /etc/man.config

MANPATH /usr/local/nginx/man

ldd命令: 查看应用程序所依赖的共享库

# ldd `which ifconfig`

linux-vdso.so.1 =>  (0x00007fffd4dff000)

libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003cf4400000)

libc.so.6 => /lib64/libc.so.6 (0x0000003cf2800000)

libdl.so.2 => /lib64/libdl.so.2 (0x0000003cf3000000)

/lib64/ld-linux-x86-64.so.2 (0x0000003cf2400000)

程序包管理器使用: 程序包管理器的基本功能:

打包,安装,查询,升级,卸载,校验,数据库管理

centos的两个应用程序管理器:rpm  ,   yum rpm包使用:

安装: rpm –ivh rpm_package

#rpm –ivh zsh-4.3.10-5.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:zsh                    ########################################### [100%]

-i:  安装

-v: 显示详细信息

-h: 以#的个数显示安装进度,一个#代表2%的进度

重新安装: rpm –ivh –replacepkgs rpm_package

#rpm -ivh --replacepkgs zsh-4.3.10-5.el6.x86_64.rpm

卸载: rpm –e package_name

#rpm –e zsh

#rpm –e –nodeps mysql

忽略依赖性关系卸载

查询: rpm –q

查询单个安装包: rpm –q zsh

查询所有已经安装的包: rpm –qa

查询包的描述信息: rpm –qi tcpdump

Name        : tcpdump                      Relocations: (not relocatable)

Version     : 4.0.0                             Vendor: CentOS

Release     : 3.20090921gitdf3cb4.2.el6     Build Date: Mon 26 Mar 2012 08:56:48 PM CST

Install Date: Tue 11 Feb 2014 01:40:32 PM CST      Build Host: c6b6.bsys.dev.centos.org

Group       : Applications/Internet         Source RPM: tcpdump-4.0.0-3.20090921gitdf3cb4.2.el6.src.rpm

Size        : 832443                           License: BSD with advertising

Signature   : RSA/SHA1, Mon 26 Mar 2012 09:32:34 PM CST, Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem

URL         : http://www.tcpdump.org

Summary     : A network traffic monitoring tool

Description :

Tcpdump is a command-line tool for monitoring network traffic.

Tcpdump can capture and display the packet headers on a particular

network interface or on all interfaces.  Tcpdump can display all of

the packet headers, or just the ones that match particular criteria.

Install tcpdump if you need a program to monitor network traffic.

查询安装包在当前系统生成的文件列表: rpm –ql tcpdump

/usr/sbin/tcpdump

/usr/sbin/tcpslice

/usr/share/doc/tcpdump-4.0.0

/usr/share/doc/tcpdump-4.0.0/CHANGES

/usr/share/doc/tcpdump-4.0.0/CREDITS

/usr/share/doc/tcpdump-4.0.0/LICENSE

/usr/share/doc/tcpdump-4.0.0/README

/usr/share/man/man8/tcpdump.8.gz

/usr/share/man/man8/tcpslice.8.gz

查询某文件是由哪个包安装生成的: rpm -qf `which ifconfig`

net-tools-1.60-110.el6_2.x86_64

查询包安装之后生成的帮助文档: rpm –qd tcpdump /usr/share/doc/tcpdump-4.0.0/CHANGES

/usr/share/doc/tcpdump-4.0.0/CREDITS

/usr/share/doc/tcpdump-4.0.0/LICENSE

/usr/share/doc/tcpdump-4.0.0/README

/usr/share/man/man8/tcpdump.8.gz

/usr/share/man/man8/tcpslice.8.gz

查询包安装之后生成的配置文件: rpm –qc bash /etc/skel/.bash_logout

/etc/skel/.bash_profile

/etc/skel/.bashrc

查询包安装过程中执行的脚本: rpm –q –scripts httpd

preinstall scriptlet (using /bin/sh):

# Add the "apache" user

getent group apache >/dev/null || groupadd -g 48 -r apache

getent passwd apache >/dev/null || \

useradd -r -u 48 -g apache -s /sbin/nologin \

-d /var/www -c "Apache" apache

exit 0

postinstall scriptlet (using /bin/sh):

# Register the httpd service

/sbin/chkconfig --add httpd

/sbin/chkconfig --add htcacheclean

preuninstall scriptlet (using /bin/sh):

if [ $1 = 0 ]; then

/sbin/service httpd stop > /dev/null 2>&1

/sbin/chkconfig --del httpd

/sbin/service htcacheclean stop > /dev/null 2>&1

/sbin/chkconfig --del htcacheclean

fi

posttrans scriptlet (using /bin/sh):

test -f /etc/sysconfig/httpd-disable-posttrans || \

/sbin/service httpd condrestart >/dev/null 2>&1 || : 升级:

rpm –U: 升级或安装

rpm –F: 升级

rpm –Uvh package_rpm

rpm –Fvh package_rpm 校验:

rpm –V httpd

S.5....T.  c /etc/httpd/conf/httpd.conf

.......T.  c /etc/sysconfig/httpd

S file Size differs 文件大小改变

M Mode differs (includes permissions and file type) 文件权限和文件类型改变

5 digest (formerly MD5 sum) differs  MD5校验值改变

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs  用户属主关系改变

G Group ownership differs 用户属组关系改变

T mTime differs  时间戳改变

P caPabilities differ 导入发行者公钥:

rpm包通过导入发行者公钥来确定包的完整性和来源合法性

rpm –import /path/to/gpg-key-file

#gpg-key-file位于光盘根目录下

#rpm –import RPM-GPG-KEY-CentOS-6

#rpm –K rpm -K zsh-4.3.10-5.el6.x86_64.rpm

包管理数据库:

数据库位置:  /var/lib/rpm

重建数据库:

#rpm –initdb:如果不存在数据库,重建之

#rpm –rebuilddb:直接重建,会覆盖原有的库 yum使用:

rpm安装包时无法解决依赖性关系,yum应运而生。yum能够在安装过程中自动解决依赖性关系。yum分为服务器端和客户端。

yum服务器:

相当于一个文件服务器,用于存放rpm包,可以使用http,nfs,ftp,本地file作为服务器。

yum客户端:

配置文件:/etc/yum.repo.d/*.conf,/etc/yum.conf

指定连接的yum服务器仓库

缓存元数据:yum客户端从yum服务器仓库获取元数据,并缓存至本地

分析元数据: 根据具体操作请求完成元数据分析,可以包括检查依赖性关系、文件列表等信息

执行安装软件、查询等功能

yum服务器配置:

a.使用挂载的光盘作为yum源:

1.挂载光盘: mount /dev/cdrom /media

2.vim /etc/yum.repo.d/

[package]

name=centos packages

baseurl=file:///media/Packages

enabled=1

gpgcheck=0

3.测试

yum repolist

yum 客户端常用的命令:

yum repolist [all | enabled | disabled]: 列出所有可用的yum repo

yum clean [all | packages | meta | expire-cache | rpmdb | plugins ]: 清理缓存

yum list [all | installed | avaliable ] : 列出所有可用的rpm包

yum info httpd : 列出包的详细信息

yum grouplist: 列出所有包组

yum group info “package_group_name”: 列出包组信息

三个和开发相关的包组:

Desktop Platform Development

Server Platform Development

Development Tools

yum install httpd : 安装指定的包

yum reinstall httpd : 重新安装指定的包

yum check-update: 检查可升级的包

yum update httpd : 升级指定的包

yum downgrade httpd: 阶级指定的包

yum erase | remove httpd: 删除或卸载指定的包

yum whatprovides | provides /etc/passwd : 查询文件是由哪个包提供的

yum groupinstall “group_name” : 安装指定的组包

yum groupremove “group_name” : 卸载指定的组包

yum install *.rpm: 安装本地包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值