应用程序:

程序:Architecture

C语言:源代码——》(编译)二进制格式

脚本:解释器(二进制程序)

源代码——》编译——》链接——》运行

程序:

库:

静态

动态

静态连接(直接把需要的库文件打包进程序)

动态连接(将载入内存的库文件直接调用)

共享库

.so后缀(shared object)

配置文件

程序的组成部分:

1、二进制程序(二进制文件运行需要依赖于库,这里的库指的是共享库和程序自身提供的库)

库一般存放在/lib,/usr/lib路径,应用程序的库及系统底层glibc库都存放在/usr/lib路径

2、库

3、配置文件

4、帮助文件

系统目录

/boot:内核,initrd(initramfs),建议单独分区

/etc:配置文件

/usr

/var: 外围的文件系统,存放日志信息,和运行过程、临时文件等的区域,可以单独分区

/dev:设备文件,不能单独分区,2.6内核版本以后:udev提供动态配置外设的功能

/lib:库文件

/tmp:可以单独分区,至少400M空间

/bin:二进制程序

/sbin:二进制程序

/proc:伪文件系统,不能单独分区,是内核管理时使用的,默认为空的

/sys:伪文件系统,不能单独分区,是内核管理时使用的,默认为空的

/mnt

/media

/home:建议单独分区

/root:不能单独分区

/misc:杂项

/opt:早期很多三方软件,都存放在该目录

/srv

/usr/share/man:帮助文件

/etc ,/bin, /sbin, /lib, /usr/share/man,默认操作系统启动会用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上

另外的路径用于安装程序的路径:

一、/usr

bin

sbin

lib

以上的配置文件也存放在etc目录下,帮助文件也放在/usr/share/man目录下

操作系统核心功能,都在以上目录下,usr目录可以单独分区,可以类似像windows系统上,安装软件可以安装到其他盘,但重启系统程序可能无法正常启动,但在linux下,可以将所有的程序安装在usr目录下,重新格式化安装/etc,/bin,/sbin目录即可,安装的程序还可继续使用

二、/usr/local

bin

sbin

lib

etc

man

以上可以理解为一个独立体系,通常为安装的第三方软件,建议独立分区

/proc/cpuinfo 包含了CPU各种支持的指令集

软件包管理器:

1、打包成一个文件:二进制程序,库文件,配置文件,帮助文件

2、生成数据库,追踪所安装的每一个文件

软件包管理器的核心功能:

1、制作软件包

2、安装,卸载、升级、查询、校验

readhat,suse,debian

readhat,suse:rpm

readhat package manager

rpm is package manager

debian:dpt

依赖关系,解决方法:

前端工具:yum(Yellowdog update modifier),apt-get

后端工具:rpm,dpt

rpm命令

rpm:

数据库/var/lib/rpm

rpmbuild:

安装,查询,升级,检验,数据库的重建,验证数据包等工作:

RPM包的命名:

软件包名称:

组成部分:

主包:

bind-9.7.1-e151.i586.rpm

子包

bind-libs-9.7.1-e15.1.i586.rpm

bind-utils-9.7.1-e15.1.i586.rpm

包名格式:

name-version-release.arch.rpm

bind-major.minor.release-release(RPM作者编译的版本号).arch(平台).rpm

主版本号:重大改变会改变

次版本号:某个子功能发生重大 变化会改变

发行号:修改了部分bug,调整了一点功能会改变

bind-9.7.1.tar.gz 原代码

rpm包:

二进制格式:安装直接可以运行

rpm包作者下载源程序,进行编译配置完成后,制作成rpm包

源码格式:需进行编译,在平台上编译能更好的发挥性能

i686:32位平台

x64、x84是64位平台

noarch:什么平台都可以安装,bind-9.7.1-1.noarch.rpm

ppc:powper PC平台安装使用的,bind-9.7.1-ppc.rpm

rpm安装:

