|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!在以后的centOS6.5装置光盘中,自带的firefoxwebbrowser版本过旧,并且是ESR版,也就是没法举行主动更新,这会招致装置体系今后,默许的17.0.10旧版与新版的差异愈来愈年夜,参考以下截图:
我们能够经由过程卸载这个旧版,然后装置能够主动晋级的新版firefox来办理这个成绩:
必需指出,装置新版的firefox有2种路子:经由过程yum主动晋级装置和从firefox官网下载最新版来装置;
不管是centos官方yum源办事器,仍是查询到的间隔当地比来的第三方yum源办事器,其上的firefox版本虽新,但应当都仍是掉队于官方的最新版,乃至有大概比当地能主动更新的firefox版本还旧,以下所示:
注重,利用yum来晋级到新版的firefox后,偶然会呈现成绩,
比方,运转新版的firefox时,会提醒某个gdk标记(一般是某个函数的称号)不决义,然后就加入。。。。。
这扳连到firefox利用的静态同享库的依附性成绩,一个大概的缘故原由是firefox依附的同享库/usr/lib/firefox/libxul.so
经由过程yum从收集上任何软件堆栈办事器下载晋级的firefox,因为非官方的最新版本,因而它自带的libxul.so版本也不是最新的,
关于旧版的libxul.so而言,它又依附于最新的libgdk同享库;
假如我们不克不及包管libgdk随时处于最新版的形态,当libxul.so援用一个以后体系上的libgdk中不存在的标记,就会招致firefox启动失利(闪退),而且给出某某以gdk_前缀的标记不决义的毛病信息;
而mozilla官方33.0版本今后的firefox,已办理了其自带同享库
libxul.so对体系同享库libgdk的依附成绩,
这就是为何经由过程yum晋级装置的firefox在运转时会闪退;而官方的
firefox能够一般启动的缘故原由:二者的libxul.so版本差别酿成的
别的,固然能够经由过程yum来晋级旧版libxul.so依附的libgdk到最新版,但这不过是一个对照烦琐,浩荡的工程,并且很可能旧版的libxul.so还依附于别的最新版的体系同享库;
最为对下面叙述的一个正面左证,让我们检察一下,libxul.so的“静态依附性”
[root@centos6-5vm桌面]#cd/usr/lib/firefox/
[root@centos6-5vmfirefox]#lllibxul.so
-rwxr-xr-x.1rootroot6039162810月3104:33libxul.so
[root@centos6-5vmfirefox]#lddlibxul.so
linux-gate.so.1=>(0x0023c000)
libpthread.so.0=>/lib/libpthread.so.0(0x003ff000)
libsmime3.so=>/usr/lib/libsmime3.so(0x00e04000)
libssl3.so=>/usr/lib/libssl3.so(0x00e6e000)
libnss3.so=>/usr/lib/libnss3.so(0x00ae4000)
libnssutil3.so=>/usr/lib/libnssutil3.so(0x00ee4000)
libXrender.so.1=>/usr/lib/libXrender.so.1(0x00f6f000)
libXext.so.6=>/usr/lib/libXext.so.6(0x00cc8000)
libXdamage.so.1=>/usr/lib/libXdamage.so.1(0x00732000)
libXfixes.so.3=>/usr/lib/libXfixes.so.3(0x00780000)
libXcomposite.so.1=>/usr/lib/libXcomposite.so.1(0x009af000)
libmozsqlite3.so=>/usr/lib/xulrunner/libmozsqlite3.so(0x00175000)
libasound.so.2=>/lib/libasound.so.2(0x0023d000)
librt.so.1=>/lib/librt.so.1(0x00203000)
libnspr4.so=>/lib/libnspr4.so(0x00329000)
libplc4.so=>/lib/libplc4.so(0x006d8000)
libplds4.so=>/lib/libplds4.so(0x006ca000)
libmozalloc.so=>/usr/lib/xulrunner/libmozalloc.so(0x0020c000)
libdbus-glib-1.so.2=>/usr/lib/libdbus-glib-1.so.2(0x00ab7000)
libdbus-1.so.3=>/lib/libdbus-1.so.3(0x00367000)
libgobject-2.0.so.0=>/lib/libgobject-2.0.so.0(0x003ae000)
libglib-2.0.so.0=>/lib/libglib-2.0.so.0(0x0041a000)
libgtk-x11-2.0.so.0=>/usr/lib/libgtk-x11-2.0.so.0(0x00f78000)
libatk-1.0.so.0=>/usr/lib/libatk-1.0.so.0(0x0052e000)
libgio-2.0.so.0=>/lib/libgio-2.0.so.0(0x0054d000)
libpangoft2-1.0.so.0=>/usr/lib/libpangoft2-1.0.so.0(0x0020f000)
libfreetype.so.6=>/usr/lib/libfreetype.so.6(0x00785000)
libfontconfig.so.1=>/usr/lib/libfontconfig.so.1(0x00f3a000)
libgdk-x11-2.0.so.0=>/usr/lib/libgdk-x11-2.0.so.0(0x0081d000)
libgdk_pixbuf-2.0.so.0=>/usr/lib/libgdk_pixbuf-2.0.so.0(0x00667000)
libpangocairo-1.0.so.0=>/usr/lib/libpangocairo-1.0.so.0(0x00686000)
libpango-1.0.so.0=>/usr/lib/libpango-1.0.so.0(0x006de000)
libcairo.so.2=>/usr/lib/libcairo.so.2(0x008d3000)
libgmodule-2.0.so.0=>/lib/libgmodule-2.0.so.0(0x00d22000)
libX11.so.6=>/usr/lib/libX11.so.6(0x03889000)
libXt.so.6=>/usr/lib/libXt.so.6(0x009b2000)
libgthread-2.0.so.0=>/lib/libgthread-2.0.so.0(0x003fa000)
libdl.so.2=>/lib/libdl.so.2(0x0073e000)
libstdc++.so.6=>/usr/lib/libstdc++.so.6(0x03335000)
libm.so.6=>/lib/libm.so.6(0x00743000)
libgcc_s.so.1=>/lib/libgcc_s.so.1(0x00953000)
libc.so.6=>/lib/libc.so.6(0x01417000)
/lib/ld-linux.so.2(0x00698000)
libz.so.1=>/lib/libz.so.1(0x00971000)
libresolv.so.2=>/lib/libresolv.so.2(0x00d29000)
libselinux.so.1=>/lib/libselinux.so.1(0x0098a000)
libexpat.so.1=>/lib/libexpat.so.1(0x00a0f000)
libXinerama.so.1=>/usr/lib/libXinerama.so.1(0x00de9000)
libXi.so.6=>/usr/lib/libXi.so.6(0x006b8000)
libXrandr.so.2=>/usr/lib/libXrandr.so.2(0x00f1e000)
libXcursor.so.1=>/usr/lib/libXcursor.so.1(0x00727000)
libpng12.so.0=>/usr/lib/libpng12.so.0(0x00a37000)
libpixman-1.so.0=>/usr/lib/libpixman-1.so.0(0x00c20000)
libxcb.so.1=>/usr/lib/libxcb.so.1(0x00a5f000)
libSM.so.6=>/usr/lib/libSM.so.6(0x00526000)
libICE.so.6=>/usr/lib/libICE.so.6(0x00a7f000)
libXau.so.6=>/usr/lib/libXau.so.6(0x00239000)
libuuid.so.1=>/lib/libuuid.so.1(0x00692000)
第35行与36行,就是libxul.so依附的libgdk相干的同享库;
能够看到,firefox“自带”的同享库libxul.so依附的别的体系同享库数目,极为惊人,经由过程yum来一一更新这些同享库,无疑是自找贫苦;
以是,我们保举间接在官网高低载最新的tar.bz2格局的紧缩包,个中有firefox的二进制可实行文件,
而且这个紧缩包自包括了最新的libxul.so同享库;
从这个成绩上,不丢脸出,yum在剖析软件包依附性,特别是版本的兼容性方面,还存在必要增强的中央
总之,假如你的centos6.5上的firefox是不克不及主动晋级的ESR版,并且版本过旧,那末倡议依照上面的办理计划来处置:
1.用你当地的旧版firefox,会见
http://www.firefox.com.cn
2.进进寄存下载文件(Firefox-latest.tar.bz2)的目次
[root@centos6-5vm~]#cd/root/下载
3.在该目次解压Firefox-latest.tar.bz2,解压后会天生一个firefox子目次,内里有最新版本的firefox的二进制可实行文件,和各类扩大模块,插件等等
[root@centos6-5vm下载]#ll
总用量41632
-rw-r--r--.1rootroot426303279月2111:35Firefox-latest.tar.bz2
[root@centos6-5vm下载]#tar-xjvfFirefox-latest.tar.bz2
4.删除体系默许装置的旧版firefox,一般位于/usr/lib目次下
[root@centos6-5vm下载]#ll
总用量41636
drwxr-xr-x.8503games40969月1909:55firefox
-rw-r--r--.1rootroot426303279月2111:35Firefox-latest.tar.bz2
[root@centos6-5vm下载]#whereisfirefox
firefox:/usr/bin/firefox/usr/lib/firefox/usr/share/man/man1/firefox.1.gz
[root@centos6-5vm下载]#rm-rf/usr/lib/firefox
5.将以后目次下的新版firefox子目次复制到/usr/lib目次下
[root@centos6-5vm下载]#mvfirefox/usr/lib
6.进进/usr/bin目次,删除其下的firefox剧本,回到主目次或根目次,创立一个软链接,指向
/usr/lib/firefox/firefox
[root@centos6-5vm下载]#cd/usr/bin
[root@centos6-5vmbin]#llfirefox
-rwxr-xr-x.1rootroot654610月302013firefox
[root@centos6-5vmbin]#rmfirefox
rm:是不是删除一般文件"firefox"?y
[root@centos6-5vmbin]#cd
[root@centos6-5vm~]#ln-s/usr/lib/firefox/firefox/usr/bin/firefox
7.在shell终端实行firefox下令,就可以启动最新版的firefox(启动前确认已停止一切旧版的firefox历程)
1
[root@centos6-5vm~]#firefox
后面我们创立软链接的缘故原由,就是为了这一步实行firefox下令时,体系在搜刮路径/usr/bin下找到firefox这个软链接,而且指向真实的可实行文件路径
/usr/lib/firefox/firefox
注重,关于这一步而言,必要firefox占用一个shell假造终端(pts/n),该假造终端不克不及实行任何别的下令,直到封闭firefox历程,
因而,我们修正体系左上方的firefox扫瞄器图标的属性,在“下令”字段右边的文本框中,输出
/usr/lib/firefox/firefox%u
然后封闭对话框,从头点击该图标,就可以不占用任何shell假造终端来启动firefox
假如你不想用下面这张截图中带有定制公司logo的版本,也能够往上面这个官方FTP站点下载“纯洁版”:
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-i686/zh-CN/
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|