码迷,mamicode.com
首页 > 系统相关 > 详细

linux--软件管理

时间:2017-08-08 17:47:37      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:clu   modifier   toc   base   bsp   primary   tool   other   yum仓库   

 

/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

 

linux--软件管理

标签:clu   modifier   toc   base   bsp   primary   tool   other   yum仓库   

原文地址:http://www.cnblogs.com/ckh2014/p/7307845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!