rpm -i /PATH/PACKAGE_FILE

-h 显示进度,以#号显示进度,每个#表示2%

-v 显示详细信息,-vv -vvvv

rpm - ivh /path/to/package_file

--nodeps:忽略依赖关系

--replacepkgs:重新安装,替换原有的安装

--oldpackage:降级

--force:强行安装,可以实现重装或降级

--test测试可不可以安装

rpm查询

rpm -q /path/package_file:查询指定的包是否已安装

-qa :查询已安装的所有的包

-qi PACKAGE_NAME:查询指定包的说明信息

-ql PACKAGE_NAME:查询指定包安装后生成的文件列表

-qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的

-qc package_name:查询指定包安装的配置文件

-qd package_name:查询指定包安装的帮助文件

-q --scripts package_name:查询指定包中包含的脚本

如果某rpm包尚末安装,我们需要查询其说明信息,安装以后会生成的文件

rpm -qpi /path/to/package_name(p是指定软件包的路径)

rpm -qpl 等用法

rpm升级

rpm -Uvh /path/to/newpackage_name:如果装有老版本的,则升级:否则安装

rpm -Fvh /path/to/newpackage_name:如果装有老版本的,则升级,否则退出不安装

rpm降级

rpm -ivh --oldpackage /path/to/oldpackage_name

rpm -Uvh --oldpackage /path/to/oldpackage_name

rpm卸载

rpm -e package_name(不能与其他软件包有依赖,如果有依赖是不允许卸载)

--nodeps

校验

rpm -V package_name[root@localhost Packages]# rm -rf /usr/share/zsh/5.0.2/functions/zrecompile

[root@localhost Packages]# vim /usr/share/zsh/5.0.2/functions/zfgcp

[root@localhost Packages]# rpm -V zsh

S.5....T.    /usr/share/zsh/5.0.2/functions/zfgcp

missing     /usr/share/zsh/5.0.2/functions/zrecompile

s.5....T.含义:

S:文件大小

M:权限

5:MD5值

D:主,次设备号

L:路径不匹配

U:属主

G:属组

T:修改时间

检验来源合法性,及软件包完整性

加密类型:

对称:加密解密使用同一个密钥

公钥:一对儿密钥,公钥,私钥,公钥隐含于私钥中,可以提取出来,并公开出去

单向:

/etc/pki/rpm-gpg/RPM-GPG-KEY-readhat-release 公钥的存放的位置,校验需将文件导入RPM包,如下:

rpm -K /papt/pachage_file,检验合法性。

dsa,gpg:验证来源合法性,也即验证签名,可以使用--nosignature,略过此项

