linux--软件管理

/usr/share/man

/etc, /bin, /lib
系统启动就需要用到的程序,这些目录不能挂载额外的分区, 必须在根文件系统的分区上

/usr/
bin
sbin
lib
操作系统核心功能,可以单独分区

/usr/local 第三方软件
bin
sbin
lib
etc
man 单独分区

/opt

/proc
/sys
不能单独分区, 默认为空

/dev: 设备,不能单独分区
udev

/root 不能单独分区

/var 建议单独分区

/boot: 内核, inired(initramfs)
内核:

POST-->BIOS(HD)-->(MBR)bootloader(文件系统结构,ext2,ext3,xfs)-->内核

软件包管理器的核心功能
1.制作软件包
2.安装,卸载,升级,查询,校验
redhat, suse, debian
redhat, suse : RPM
Redhat Package Manager
RPM is Package Manager
debian : dpt

yum : Yellowdog Update Modifier

rpm命令:
rpm:
数据库/var/lib/rpm
rpmbuild:

安装, 查询, 卸载, 升级, 校验, 数据库的重建等工作

rpm命名:
包: 组成部分
主包:
bind-9.7.1-1.i386.el5.rpm
子包:
bind-libs-9.7.1-1.i586.el5.rpm
bind-utils-9.7.1-1.i586.el5.rpm
包名格式:
name-version-release.arch 什么平台都可以安装

查看内核版本
uname -r
-a
安装
rpm
-ivh /PATH/TO/PACKAGE_FILE
--nodeps : 忽略依赖关系
--replacepkgs : 重新安装,替换原有安装
--force : 强行安装

2.查询
rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
rpm -qa : 查询已经安装的所有包

rpm -qi PACKAGE_NAME : 查询指定包的说明信息;
rpm -ql PACKAGE_NAME : 查询指定包安装后生成的文件列表
rpm -qc PACKAGE_NAME : 查询指定包安装的配置文件
rpm -qd PACKAGE_NAME : 查询指定包安装的帮助文件;
rpm -q --scripts PACKAGE_NAME : 查询指定包中包含的脚本

rpm -qf /PATH/TO/SOMEFILE : 查询指定的文件是由哪个rpm包安装生成的

如果某rpm包尚未安装,我们需要查询其说明信息,安装以后会生成的文件
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl

3.升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级; 否则,则退出
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE
--oldpackage : 降级

4. 卸载
rpm -e PACKAGE_NAME
--nodeps

5. 校验
rpm -V PACKAGE_NAME

6. 重建数据库
rpm
--rebuild : 重建数据库, 一定会重新建立
--initdb : 初始化数据库, 没有才建立, 有就不用建立

7. 检验来源合法性, 及软件完整性:
加密类型
对称: 加密解密使用同一个秘钥
公钥: 一对秘钥,公钥,私钥: 公钥隐含于私钥中,可以提取出来,并公开出去

单向:

ls /etc/pki/rp,-gpg/
RPM-GPG-KEY-redhat-release

rpm -K /APT/TO/PACKAGE_FILE
dsa, gpg: 验证来源合法性, 也即验证签名 : 可以使用--nosignature, 略过此项
sha1, md5 : 验证软件包完整性: 可以使用 --nodigest, 略过此项

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

rpm -K --nodigest

rpm软件包管理器的一个前端工具
rpm --> yum

HTML: HyperText Mark Language
XML: eXtended Mark Language

XML, JSON : 半结构化的数据

yum仓库中的配置文件
primary.xml.gz
所有rpm包的列表:
依赖关系:
每个RPM安装生成的文件列表:

filelists.xml.gz
当前仓库中所有rpm包的所有文件列表

other.xml.gz
额外信息, rpm包的修改日志

repomd.xml
记录的是上面三个文件的时间戳和校验和

yum install zsh

comps*-.xml : RPM包分组信息
/etc/yum.conf --> /etc/yum.repos.d
如何为yum定义repo文件
[Repo_Name]
name=Description
baseurl=
ftp://
http://
file:///
enabled={1|0}
gpgcheck={1|0}
gpgkey=

yum [options] [command] [package ...]
-y: 自动回答为yes
--nogpgcheck

list : 列表
all
available : 可用, 仓库中有但尚未安装的
installed: 已经安装的
updates : 可用的升级

clean : 清理缓存
packages

headers

metadata

dbcache

all

repolist : 显示repo列表及其简要信息
all
enabled: 默认
disabled

install: 安装
yum install PACKAGE_NAME

update:升级
update_to:升级为指定版本

remove | erase : 卸载

info:

provides | whatprovides : 查看指定的文件或特性是由哪个包安装生成的;

groupinfo
grouplist
groupinstall
groupremove
groupupdate

yum groupinfo "Development Tools"

Linux: C,
GNU: C

gcc: GNU C Complier, C
g++:

make : 项目管理工具,
makefile : 定义了make(gcc, g++) 定义了gcc按何种次序去编译这些源程序

automake, --> makefile.in --> makefile
autoconf, --> configure

100个可选择特性,

make install

编译安装的三步骤:
前提: 准备开发环境(编译环境)
安装"Development Tools" 和 "Development Libraries"

tar
cd
./configure
--help
--prefix=/path/to/somewhere
--sysconfdir=/PATH/TO/CONFFILE_PATH
功能: 1.让用户选定编译特性
2.检查编译环境

make
make install

tar xf tengine-1.4.2.tar.gz
cd tengine-1.4.2
./configure --prefix=/usr/local/tenfine --conf-path=/etc/tengine/tenfine.conf
make
make install
/usr/local/tengine/sbin/nginx

