diff --git a/document/intro.tex b/document/intro.tex index aaf3d3e..c12c8c3 100644 --- a/document/intro.tex +++ b/document/intro.tex @@ -866,14 +866,19 @@ swap,linux(ext3、ext2、jfs、xfs、reiserfs),fat 为了解决第二个问题,首先在ri\_tk.py中定义了一个class:SoftwarePackageWindow,我认为也可以通过interface.xml定义再加上一些辅助函数,也可以达到同样效果;其次在ri\_tk\_cmd.py中,我定义了class GroupButton和GroupCheck,它们都定义了\_\_call\_\_(),于是它们的实例可以作为函数使用。第三,在construct属性所指向的“构造”函数中,我为每个软件组建立了一个Button或者CheckButton,它们的回调函数就是GroupButton或者GroupCheck的实例。 第二个问题的难点在于,每个软件组需要显示不同的必选软件包和可选软件包,显示逻辑本身又是一致的。比较容易想到的是,定义一个函数,函数有一个输入参数。但是Button的回调函数又要求是没有参数的,所以引入了“函数对象”。 -\subsection{服务显示界面} - \subsection{安装界面} 安装界面被设计成一个单独的进程,在interface.xml中没有它的定义。实际安装操作在大量的shell scripts中实现,这些shell scripts每一个都是独立的程序,互相没有调用关系。ri\_oper.py为每一个shell script定义一个class,这些class负责调用shell script并提供调用参数,还要通过管道提供输入,读取输出。安装界面有一个特殊之处,它提供了两种界面:tk和cli。我把涉及界面显示部分一一抽出来做成函数,比如显示目前安装步骤,显示安装进行了百分之多少......在ri\_install\_tk.py和ri\_install\_cli.py中都定义了这些的函数。最后,ri\_install.py根据输入参数,决定语言环境和显示界面,为众多ri\_oper实例赋予安装权重,调用ri\_oper实例的install函数。 \subsection{RAID~操作} mkraid.sh与其它脚本在调用参数和标准输入上有些差别,为了降低程序复杂度,专为它提供了mkraid\_wrapper.sh。目的是规范成与其它脚本相同格式的调用参数、标准输入、和标准输出。 +\section{没有做的事} +\section{安装程序使用} +\subsection{几种“非主流”安装方法} +\subsubsection{远程安装} +\subsubsection{利用配置好的xml安装} +\subsubsection{纯手工安装} +\subsection{安装过程中易碰到的问题} \appendix \section{Python \& TK}