1 yum 是一种rpm高级管理包工具
它有效的维护了包所有dependency关系
它有这些用法
yum list
yum install/remove/update packageName
yum groupinstall/remove/update groupName
yum clean all
2 createrepo 是建立包仓库
用法
createrepo -g group-repo.xml /root/repo
group-repo.xml 定义每组包的关系
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
<group>
<id>mes-foundation</id>
<default>false</default>
<uservisible>True</uservisible>
<display_order>1</display_order>
<name>mes-foundation</name>
<description>all software packages are MES foundational software</description>
<packagelist>
<packagereq type="default">test</packagereq>
<packagereq type="default">teste2</packagereq>
</packagelist>
</group>
</comps>
3 rpmbuild 用来创建 RPM包
rpm是redhat 建立的一个包方法.
它有自己定义的目录结构
mkdir -p ~/rpmbuild/{BUILD,RPMS,S{OURCE,PEC,RPM}S}
or
cp -a /usr/src/rehat ~/rpmbuild
它包含 编译 安装 等一些过程. 这些描述是在spec文件中进行定义的
%define name test
%define summary test.
%define version 2.0
%define release 01
%define buildroot %{_tmppath}/%{name}
Name: %{name}
Version: %{version}
Release: %{release}
Packager: %{software_packager}
Vendor: %{software_vendor}
License: %{software_license}
Summary: %{summary}
Group: %{software_group}
URL: %{software_url}
Prefix: %{_prefix}
Buildroot: %{buildroot}
Autoreq: 0
%description
test.
Requires: test2
%prep
mkdir -p $RPM_BUILD_ROOT/usr/lib/test
%build
%pre
%install
%clean
%check
%prepost
%post
/usr/sbin/useradd -u 644 test
%files
%defattr(-,root,root)
/etc/ssh/test
%dir /etct/ssh/test
%prepostun
%postun
%triggerpostin -- jdk
%triggerpostun -- jdk
之后
rpmbuild -bb --target=i386_linux test.spec
3 rpm 用法
rpm -qa 查询所有包
rpm -ql test 查询test包安装包含的所有文件
rpm -q --scripts test 查询test包中包含的所有shell
rpm -i test 安装
rpm -e --noscripts test 删除包但不执行shell
它有效的维护了包所有dependency关系
它有这些用法
yum list
yum install/remove/update packageName
yum groupinstall/remove/update groupName
yum clean all
2 createrepo 是建立包仓库
用法
createrepo -g group-repo.xml /root/repo
group-repo.xml 定义每组包的关系
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
<group>
<id>mes-foundation</id>
<default>false</default>
<uservisible>True</uservisible>
<display_order>1</display_order>
<name>mes-foundation</name>
<description>all software packages are MES foundational software</description>
<packagelist>
<packagereq type="default">test</packagereq>
<packagereq type="default">teste2</packagereq>
</packagelist>
</group>
</comps>
3 rpmbuild 用来创建 RPM包
rpm是redhat 建立的一个包方法.
它有自己定义的目录结构
mkdir -p ~/rpmbuild/{BUILD,RPMS,S{OURCE,PEC,RPM}S}
or
cp -a /usr/src/rehat ~/rpmbuild
它包含 编译 安装 等一些过程. 这些描述是在spec文件中进行定义的
%define name test
%define summary test.
%define version 2.0
%define release 01
%define buildroot %{_tmppath}/%{name}
Name: %{name}
Version: %{version}
Release: %{release}
Packager: %{software_packager}
Vendor: %{software_vendor}
License: %{software_license}
Summary: %{summary}
Group: %{software_group}
URL: %{software_url}
Prefix: %{_prefix}
Buildroot: %{buildroot}
Autoreq: 0
%description
test.
Requires: test2
%prep
mkdir -p $RPM_BUILD_ROOT/usr/lib/test
%build
%pre
%install
%clean
%check
%prepost
%post
/usr/sbin/useradd -u 644 test
%files
%defattr(-,root,root)
/etc/ssh/test
%dir /etct/ssh/test
%prepostun
%postun
%triggerpostin -- jdk
%triggerpostun -- jdk
之后
rpmbuild -bb --target=i386_linux test.spec
3 rpm 用法
rpm -qa 查询所有包
rpm -ql test 查询test包安装包含的所有文件
rpm -q --scripts test 查询test包中包含的所有shell
rpm -i test 安装
rpm -e --noscripts test 删除包但不执行shell