一、软件管理

静态库 动态库
静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库
动态库:在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入。

链接是程序调用库的过程。

静态链接库 动态链接库
静态链接库:把库文件中用到的函数代码直接链接到目标程序,程序运行的时候不再需要它的库文件。
动态链接库:把调用的函数所在的文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行时再从DLL中寻找相应的函数代码, 此需要DLL文件的支持。

编程-->编译-->运行-->链接库

一般编译好的程序有哪些组成部分?

1.可执行文件(二进制文件)

存放地点:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin

find / -name *bin -type d
/usr/share/locale/bin
/usr/local/bin
/usr/local/sbin
/usr/lib/pm-utils/bin
/usr/lib/jvm/java-1.6.-openjdk-1.6.0.0/jre/bin
/usr/bin
/usr/sbin
/bin
/sbin

通过编译源代码安装的软件,通常都放入/usr/local/SOFTWORE_NAME/
/usr/local/SOFTWORE_NAME/
bin,sbin,lib,man,etc

完成以下任意操作,直接当命令执行
ln -s /usr/local/SOFTWORE_NAME/mysoft /bin/mysoft
PATH=$PATH:/usr/local/SOFTWORE_NAME/bin

2、头文件和库文件

头文件存放在 /usr/include
库文件 /lib /usr/lib /usr/local/lib /lib64
ldconfig -v 查询当前系统中已经加载的库

在 /etc/ld.so.conf.d/下创建一个以.conf为后缀的文件,然后在文件里添加路径
或者 做软链接到/lib

头文件链接到/usr/include

3.配置文件(提供变量)

/etc /usr/etc /usr/local/etc

4.帮助文件

/ussr/share/man
man的配置文件:/etc/man.config

二、rpm及yum

rpm实现的功能:
1.安装软件、查询、升级、校验、卸载
2.创建、维护、清除数据库及其中的记录
3.重建数据库
4.软件直接依赖关系的提示(依赖地狱)

yum:yellowdog update modifier 前台管理工具
帮助rpm解决依赖地狱

rpmfind.net 查找下载rpm安装包

tree -1.5.-.el6.i686.rpm
tree:软件名称
1.5.-:
:主版本号
:次版本号
:修订版本号
-:修订次数
el6:依赖的操作系统的发行版本(RHEL6)
i686:硬件平台
x86_64
sparc
ppc:apple
noarch:不区分平台,任何平台都可以用

rpm

  • 1.安装模式

-i:启用安装模式
-v:显示安装的软件名
-h:显示安装进度
--replacpkgs:安装软件之前不再检查是否已安装
--nodeps:安装软件前不再检查依赖关系
--force:强制安装

①先查看软件包的头部信息,以确认签名是否有效
②准备阶段

.检查软件包是否已经安装
.检查软件包是否存在依赖关系
.备份之前安装过的软件所包含的文件,*.rpmsave
.如果有,则运行相应的安装脚本

③安装
④清理安装过程中产生的临时文件
⑤更新数据库

mkdir /mnt/cdrom
mount -r /dev/cdrom /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/tree-1.5.3-2.el6.i686.rpm

  • 2.查询模式

-q:开启查询模式的开关
-a:查询所有安装过的软件包
-f:查看文件是哪个软件包安装的
-p:指定软件包
-l:列举包中的文件
-i|--info 软件名:查看软件信息

rpm -qi dhcp

  • 3.升级模式

-U:升级软件之前,如果已安装则升级,否则全新安装
-F:只能完成升级安装
--oldpackage:降级

  • 4.校验模式

-V:校验,检查软件包和已安装文件的状态是否有变化
rpm -V
-K 软件包:检查,来源是否可靠,签名是否可以认证
--import:导入官方的公钥文件
/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

  • 5.卸载模式

-e 软件名:卸载模式的开关
--nodeps:卸载前不考虑依赖关系

  • 6.重新构建数据库

--rebuilddb:重新构建
--initdb:初始化创建数据库

单向加密:用特定的方法对某个数据进行特征值(电子指纹)计算
先用单向加密对软件包抽象特征值,每个软件包都有唯一的特征值,再用私钥加密特征值,客户端用获得的公钥解密特征值,再用同样的
单向加密算法,重新计算软件的特征值
单向加密确定完整性
校验机制确定私密性

readlink 获取链接文件的路径.

yum

语法格式:

yum [options] [command] [package..]