sha1,md5:验证软件包完整性,可以使用--nodigest,略过此项[root@localhost Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #导入密钥

[root@localhost Packages]# rpm -K zsh-5.0.2-7.el7.x86_64.rpm

zsh-5.0.2-7.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

重建数据库

/var/lib/rpm

rpm

--rebuilddb:重建数据库,一定会重新建立数据库

--initdb:初始化数据库,没有才建立,有就不用建立

yum repository

文件服务:

ftp

web

file

client:

配置文件

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

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

comps*.xml

RPM包分组信息

配置文件:/etc/yum.conf

如何为yum定义repo文件

[Repo_Nmae]:标识ID

name=:Description

baseurl=:

ftp://

http://

file:///

enabled={1|0}

gpgcheck={1|0}

gpgkey=path

yum命令

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

-y:自动回答为yes

--nogpgcheck

list:列表

可以使用格式:yum list all bash*(支持glob)

all

available:可用的,仓库中有但尚未安装的

installed:已经安装的

updates:可用的升级

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

repolist: [all|enabled|disabled]:显示repo列表,默认显示enabled

install :安装

yum install PACKAGE_NAME

update:升级

update_to:升级为指定版本

remove|erase:卸载

info package_name:等于rpm -qi 查询指定包的说明信息

provides|whatprovides:查看文件是由哪个安装包生成的,等于rpm -qf

groupinfo

grouplist:显示所有组

groupinstall:安装组

yum groupinstall "development tools" "development libraries"

group

search STRING1:以字符串查询软件包名称

reinstall:重装

localinstall:安装本地软件包

yum localinstall --nogpgcheck PACKAGE_NAME

如何创建yum仓库步骤:

createrepo:创建元数据

createrepo /path/to/soft

yum clean all

yum repolist

如果需要定义为主的,需要将使用RPM包分组信息文件重建,如下:

createrepo -g /root/comps-rhel5-vt.xml /yum/vt

定制:手动编译安装

编译环境,开发环境

开发库,开发工具

C,C++,perl,java,python

c,c++编译工具:

gcc:GUN c complier,c

g++:

make:项目管理工具

makefile:定义了make(GCC,G++)按何种次序去编译这些源程序文件中的源程序

编译安装的三步骤

前提:准备开发环境(编译环境)

安装RHLE5“development tools" "development Libraries"

安装RHLE6 "development tools" "compatibility libraries"(兼容库)

#tar

#./configure

--help :获取使用

--prefix=/path/to/somewhere:指定安装路径

--sysconfdir=/path/to/conffile_path:指定配置文件安装路径

功能:1、让用户选定编译特性;2、检查编译环境

#make

#make install

示例安装tengine服务:

下装source文件,安装好开发或编译环境

./configure --prefix=/usr/local/tengine --conf-path=/etc/

make

make install

vim /etc/profile--> PATH=$PATH:/usr/local/tengine/sbin(将nginx命令加入环境,可直接使用)

source /etc/profile,加载环境变量

如果安装到非默认路径下,需注意

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,增加MANPATH路径。或 man -M /path/to/man_dir Command(重启失效)#!/bin/bash

#

POSTFIX=`echo $1 |awk -F. '{print $2}'`

if [ "$POSTFIX" != "repo" ];then

echo -e  "\033[31mcreaterepo Usage: FILENAME.repo\033[0m"

exit 7

fi

cd /etc/yum.repos.d/

if [ -e $1 ];then

echo "$1 existed"

exit 9

else

touch $1 &> /dev/null

echo "$1 touch sucessful"

fi

read -p "Enter your repo_id: " REPO_ID

until [ $REPO_ID == 'quit' ];do

echo "[$REPO_ID]" >> $1

read -p "Enter your repository name: " REPO_NAME

echo "name=$REPO_NAME">> $1

read -p "Enter your repository url: " REPO_URL

echo "baseurl=$REPO_URL">>$1

read -p "Enter your enabled value: " REPO_ENABLE

echo "enabled=$REPO_ENABLE">>$1

read -p "Enter your gpgcheck value: " REPO_GPGCHECK

echo "gpgcheck=$REPO_GPGCHECK" >> $1

read -p "Enter your gpgfile path: " REPO_GPGFILE

echo "gpgkey=$REPO_GPGFILE">>$1

read -p "Enter your repo_id agin: " REPO_ID

done

netstat 命令

-r:显示路由表

-n:以数字方式显示

-t:建立的TCP连接

-u:显示UDP连接

-l:显示监听状态的连接

-p:显示监听指定的套接字的进程的进程号及进程名

linux netstat安装包,linux软件管理之rpm、yum netstat命令相关推荐

  1. linux rabbitmq安装包,Linux安装RabbitMQ

    一.安装Erlang环境 1.在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错): yum install gcc glibc-devel mak ...

  2. linux wireshark安装包,linux下安装wireshark

    安装 Windows下使用网络截包软件,一般使用都是使用图形化的软件,如Sniffer Pro /Ethereal/EtherPeek ,Linux 下字符界面的TCPDump 操作实现太难记了,而且 ...

  3. linux systat安装包,Linux下sysstat 安装

    在Linux系统下获取sysstat-10.0.5.tar.gz的两种方式: 方式一: 1. 下载sysstat-10.0.5.tar.gz到本地 2. 通过CRT使用rz命令上传 方式二: # wg ...

  4. linux 脱机安装包,linux 离线下载rpm安装包

    下载依赖文件,离线安装 离线下载 ### 下载到指定目录 $ sudo yum install --downloadonly --downloaddir=/tmp redis依赖包 yum insta ...

  5. linux下如何安装软件?——linux应用软件安装包类型及安装介绍

    原文:http://blog.chinaunix.net/uid-24612962-id-3181499.html 一.解析Linux应用软件安装包,通常Linux应用软件的安装包有四种: 1) ta ...

  6. Linux PRM(安装包)管理YUM 详细注解

    PRM(安装包)包管理 由Red Hat(红帽子)公司提出,被众多linux发行版采用,后缀是rpm是安装包 二进制无需翻译,可直接使用,无法设定个人设置,开关功能   安装包名字是由:  安装包名  ...

  7. Linux 各种安装包

    1.通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. 2) rpm包,如software-1.2. ...

  8. 【Linux学习笔记8】软件管理与软件仓库

    文章目录 1.Linux中软件包的类型 1.1.DEB 1.2.RPM 1.3.bz2 | gz | xz 2.软件包的名称结构 3.rpm命令-管理软件包 4.本地软件仓库的搭建 4.1.系统软件仓 ...

  9. linux 查找安装包路径,查看yum安装软件包的路径

    Linux系统下查找安装包所在目录的方法,linux中查看软件文件安装路径,Linux查看软件安装路径,linux查找安装包路径,rpm查找安装包路径 rpm rpm -qa | grep php-f ...