1.修改PATH环境变量, 以能够识别此程序的二进制文件路径
修改/etc/profile文件
在/etc/profile.d/目录下建立一个以.sh为名称后缀的文件, 在里面定义export PATH=$PATH:/path/to/somewhere
2.默认情况下, 系统搜索库文件的路径 /lib, /usr/lib, 要增加额外搜寻路径
在/etc/ld.so.conf.d/创建以.conf为后缀名的文件,而后把要增添的路径直接写到此文件中
ldconfig 通知系统重新搜寻库文件
-v : 重新搜寻库的过程

3.头文件: 输出给系统
默认: /usr/include
增添头文件搜寻路径, 使用链接进行
/usr/local/tengine/include/ /usr/include
两种方式:
ln -s /usr/local/tengine/include/* /usr/include/ 或
ln -s /usr/local/tengine/include /usr/include/tengine
4. man文件路径: 默认安装在 --prefix指定的目录下的man目录: /usr/share/man

/etc/man.config里面有定义man搜寻的路径
1. man -M /PATH/TO/MAN_DIR COMMAND
2. 在/etc/man.config中添加一条MANPATH

netstat命令:
-r: 显示路由表
-n: 以数字方式显示

-t: 建立的tcp连接
-u: 显示udp连接
-l: 显示监听状态的连接
-p: 显示监听指定的套接字的进程的进程号及进程名

C环境, C++, perl, java, python

时间: 2024-08-03 10:39:23

linux--软件管理的相关文章

linux入门基础——linux软件管理RPM

因为linux入门基础是基于CentOS讲解的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RPM软件包管理 源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要手动编译成二进制形式之后才能够运行使用 源代码基本编译流程: 1 ./configure   检查编译环境.相关库文件以及配置参数并生成makefile 2 make  

linux软件管理(六)

[教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软件的安装.升级.查询.反安装的功能.优点:a.安装方便,软件中所有数据都经过编译和打包b.查询.升级.反安装方便缺点:a.缺乏灵活性b.存在相依属性 用法: rpm  参数   软件包 指令选项-i:安装.-U:升级安装,如果不存在也安装.-F:更新安装,如果不存在不安装.-v:查看信息.-h:有进

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

Linux软件管理 - RPM工具

Linux软件管理 - RPM工具 文本关键字:Linux.软件管理.RPM工具.软件依赖 一.RPM介绍 1. RPM含义 RPM的全称是:Red Hat Package Manager,是RPM软件包管理器.在Linux系统中对应命令是rpm,我们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此之外还包括和Red Hat最亲近的CentOS,以及其他一些主流发行版:SuSE.Fedora等. 2. RPM特点 rpm也是一种打包格式,使用rpm工具来进行管理

Linux软件管理 - YUM工具

Linux软件管理 - YUM工具 文本关键字:Linux.软件管理.YUM工具.解决依赖 一.YUM介绍 1. YUM含义 YUM的全称是:Yellowdog Updater Modified,是一个基于RPM包管理的Shell前端软件包管理器.由于是基于RPM包管理器,那么使用的场景也就和RPM类似,主要支持的Linux操作系统为:RedHat.CentOS.Fedora.YUM还提供了图形化前端工具:yumex和kyum,需要在yum正常工作的前提下使用. 2. YUM特点 使用pytho

Linux软件管理 - 编译安装

Linux软件管理 - 编译安装 文本关键字:Linux.软件管理.configure.make.make install 一.环境准备 很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序.在进行编译时,需要先使用yum安装编译工具. 1. 核心组件 必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C.C++.Objective-C.Fortran.Java.Ada.Go语言前端,也包含了对应语言的库,几乎可以

16、Linux软件管理工具rpm详解

1 Linux软件安装概述 安装程序的方式: 软件包概述 RPM RPM的缺点 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升级注意项 如何安装rpm软件包 如何卸载rpm软件包 如何升级rpm软件包 如何查询rpm软件包 如何查看与rpm包相关的文件和其他信息 如何校验rpm包 RPM的数据库 1 Linux软件安装概述 安装程序的方式: 通用二进制格式:直接解压压缩文件,就可以使用.但一定要注意安装平台. 软件包管理器:如RPM. 软件包管理器的前端工具:如YUM. 源代码编译.

Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理

在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 先我们先来看一下源代码的方式.我们知道,在开源的环境下,大多数的开源软件都是以源代码的形式来发布,通常将源代码打包成tar.gz的归档压缩文件发 布到网上供我们下载使用.但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上直接下载下来可执行的二进制文件,我们需要将下 载好的

linux入门基础——linux软件管理基础:YUM

YUM软件管理 YUM(yellowdog Updater,modified)是一个RPM的前端程序,主要的目的是设计用来自动解决RPM的依赖关系问题.其特点如下: 自动解决依赖关系 可以对RPM进行分组,并基于组进行安装操作 引入仓库概念,支持多个仓库 配置简单 YUM引入了仓库的概念,仓库用来存放所有现有的rpm软件包,当使用rpm安装一个rpm软件时,如果存在依赖关系,会自动在仓库中查找依赖软件并安装 仓库可以是本地的,也可以通过http.ftp或者NFS形式使用集中的.统一的网络仓库.

linux软件管理器之——rpm

rpm的全名为"RedHat Package Manager",是一种软件管理机制.顾名思义,这个机制最早是有RedHat公司开发出来的,后来因为实在很好用,包括fedora,centos,suse等知名厂商也使用了这个机制来作为软件安装的管理方式.rpm是以一种数据库记录的方式来将你所需要的软件安装到你的linux系统的一套管理机制. rpm包的命名格式     rpm的命名格式为:name-version-relase.arch.rpm version: major.minor.r