当前位置:操作系统 > Unix/Linux >>

Linux下制作简单的仿Windows安装界面

安装包特性:

  1、开始拷贝文件之前的操作都具有可逆性;

  2、具有“默认安装”与“自定义安装”两种安装方式可选;

  3、自动生成卸载脚本;

  4、安装时能自动建立桌面快捷方式,卸载时能自动清除配置文件、游戏存档等软件残留文件。

  以下操作以在红旗桌面版4.1下制作EVA-0.4.0的安装包为例,需要读者掌握编写SPEC文件、建立与编辑桌面配置文件*.desktop、shell脚本编程、Xdialog方面的相关知识。

  制作步骤:

  1、以root身份登录系统,或者在普通用户下以root权限进行操作。

  2、获取软件编译安装后的目录结构

  将软件的源码压缩包放到/usr/src/redflag/SOURCES目录下,在/usr/src/redflag/SPECS目录下建立一个SPEC文件,例如eva.spec。内容为:

  %define prefix /usr

  %define appsdir /usr/share/applnk/App/Internet

  Name: eva

  Summary: KDE环境下的QQ客户端软件

  Version: 0.4.0

  Release: rfdt4.1

  Source0: %{name}-%{version}.tar.bz2

  Group: Applications/Internet

  BuildRoot: /tmp/build-root-%{name}

  License: GPL

  Url:

  [url=http://www.linuxfans.org/downloads/]http://www.linuxfans.org/downloads/[/url]

  Packager: your name

  %description

  Eva 是在KDE桌面下,基于Qt库开发的软件, ………

  %prep

  rm -rf %{buildroot}

  %setup -n eva

  %build

  ./configure --prefix=%{prefix}

  make

  %install

  [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

  mkdir -p $RPM_BUILD_ROOT%{appsdir}

  make DESTDIR=$RPM_BUILD_ROOT install

  cd $RPM_BUILD_ROOT

  find . -type d | sed '1,2d;s,^.,\%attr(-,root,root) \%dir ,' > $RPM_BUILD_DIR/file.list.%{name}

  find . -type f | sed 's,^.,\%attr(-,root,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}

  find . -type l | sed 's,^.,\%attr(-,root,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}

  %clean

  %files -f ../file.list.%{name}

  %defattr(-,root,root)

  %doc AUTHORS ChangeLog COPYING NEWS README README.zh

  

  %changelog

  在终端进入/usr/src/redflag/SPECS目录,执行:

  rpmbuild -bb eva.spec

  完成后,/tmp/build-root-eva目录下就是EVA-0.4.0编译安装后的目录结构,/usr/src/redflag/BUILD目录下的file.list.eva文件是EVA-0.4.0编译安装后的文件列表。

  3、配齐文件

  建立/tmp/evainstaller目录,将

  installer-files.tar.bz2

  解压后得到的installer-files文件夹里的所有文件都放到这个目录里。

  将/tmp下的build-root-eva目录拷贝到/tmp/evainstaller目录,改名为eva-0.4.0,在/tmp/evainstaller/eva-0.4.0/usr/share/applnk/App/Internet下建立 EVA 的开始菜单(K菜单)项目,记得包括eva-uninstall.desktop(执行的命令为“/usr/share/doc/eva-0.4.0/uninstall.bin”)。

  为“软件名-版本号-rfdt4.1-installer”和“软件名-版本号-rfdt4.1-setup”这两个文件改名,例如eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup,并建议一个软件的桌面配置文件(建立桌面快捷方式的时候使用),例如eva.desktop。

  4、修改eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup这两个文件

  其中eva-0.4.0-rfdt4.1-installer需要修改的地方只有“name=”和“ver=”这两个地方。

  而eva-0.4.0-rfdt4.1-setup需要修改的地方比较多,除了软件名和版本号需要定义外,“选择安装类型的模块”和“选择安装类型”需要修改文字说明;“默认安装的模块”和“自定义安装的模块”需要参照file.list.eva文件的内容来修改拷贝时的操作;“生成卸载脚本的模块”需要修改删除的文件和目录;“安装完毕给予提示的模块”需要修改文字说明。

  5、生成安装包

  至此,相关文件已经准备完毕了,最好检查一下,看看/tmp/evainstaller目录下的文件是否是这些:

  custom_install.xpm eva-0.4.0-rfdt4.1-setup uninstall_complete.xpm warning.xpm

  default_install.xpm eva.desktop uninstall.xpm

  eva-0.4.0 install_type.xpm Xdialog

  eva-0.4.0-rfdt4.1-installer the_end.xpm Xdialog.mo

  确认文件齐全后,将其压缩,在终端进入/tmp/evainstaller目录,执行:

  tar jcvf eva.tar.bz2 custom_install.xpm default_install.xpm eva-0.4.0 eva-0.4.0-rfdt4.1-setup eva.desktop install_type.xpm the_end.xpm uninstall_complete.xpm uninstall.xpm warning.xpm Xdialog Xdialog.mo

  

  合成安装包:

  cat eva-0.4.0-rfdt4.1-installer eva.tar.bz2 >eva-0.4.0-rfdt4.1-installer.bin

  chmod +x eva-0.4.0-rfdt4.1-installer.bin

  现在双击eva-0.4.0-rfdt4.1-installer.bin就可以开始安装了。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,