最新文章

  1. 漫画:产品经理的这些“谎言”,你一定中招过!!!
  2. iOS 工程师被要求写小程序,过分吗?| 每日趣闻
  3. 用神经网络构造一个基于分类的多体系统
  4. boost::sort模块实现spreadsort 键和数据排序示例
  5. linux下的精确wait
  6. Python中dataframe数据框中选择某一列非空的行
  7. Google Chrome 将禁止“退格键”作为后退按钮使用
  8. Python全栈开发——线程与进程的概念
  9. winxp网络找不到计算机,WinXP系统电脑打开WiFi搜索不到无线网络的解决方法
  10. linux rpm和deb的区别,rpm与deb都是什么呢 有什么区别呢
  11. 如何创建表以及设计表需要注意什么,oracle五种限制
  12. 用python一键生成动画(上)
  13. win10 tensorflow-gpu1.4 rtx2060 安装详细教程 fater-rcnn
  14. 设备加密有什么作用?
  15. 人和人之间的距离有多远
  16. 仅用 CSS 实现赛博朋克 2077 风格视觉效果
  17. python名片二维码生成功能的实现 200305
  18. 一文彻底讲透@Async注解的原理和使用方法
  19. golang的一些测试技巧和工具
  20. TI C2000系列TMS320F2837xD开发板(DSP+FPGA)硬件规格参数说明书

热门文章

  1. 开发计算机程序用英语怎么说,[计算机程序用英语怎么说]用英语怎么说
  2. android调整屏幕亮度
  3. 如何查看oracle的DUMP_DIR,Oracle expdp impdp dump参数介绍
  4. 动态规划,且学且放弃
  5. html表白知乎,为了今晚的表白,我爬了知乎热门撩妹情话
  6. CleanMyMac X软件到底值不值得安装下载?
  7. eSearch使用教程大全
  8. Android.mk文件语法规范(Android.mk File)
  9. 直播 | 对话V神 以太坊核心研究者:ETH2.0 蓄势待发,我们应该如何参与?
  10. linux和mac下的电骡 amule 2.2.6下载,aMule Mac版下载_aMule Mac版官方下载-太平洋下载中心...