系统级
C
C++
应用级
java
python
php
程序包管理器
debain:deb dpt
redhat:rpm
redhat package manager
Gentoo
Archlinux
rpm包命名
name-version-arch.rpm
arch:release.arch
常见arch
x86:i386;486;586;686
x86_64:x64,x86_64,amd64
powerpc:ppc
和平台无关:noarch
testapp:拆包
查看二进制成语依赖的库文件
ldd /path/binaryfile
查看管理本机装载的库文件
ldconfig
/sin/ldconfig -p
配置文件为 /etc/ld.so.conf /etc/ld.so.conf/*.conf
缓存文件 /etc/ld.so.cache
包管理rpm
前段工具yum dnf
源 Fedora-EPLE
http://pkgs.org
rpmfind.net
rpm.pbone.net
rpm -v verbose
-h 以#表示安装进度一个#表示%2
-i install
--test 测试安装
--nodeps 忽略依赖性
--replacepkgs 重新安装
--nosignature 不检查来源合法性
--nodigest 不检查包完整性
--noscripts 不执行脚本片段
%pre 安装前 --no..就是不
%post 后
%preun 卸载前
%postun 后
rpm -Uvh
upgrage安装有旧版程序包,则升级;不存在则安装
rpm -Fvh
freeshen安装有旧版程序包,则升级;不存在则不升级
--force 强制
--oldpackages 降级
查询
-a 所有包
-qf或者-ql /bin/ls
-c 配置
-d 文档
-i 信息
-l 安装后生成的所有文件
-R 查看指定程序包依赖的capability
--provides 提供的capability
-p /path 针对未安装的包文件查询
一般
-qi pkgs -qf file -qc pkgs -ql pkgs -qd pkgs
-qpi pkgfile -pql pkgfile
-qa 所有
卸载
-e
来源合法性
公钥加密:可以公开
私钥加密:自己用来加密的
对称加密:加密解密使用同一秘钥
非对称机密:秘钥成对
导入所需要的公钥
rpm --import /GPGpPUBKEY-FILE
rpm数据库重建
rpm {--initdb|--rebuilddb}
initdb 不存在则新建否则不建立
rebuilddb 强制重建
yum文件服务器
ftp://
http://
nfs://
file://
配置文件 /etc/yum.conf
/etc/yum.repo.d/X.repo
配置文件
[仓库名]
name:
baseurl=url://
enabled={1|0} #写在前面的是默认启用
gpgcheck=0
yum list all|updates|available|install
yum check-update
yum erase|remove pkgs -y
查看程序包
yum info gcc
yum provides|whatprovides gcc
yum clean all|packages|metadata|expire-cache|rpmdb|plugins 清除元数据
构建缓存
make cache
search 关键字
deplist查看依赖性
yum history [packages-list|packages-info|list|info]
yum groupinstall pkgs
yum clean all
yum repolist
命令行
yum --nogpgcheck
-q 静默
--disablerepo=repoidglob 本次命令临时禁用此处指定的repo
--enablerepo=repoidglob
--noplugins 禁用所有插件
源代码组织格式
C、C++: make
java: maven
C源编译安装三步骤
./configure
1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户指定以及makifile.in文件生成的makefile
2)检查依赖到的外部环境
make
根据makefile文件,构建应用程序
make install
开发工具:
autoconf 生成configure脚本
automake 生成makefile.in
gcc是(GNU C Complier)
编译C源代码:
前提:提供开发工具和开发环境
开发工具:make gcc等
开发环境:开发库,头文件
glibc:标准库
通过“包组”提供开发环境 yum grouplist
./configure
--help 获取支持项
安装路径设定
--prefix=/path/ 不指定则自动创建了
可选特性
--disable-FEATURE
--enable-FEATURE
可以选择启动默认不启动的
可选程序包
--with-PACKAGES
--without-pkg
例如 cd httpd-2.2.29
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2
make
make install
安装后的配置
1导出二进制程序目录至PATH环境变量中
编辑文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
2导出库文件路径
编辑/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录到此文件中
让系统重新生成缓存
ldconfig [-v]
3导出头文件
基于连接的方式实现
ln -sv
4导出帮助手册
编辑/etc/man.config
添加一个MANPATH参数