Windows与Linux不兼容
库级别虚拟化:
Linux:WINE
Windows:Cygwin
程序包管理器:
debian:deb,dpt
redhat:rpm,rpm
Archlinux
Gentoo
获取rpm程序包的途径:
1、系统发行版光盘或官方的服务器
centos镜像:
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
2、项目官方站点
3、第三方组织:
Fedora-EPEL
搜索引擎:
https://pkgs.org/
http://rpmfind.net/
http://rpm.pbone.net/
4、自己制作;
rpm命令实现程序管理:
安装:-ivh,–nodeps,–replacepkgs
卸载:-e,–nodeps
升级:-Uvh,-Fvh,–nodeps,–oldpackage
查询:-q,-qa,-qf,-qi,-ql,-qd,-qc,-q –scripts,-q –provides,-q –requires
校验:-V
导入GPG密钥:–import,-K,–nodigest(),–nosignature
数据库重建:–initdb,–rebuilddb
CentOS的rpm前端工具:yum,dnf
yum repo:储存了众多的rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata);
yum客户端配置文件:/etc/yum.conf,/etc/yum.repos.d/*.repo
仓库的定义文件:
[repositoryid]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0}
gpgcheck{1|0}
gpgkey=URL
failovermethod=roundrobin|priority
cost=默认为1000
yum命令的用法:
显示仓库列表:
repolist [all|enabled|disabled]
显示程序包:
list
安装程序包:
install package1 [package2] […]
reinstall package1 [package2] […](重新安装)
升级程序包:
update [package1] [package2] […]
downgrade package1 [package2] […](降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2] […]
查看程序包信息:
info
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地缓存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
makecache
搜索:以指定关键字搜索程序包及summary信息:
search string1 [string2] […]
查看指定包所依赖的capability:
deplist package1 [package2] […]
查看yum事务历史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
包组管理的相关命令:
group list
group info
group update
group install
group remove
如何实用光盘当做本地yum仓库:
(1)挂载光盘至某目录,例如/media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
(2)创建配置文件
[CentOS7]
name=
baseurl=
enabled=
gpgcheck=
yum命令行的选项
–nogpgcheck:禁止进行gpg check;
-y:自动回答为“yes”;
-q:静默模式,也自动回答为yes;
–disablerepo=repoidglob:临时禁用此处指定的repo;
–enablerepo=repoidglob:临时启用此处指定的repo;
–noplugins:禁用所有插件;
yum的repo配置文件中可用的变量:
$releasever:当前OS的发行版的主版本号;
$arch:平台;
$basearch:基础平台;
$YUM0-$YUM9:自定义变量
创建yum仓库:
createrepo [options] <directory>
编译安装三步骤:
./configure:
(1)通过选项传递参数,指定启用特性、安装路径等,执行时会参考用户的指定及makefile.in文件生成makefile;
(2)检查依赖到的外部环境;
make:
根据makfile文件,构建应用程序;
make install
开发工具:
autoconf:生成configure脚本;
automake:生成makefile.in
建议:安装前查看INSTALL,README
开源程序源代码的获取:
1、官方自建站点:例如apache.org;mariadb.org
2、代码托管:SourceForge、github.com、code.google.com
编译C源代码:
前提:提供开发工具及开发环境:
开发工具:gcc、make等;
开发环境:开发库、头文件
glibc:标准库
通过包组提供开发组件:
centos6:“development tools”、“server platform development”
centos7:“development tools”
第一步:configure脚本
选项:指定安装位置、指定启用的特性等
–help:获取其支持使用的选项
选项分类:
1、安装路径设定:
–prefix=:指定默认安装位置;默认为/usr/local/
–sysconfdir=:指定配置文件的安装位置;
2、system types:
optional feature:可选特性;
–disable-FEATURE
–enable-FEATURE[=ARG]
optional packages:可选包;
–with-PACKAGE[=ARG]
–without-PACKAGE
第二步:make
第三步:make install
安装后的配置:
(1)导出二进制程序目录至PATH环境变量中;
编辑文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
重新加载下此配置文件:
# source /etc/profile.d/NAME.sh
(2)导出库文件路径;
编辑/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录位置至此文件中;例如:/usr/local/apache2/lib
让系统重新生产缓存:
ldconfig [-v]
(3)导出头文件;
基于符号链接的方式实现:
ln -sv 头文件目录 /usr/include/NAME
(4)导出帮助手册;
编辑/etc/man_db.conf文件
添加一个MANPATH
源码制作成rpm程序包
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90824