options:普通选项
-y:所有的yum问题都以“yes”作为回答的内容
--nogpgcheck:不检查数据签名
command:
install
update
remove|erase
list
groupinstall

yum有元数据数据库 metadata--*.xml
软件仓库:repository
ls /mnt/cdrom/Server/repodata

createrepo:创建软件元数据库

配置yum源的软件仓库:/etc/yum.repos.d/*.repo

vim /etc/yum.repos.d/local.repo  (同一个yum源可以写很多个仓库)
[localrepo] #仓库名
name=local cdrom repo
baseurl=file:///mnt/cdrom #file协议是本地文件查找协议
enabled= #开启软件仓库
gpgcheck= #是否检查数字签名 [ftp]
name=ftp repository
baseurl=ftp://172.16.0.1/Server #必须有repodate文件
enabled=
gpgcheck=

全局配置文件:/etc/yum.conf

ls /var/cache/yum/i386/6Server/localrepo/ 缓存目录

yum -y install createrepo

【linux之软件安装,rpm,yum】的更多相关文章

  1. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  2. Linux学习笔记(13)linux软件安装rpm与yum--理论篇

    该文章linux知识点如下 1.linux中 软件包介绍 2.linux源码软件安装 3.linux二进制软件安装 4.linux rpm软件包管理 5.linux yum软件包管理 1.linux中 ...

  3. linux下软件安装的几种方式

    linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...

  4. Linux下软件安装的四种方式

    一.源码安装 步骤: 下载,解压源码(常见的源码打包格式:.tar.gz/.tar.bz2); 可以直接下载源码再上传至linux服务器,或者在联网状态下,直接通过wget等命令获取源码安装包;源码解 ...

  5. linux初学者-软件安装与管理篇

    linux初学者-软件安装与管理篇 在linux的学习和工作中需要安装许多的软件.在redhat的linux操作系统下,软件一般都是rpm格式的.以下将介绍一些软件安装和管理的内容. 1.软件名称 在 ...

  6. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

  7. 【转】Linux下软件安装的几种方式

    转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...

  8. (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装

    介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...

  9. Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)

    有在Linux系统中安装软件的经历的人都知道,在Linux系统中手动安装软件不想在Windows下安装软件那么方便,直接双击,然后下一步下一步就可以把软件成功的装入到系统中,而在Linux系统中,安装 ...

  10. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

随机推荐

  1. 启动MySql提示:The server quit without updating PID file(…)失败

    1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var/data" ...

  2. linux 中 svn 服务器搭建 重启

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  3. 浅谈PHP答题卡识别(一)

    最近期末考试考完了,我们也要放寒假了.于是突发奇想,想用PHP写一个答题卡识别程序.已经实现了一些,现分享给大家. 具体的步骤如下: 上传答题卡=>图片二值化(已实现)=>寻找定位点(已实 ...

  4. WebView性能优化--独立进程

    Android允许一个app同时存在多个进程,可以根据需要把不同的模块放到不同进程中处理. 一.WebView独立进程的好处 1.有效增大App的运存,减少由webview引起的内存泄露对主进程内存的 ...

  5. SCU 4438 Censor KMP/Hash

    题意:给定一个模式串和文本,要求删除所有模式串.可能删除后会形成新的模式串,必须全部删除. 思路1:kmp算法求得失配数组,用一个match数组记录文本串中第i字符和未删除的字符能匹配模式串的长度.这 ...

  6. 编写React组件的最佳实践

    此文翻译自这里. 当我刚开始写React的时候,我看过很多写组件的方法.一百篇教程就有一百种写法.虽然React本身已经成熟了,但是如何使用它似乎还没有一个"正确"的方法.所以我( ...

  7. 【BZOJ3993】 星际战争

    Time Limit: 1000 ms   Memory Limit: 128 MB Description  3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一 ...

  8. H3C单臂路由配置

    Route配置 int g0/0.1 ip add 192.168.10.1 255.255.255.0 vlan-type dot1q vid 10 #子接口封装dot1q并分配给VLAN 10 q ...

  9. Storm实践

    1.Storm命令 在Linux中观直接输入Storm,不带任何参数信息,可以查看Storm命令. 参考这里 1.  activate 激活指定的拓扑Spout.语法:storm activate t ...

  10. Hama安装及示例运行

    Hama介绍 Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel.用来处理大规模的科学计算,特别是矩阵和图计算. BS ...