linux学习笔记之软件包管理

软件包管理

软件包组成

二进制程序

配置文件

单文件

将主配置文件切割成多个小文件,并放置于某个目录中。

/etc/profile ,/etc/profile.d/*

/etc/pam.conf , /etc/pam.d/*

单文件,在内部分割成多个片段。

[mysql] [mysqld]...

库文件: 二进制 可执行  函数(c程序都由函数组成) 共享模块

静态库

动态库

帮助文件

手册页

文档(/usr/share/doc)

/bin /sbin 系统启动使用

/usr/bin  /usr/sbin 大多数软件

/usr/local/bin /usr/local/sbin 第三方软件

操作系统启动文件都在/上  redhat6以后/usr也不可独立分区.

为减小/bin /sbin 大小 部分系统启动文件也放在/usr/bin /usr/sbin上。

第三方软件比较多时可以独立分出/usr/local

库文件

/lib /lib64 /usr/lib

/etc/ld.so.conf.d/*.conf

系统找不到/usr/local下的库文件  /etc/ld.so.conf so shared object

在/usr/local/lib 下的库文件   在建立/etc/ld.so.conf.d/xxx.conf 存放

搜索路径。系统的则写入/etc/ld.so.conf

/etc/httpd/  httpd软件的

帮助文件:

/usr/share/man

/etc/man.conf    指定man到哪里找man文件  doc

/usr/share/doc

头文件;

/usr/include

kernel  glibc  app    os三大组成部分

glibc  c语言标准通用库

硬件架构:

x86 x64 poverpc sparc arm

二进制程序: 有格式 特定于硬件平台(编译器自身在软件编译时在特定平台上的运行进行优化)

name-version-release-.arch.rpm

version: 3.2.4

major minor release

32bit  x86

i386  i486  i586  i686

64bit  x86

x86_64

noarch.rpm 平台无关  平台文件

name-version:主包

name-subname-version:子包

name-devel-version: 库文件 头文件

循环依赖的需同时安装。

yum: yellowdog update modifier   rpm前端

yum依赖于rpm 是其升级版。

dpkg -----> apt-get

rpm----->deb

rpm包 rpm yum

源码包    编译安装

制作好的二进制包压缩包,解压后配置使用。

mysql  mongoDB

rpm install    ---------------> rpm -i pkg1  pkg2   ...... // path

rpm eraser     ---------------> rpm -e pkg1   ....

rpm update     ---------------> rpm -U | -F pkg1....

rpm verify     ---------------> rpm -V pkg1.....

rpm query      ---------------> rpm -q ...

install:

rpm -i

-v  verbose

-h  #  progress

--test

--nodeps 忽略依赖

--replacepkgs

--force  无视冲突。

before install     pre

after install   post 收尾

卸载之前    preun

卸载之后    postun

uninstall:

rpm -e pks1   被依赖不可卸载。

rpm -e php-cli

update  :

F freshing    无old,则不new

U update    无old,则安装new

--oldpackages

内核不应该升级安装。 内核允许多版本并存。

query:

rpm -q

rpm -qi

签名:单向加密  提取数据的指纹信息  数据特征

如果原数据一样,结果数据一定一样

雪崩效应,原数据有一点点不同,结果大不同。

rpm 提取特征码,附加在软件包上。 官方使用自己的私钥。

私钥加密,公钥解密。

篡改则破坏特征码.私钥。

公钥解密得到官方提供的特征码,自己再使用同样的方法提取特征码

,并比较和解密出来的特征码是否一致。

rpm -ql  pkg1    list 显示安装哪些文件

rpm -qf  file         根据文件查rpm包

rpm -qc   pkg         查看配置文件

rpm -qd   pkg         查看文档 man  readme install

rpm -a --scripts   pkg1   执行安装的脚本 内置脚本

还未装则加 p 参数

rpm -V pkg1

rpm -K pkg1 检查签名

rpm  --import key1   导入公钥  /etc/pki/rpm-gpg/xxx

没签名    sha1 md5 ok

sha1 md5 数据包完整校验

--nodigest  不检查单向加密    sh1 md5

--nosignature  不检验签名信息  gpg dsa

重建rpm数据库

/var/lib/rpm

*db*  锁文件

其它的是锁文件

rpm --initdb   被删除 或不存在 存在则不覆盖

rpm --rebuilddb     覆盖 重建

源码制作成rpm包

yum

route    rpm包集合    xml文档  元数据文件

redhat5   包分开存放:

server    常用的基本软件

/repodata   yum源信息   父目录即仓库

Cluster  集群

ClusterStore  集群存储相关

VT

yum源何在

下载到本地缓存  元数据缓存到本地

协议3种:

本地  file:///协议

远程服务器  ftp:// http://

yum仓库:

rpm包

repodata/目录  xml文件 只有包含此目录为其子目录的那个路径才可以用作yum源

repomd.xml  保存时间戳  看是否有变化

primary.xml.gz  当前yum仓库内每一个rpm包的名字及彼此之间的依赖关系:

此外还包含每一个rpm包能够安装生成的文件;

filelists.xml.gz: 所有rpm包包含的安装生成文件的文件列表。

other.xml.gz :  额外信息  主要包含rpm包的chnagelog;

rpm包包组的定义

yum 配置文件 子命令

/etc/yum.conf/*

/etc/yum.repos.d/*

/etc/yum/pluginconf.d/*

全局配置  分段配置

全局 /etc/yum.conf

yum

yum    repolist

yum    list { installed | available | updates | all }

yum    clean { all | packages | metadata}    // /var/cache/yum

yum    grouplist

yum    groupinfo  "group_name"

yum    info    "PKG_NAME"

provides FILE

install -y

remove

update

groupinstall

localinstall

reinstall

check-update

install createrepo

createrepo dir

--nogpgcheck

createrepo

redhat6

Package

server

createrepo -g xxx

时间: 2024-08-06 03:45:18

linux学习笔记之软件包管理的相关文章

linux学习笔记(软件包管理)

前言:运维工程师平时安装服务时很正常的事情,所以软件包的管理就显得尤为重要. 内容: 基础知识. 程序发行的源代码都是不可以运行的,需要编译之后才可以运行,linux发行版的厂商会在他的机器上进行编译然后提供下载使用,用户可以直接拿到二进制的可执行文件进行使用. 通过file可以看到文件时不是可执行文件( ELF 32-bit LSB)是可执行文件,shared libs是使用了共享库.shell脚本显示Bourne-Again是应为#!/bin/bash的原因. 程序的组成部分:1.二进制程序

Linux学习笔记一 磁盘管理常用命令

Linux学习笔记一 磁盘管理常用命令 Linux系统下,一切均是文件,磁盘是一种特殊的块设备文件. 常用的硬盘接口类型 并口:IDE ,SCSI 串口:SATA,SAS 磁盘设备文件设备文件的命令规则: IDE: 设备名为/dev/hda, /dev/hdb-.  (末尾的a ,b-代表不同的IDE硬盘) SCSI:设备名为/dev/sda, /dev/sdb-.(末尾的a,b-代表不用的SCSI硬盘 机械式硬盘: track: 磁道(盘面上由外向里划分成不同的磁道) cylinder: 柱面

linux学习笔记 yum 在线管理软件包

-y  如果yum在工作过程中需要使用者响应.这个参数可以直接回答yes #yum list 列出资源库中所有可安装或者可更新的rpm包 #yum perl 列出为perl的包 #yum perl* 列出为perl开头的包 #yum install perl 安装perl包 #yum remove perl*删除perl-*所有的包 #yum check-update 检查可以更新的rpm包 #yum update 更新所有rpm包 #yum update kernel kernel_sourc

Linux学习笔记(四)账号管理之管理用户账号

1.管理用户账号:每一个登录Linux操作系统的用户在系统中都应该有其对应的注册账号,这些账号记录了用户的信息,如用户名.登录口令.用户目录所在位置.所用的shell.建立时间.权限等信息.其中用户账号管理包括:添加用户.设置口令.删除用户,修改用户属性和权限等.因此,账号管理是系统管理员重要的日常工作之一. (1).添加用户:其中超级用户的账号在Linux系统安装时已经创建了,即root用户,但超级用户的权限太大不适合给普通用户使用,否则会对Linux系统安全造成威胁:因此,所有要使用Linu

Linux学习笔记——程序包管理之rpm命令

RPM rpm是Linux上一个很好用的程序包管理管理器,它具有安装.卸载.升级.查询.校验.数据库维护等功能. 下面分别介绍一下rpm的各个功能: 安装: rpm {-i|--install} [install-options] PACKAGE_FILE ... -v:详细显示安装过程 -vv:相对-v更加详细 -h: 以#显示程序包管理执行进度:每个#表示2%的进度 安装过程如图 另外还有一些其他选项 [install-options] --test: 测试安装,但不真正执行安装过程:dry

Linux学习笔记——网络属性管理

Linux网络属性配置分为两种 静态指定 通过命令:ifcfg:ifconfig,route,netstat ip: object {link, addr, route}, ss, tc 还可以通过配置文件进行指定:system-config-network-tui 另外再CentOS 7中增加了一组新的命令:nmcli, nmtui 动态分配 DHCP 下面介绍各个命令的使用方法 ifcfg: ifconfig命令        ifconfig [interface]         # i

Linux学习笔记——程序包管理之yum

YUM yum 是rpm程序包管理器的前段管理器.yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题. yum 的操作是基于yum 仓库进行的 yum repository: yum repo  yum仓库 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata): 文件服务器: ftp:// http:// nfs:// file:/// yum 的配置 配置文件 /etc/yum.conf:为所有仓库提供公共配置

linux学习笔记——日志分析管理同步、修改时间、同步时间

############################################################第十单元####################################################################### 1.rsyslogd服务(syslogd加强版)rsyslogd服务功能是用来管理系统日志功能:1)直接将日志写入到数据库2)日志队列(内存队列和磁盘队列)3)模板机制,可以得到多种输出格式4)插件式结构,多种多样的输入.输出模

嵌入式linux学习笔记1—内存管理MMU之虚拟地址到物理地址的转化

一.内存管理基本知识 1.S3C2440最多会用到两级页表:以段的方式进行转换时只用到一级页表,以页的方式进行转换时用到两级页表.页的大小有三种:大页(64KB),小页(4KB),极小页(1KB).条目也称为"描述符",有:段描述符,大页描述符,小页描述符,极小页描述符——他们保存大页,小页,极小页的起始物理地址:粗页表描述符,细页表描述符——他们保存二级页表的物理地址. 2.一级页表描述符的最低两位,可分为以下四种情况: (1).0b00:无效. (2).0b01:粗页表. (3).