Fedora upgrade method

Fedora 16升级到Fedora 17

1 升级准备
本文使用的命令必须使用root权限运行。需要使用root登录并打开终端(Fedora 16桌面,使用程序>系统工具>终端 打开),如果你是使用普通用户登录的系统,请使用下面的命令获取root
权限。

su 

请确保你要升级的系统有至少600M及以上的内存 ,否则系统会在重启出现下面的信息时陷入死机(不能使用的系统将抛弃你)。
Trying to unpack rootfs image as initramfs…
(尝试初始化内存系统卸下根文件系统映像……

2升级到Fedora 17(桌面版)
首先要升级rpm
软件包:

yum update rpm  

然后安装最新的更新:

yum -y update 

接下来清除yum的缓存:

yum clean all 

如果你注意到有新的核心在yum -y update期间安装,你需要重启系统。

reboot 

(重启后使用root登录,或者同样使用:

su 

获取相应权限)
现在我们可以进入升级进程了,我们可以用preupgrade来完成(preupgrade需要维护你的RPM Fusion
软件包)。

安装preupgrade

yum install preupgrade 

然后调用它:

preupgrade 

你的桌面将出现preupgrade向导,选择Fedora 17 (Beefy Miracle),之后系统将准备好开始升级了。
在向导末尾,点击重启(reboot)按钮,从重启菜单里,选择Fedora 17 (Beefy Miracle)

在重启过程中,系统执行升级过程,这个过程会花费相当长的时间,所以你要有一定的耐心。
完成后你就可以登录进入Fedora 17
的新桌面。

3升级到Fedora 17(服务器版)
首先需要更新rpm
软件包:

yum update rpm  

然后安装最新更新:

yum -y update 

接下来清除yum缓存:

yum clean all 

如果你发现在yum -y update期间有新的核心安装,你需要重启系统:

reboot 

(重启后使用root登录,或者同样使用:

su 

获取相应权限)
现在可以进入升级进程,同样可以使用preupgrade
安装preupgrade

yum install preupgrade 

之后这样调用它:

preupgrade-cli 

现在会有个发布版列表供你选择,如果不出意外,在列表里会有类似Fedora 17 (Beefy Miracle)的选项。

[root@server1 ~]# preupgrade-cli 

 

Loaded plugins: blacklist, langpacks, whiteout 

 

No plugin match for: rpm-warm-cache 

 

No plugin match for: remove-with-leaves 

 

No plugin match for: auto-update-debuginfo 

 

Loaded plugins: langpacks, presto, refresh-packagekit 

 

please give a release to try to pre-upgrade to 

 

valid entries include: 

 

"Fedora 17 (Beefy Miracle)" 

 

[root@server1 ~]#   

使用如下命令定位升级:

preupgrade-cli "Fedora 17 (Beefy Miracle)" 

Preupgrade同样需要维护你的RPM Fusion软件包,preupgrade完成后你需要做的就是重启:

reboot 

在启动菜单里,选择Upgrade to Fedora 17 (Beefy Miracle)

在重启过程中,系统执行升级过程,这个过程会花费相当长的时间,所以请耐心等候。完成后你就可以登录Fedora 17服务器。

 

 

 

fedora 17升级到18

新的升级程序fedup可以将fedora升级到fedora 18fedora 17以下的系统不支持fedup,需要使用原来的升级程序:Preupgrade

 

首先安装fedup,命令:sudo yum install fedup

 

fedup可以通过三种方式升级:使用网络安装源、本地 ISO 镜像或本地设备(例如硬盘或者光盘)fedora官方网站推荐使用网络安装源:网络更新将确保您获得最新的 fedora 18 软件包。如果您的本地安装源不是最新的 fedora 18 组件,您可能会发现系统是一个由 fedora 17 fedora 18 两个版本的软件包组成的混合体。直到您升级所有软件至最新版系统并重启才可能正常工作 (如果还启动的话)

 

1. 通过网络升级:sudo fedup-cli –network 18

 

2. 通过本地ISO升级:sudo fedup-cli –iso /home/user/fedora-18.iso

 

3. 通过本地设备升级:sudo fedup-cli –device /mnt/fedora

 

fedup完成之后系统会重启,一旦系统重启,GRUB 菜单将会有一个新的条目“system upgrade”,选择这个菜单继续运行。注意,这里有个bug:进度条不会变化,实际上升级程序正在运行,按下“esc”键能看到详细的过程。完成之后将再次重启。之后整个升级过程完成。

 

升级完成之后清理冗余文件:fedup –clean

PGCLOS — close the selected graphics device

PGCLOS – 关闭选定的图形设备

对应的C函数为 void cpgclos(void);
               关闭当前选定的图形设备。在设备关闭后,如果需要再次绘图,需要用PGSLCT选择另一个设备或者使用PGOPEN重新打开一个设备。如果调用PGCLOS的请求被忽略,一些图像可能会丢失。
[这个函数实在PGPLOT 5.1.0.版本中添加了,老版本用PGEND 代替。]
参数: 

PGCIRC –draw a circle, using fill-area attributes

cpgcirc – 使用填充区域的属性绘制圆

对应的C函数为 void cpgcirc(float xcent, float ycent, float radius);
               画圆,这个函数用到了区域填充的设置。如果区域填充的类型是
SOLID (默认),那么圆的内部也是使用当前颜色索引solid的。如果填充类型是HOLLOW, 则只有圆(空心)的轮廓线条采用当前线条的属性(颜色索引、线条类型和线条宽度)设置。
参数:
 XCENT  (输入)  : 圆心的x坐标
 YCENT  (输入)  : 圆心的y坐标
 RADIUS (输入)  :  圆的半径

clip_image002

PGBOX–draw labeled frame around viewport

cpgbox – 在视口周围的框架上标记标签

对应的C函数为 void cpgbox(const char *xopt, float xtick, int nxsub, const char *yopt, float ytick, int nysub);
               给视口注释框架、轴线和数字标记等。
               PGBOX PGENV调用,也可以独自使用。
参数:
 XOPT   (输入)  : X坐标轴的选项字符串,选项可以使单个字符串或者多个字符串(没有顺序安排)
 XTICK  (输入)  : X坐标轴的主要标记坐标间隔,如果XTICK=0.0,那么坐标间隔主要标记将有PGBOX自行选择,所以坐标轴上至少有三个主要的标记符号。
NXSUB  (输入)  : X坐标轴的坐标间隔之间有几个刻度值。同样如果XTICK=0.0或者NXSUB=0,这个数据将有PGBOX自行选择。
 YOPT   (输入)  : Y坐标轴的选项字符串,选项可以使单个字符串或者多个字符串(没有顺序安排)
 YTICK  (输入)  : Y坐标轴的主要标记坐标间隔,如果XTICK=0.0,那么坐标间隔主要标记将有PGBOX自行选择,所以坐标轴上至少有三个主要的标记符号。
 NYSUB  (输入)  : Y坐标轴的坐标间隔之间有几个刻度值。同样如果YTICK=0.0或者NYSUB=0,这个数据将有PGBOX自行选择。
选项 (参数XOPTYOPT):
 A : 绘制坐标轴(X坐标轴为水平线条Y=0,Y坐标轴为水平线条X=0)
 B : 绘制框架的左(Y)下(X)边缘
C : 绘制框架的右(Y)上(X)边缘
 G : 绘制网格线条
 I : 将刻度标记放置于视口的外部而不是内部
 L : 对数形式标记坐标轴
 N : 在主要的间隔上(X轴下方,Y轴左方)标记数值
 P : 扩展主要间隔的刻度标记超出视口,如果选项中有I,这个就可以忽略
 M : 在非常规的地方做出数值标记(X轴上方,Y轴右方)
 T : 在主要坐标间隔上做出刻度标记
S : 画出主要间隔的分割的小的刻度标记
 V : 垂直放置数值标记,只是用于Y轴,默认为平行于Y坐标轴
 1 : 强制十进制形式标记
 2 : 强制指数形式标记
               为了得到一个完整的框架,XOPTYOPT必须都指定选项BC
               在调用PGENV 是,通过调用PGBOX, 可以通过参数AXIS来设置XOPTYOPT,两者关系如下:
-1: 'BC', 0: 'BCNST', 1: 'ABCNST', 2: 'ABCGNST'.
               对指数坐标轴而言,主要间隔一直为1.0
               如果希望坐标轴以时间或角度为单位,可以调用PGTBOX

PGBIN –histogram of binned data

cpgbin – 数据的直方图

对应的C函数为 void cpgbin(int nbin, const float *x, const float *data, Logical center);
               绘制有NBIN个值的直方图。
参数:
 NBIN   (输入) :  显示直方图的个数
 X      (输入)  : 直方图的横坐标
 DATA   (输入)  : 直方图的数据值
 CENTER (输入)  : 如果为1,则X坐标位于直方图中间,为0,则坐标值位于直方图起始的位置。
clip_image002

PGBEG –open a graphics device

cpgbeg – 打开一个图形设备

对应的C函数为 int cpgbeg(int unit, const char *file, int nxsub, int nysub);
               新的程序最好用PGOPEN而不是PGBEGPGOPEN会保留现存程序的兼容性。PGBEG不像PGOPEN,它将关闭打开的任何图形设备,所以对于它不能被用于并行的打开设备。
               PGBEG 为随后的绘图打开一个图形设备或者一个文件。在调用其他子程序之前,都必须使用PGBEGPGOPEN打开一个设备。
返回值:
 PGBEG         : 返回1成功,其他失败并在标准错误单元中显示错误信息。
参数:
 UNIT  (输入)   : 0(惯例)
 FILE  (输入)   : 输出设备或文件名,参考PGOPEN
 NXSUB  (输入)  : 视图面细分的X轴(横向)个数
 NYSUB  (输入)  : 视图面细分的Y轴(纵向)个数

         PGPLOT将在屏幕上显示NXSUB * NYSUB个图像。如果有N个细分视图的话,PGPAGE 将移动到下一个子视图,而不是下一个物理页。如果NXSUB > 0, PGPLOT将横向排列,如果 NXSUB <0, PGPLOT将纵向排列。

PGBBUF – begin batch of output (buffer)

cpgbbuf – 开始批处理输出 (buffer)

对应的C函数为 void cpgbbuf(void);
               开始保存图形的输出命令到一个内部的buffer;这个函数与PGEBUF成对使用(或者这个bufferPGUPDT清空)。这个函数极大地改进了PGPLOT的效率。PGBBUF会增加一个内部计数器,而PGEBUF减少这个内部计数器,当这个计数器降到0的时候将把buffer中的内容输出到设备。
               PGBBUFPGEBUF 应成对出现。
参数: 

PGBAND –read cursor position, with anchor

cpgband – 读取有锚定点的光标位置

对应的C函数为 int cpgband(int mode, int posn, float xref, float yref, float *x,  float *y, char *ch_scalar);
               用户读取光标位置和字符类型。位置返回值为世界坐标。如果POSN=1PGBAND 指出光标的位置,并且允许用户使用鼠标或者方向键移动光标。在确定光标位置后,用户可以输入键盘上的一个字符;PGBAND将返回这个字符和新的光标位置。
               一些交互设备提供了一些光标类型的可选项,一般而言都是较细的线条,但在绘制这个的时候,不会擦除以前的绘图。
               下面的关于MODE的选项也和锚定点XREF,YREF有关。对于设备不支持光标类型的,默认MODE=0.
如果 MODE=0, 锚定点将被忽略,类似PGCURS.
如果 MODE=1, 从锚定点到光标位置绘制一个直线线条
clip_image002
如果 MODE=2, 从锚定点(左下角)到光标位置(右上角)绘制一个中空的矩形。当然矩形的边缘为平行或者垂直的。
clip_image004
如果 MODE=3, 绘制两条扩展并横跨显示宽度的水平线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的Y轴范围。
clip_image006
如果 MODE=4, 绘制两条扩展并横跨显示宽度的垂直线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的X轴范围。
clip_image008
如果 MODE=5, 只绘制一条水平线条
clip_image010
 
如果 MODE=6, 只绘制一条水平线条
clip_image012
如果 MODE=7, 以光标为中心绘制一个十字交叉线
clip_image014
返回值:
 PGBAND          : 成功返回1;无光标或失败返回0
参数:
 MODE   (输入)  : 显示方式 (07:上面有描述).
 POSN   (输入)  : 如果POSN=1, PGBAND 将把光标放在点(X,Y); 
如果POSN=0,光标将被放置在当前的位置
 XREF   (输入)  : 锚定点的x坐标
 YREF   (输入)  : 锚定点的y坐标
 X      (输入/输出) : 光标的x坐标
 Y      (输入/输出) : 光标的y坐标
 CH     (输出) : 用户输入的字符值,如果没有光标或者出现错误,返回’\0’

PGAXIS –draw an axis

cpgaxis 绘制一个轴

对应的C函数为 void cpgaxis(const char *opt, float x1, float y1, float x2, float y2, float v1, float v2, float step, int nsub, float dmajl, float dmajr, float fmin, float disp, float orient);
               绘制一个从点(X1,Y1)到点(X2,Y2)的轴。
               正常情况下,这个函数绘制一条平均细分的标准线。
               如果选项'L'存在,那么将绘制对数轴。
参数:
 OPT    (输入)  : 单字符选项:
                   L : 绘制对数轴
                   N : 标记数字坐标
                   1 : 强制十进制坐标
                   2 : 强制指数坐标
 X1, Y1 (输入)  : 绘制坐标轴的一点
 X2, Y2 (输入)  : 绘制坐标轴的另一点
 V1     (输入)  : 绘制坐标轴的起始值
 V2     (输入)  : 绘制坐标轴的终止值
 STEP   (输入)  : 绘制坐标轴的主要刻度标记如果STEP=0.0,则有pgplot自动选择
 NSUB   (输入)  : 绘制坐标轴的细分刻度标记,如果NSUB <= 1,则不显示。如果是对数轴,NSUB将被忽略。
 DMAJL  (输入)  : 坐标轴上方刻度标记的长度
 DMAJR  (输入)  : 坐标轴下方刻度标记的长度
 FMIN   (输入)  : 主刻度之间小的刻度标记
 DISP   (输入)  : 底部坐标距离轴的距离
 ORIENT (输入)  : 标签文本的角度方位 (0-360°).
clip_image002

PGASK –control new page prompting

cpgask 控制新页的提示

对应的C函数为 void cpgask(Logical flag);
               改变PGPLOT的提示状态。如果提示状态是开的,那么PGPAGE 将提示``Type RETURN for next page:''并等待用户输入回车以显示新的页面。初始的提示状态为了交互设备一般都是打开的,而对于非交互设备,提示状态都是关闭的。对于实时刷新的,建议设置为0
参数:
 FLAG   (输入)  : 如果为1,并且设备为交互式设备提示状态打开。
                                     如果为0,提示状态关闭。
clip_image002