CentOS6.5 install the latest firefox version

Source: Internet
Author: User
Tags ftp site
Replace the old firefox version installed by default in centOS6.5, and install the latest firefox version.

In the current centOS6.5 installation CD, the firefox web browser version is too old, and it is an e-hpc version, that is, it cannot be automatically updated, this will cause the system to be installed, the default version of 17.0.10 is significantly different from the new version. For more information, see:





We can solve this problem by uninstalling the old version and installing the new version of firefox that can be automatically upgraded:

It must be noted that there are two ways to install the new version of firefox: automatic upgrade and installation through yum and download the latest version from the firefox official website;

Whether it's the centos official yum source server or the latest local third-party yum source server, the firefox version on it is new, but it should still lag behind the latest official version, it may even be earlier than the firefox version that can be automatically updated locally, as shown below:



Note that problems may sometimes occur after you use yum to upgrade to the new version of firefox,

For example, when you run the new firefox version, a message indicating that a gdk symbol (usually the name of a function) is undefined is displayed, and then exit .....

This involves the dependency of dynamic shared libraries used by firefox. one possible cause is that firefox depends on the shared library/usr/lib/firefox/libxul. so.


Use yum to download and upgrade firefox from any software repository server on the network. because it is not the latest official version, its libxul. so version is not the latest,

For the old version of libxul. so, it depends on the latest libgdk shared Library;

If we cannot ensure that libgdk is in the latest version at any time, when libxul. so referencing a symbol that does not exist in the libgdk on the current system will cause firefox to fail to start (crash) and give an undefined error message for the symbol xx with the gdk _ prefix;


However, firefox 33.0 and later versions of mozilla have solved their own shared libraries.

Libxul. so dependency on the system shared library libgdk,

This is why firefox, which is upgraded and installed through yum, will crash while running.

The reason why firefox can be started normally: the libxul. so versions of the two are different.


In addition, you can use yum to upgrade the old version libxul. so is dependent on libgdk to the latest version, but this is nothing more than a complicated, huge project, and it is very likely that the old version of libxul. so also depends on the latest version of the system shared Library;


Let's take a look at the "dynamic dependency" of libxul. so"


  [Root @ centos6-5vm desktop] # cd/usr/lib/firefox/[root @ centos6-5vm firefox] # ll libxul. so-rwxr-xr-x. 1 root 60391628 October 31 04:33 libxul. so [root @ centos6-5vm firefox] # ldd libxul. so linux-gate.so.1 => (0x0023c000) libpthread. so.0 =>/lib/libpthread. so.0 (0x003ff000) environment =>/usr/lib/Libraries (0x00e04000) libssl3.so =>/usr/lib/Libraries (libraries) 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) lib1_sqlite3.so =>/usr/lib/xulrunner/lib1_sqlite3.so (0x00175000) libasound. so.2 =>/lib/libasound. so.2 (0x0023d000) librt. so.1 =>/lib/librt. so.1 (0x00203000) libnspr4.so =>/lib/libnspr4.so (0x00329000) labels =>/lib/libplc4.so (0x006d8000) libplds4.so =>/lib/libplds4.so (release) libplusalloc. so =>/usr/lib/xulrunner/libw.alloc. 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) libxrandroid. so.2 =>/usr/lib/libxrandroid. 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)


Row 3 and row 36 are the libgdk-related shared libraries that libxul. so depends on;

As you can see, the firefox "built-in" shared library libxul. so depends on the number of other system shared libraries, which is extremely astonishing. using yum to update these shared libraries one by one is undoubtedly a problem;



Therefore, we recommend that you download the latest tar.bz2 compressed package on the official website, which contains the binary executable file of firefox,

The compressed package contains the latest libxul. so shared library;

From this issue, it is not difficult to see that yum still needs to be enhanced in parsing software package dependencies, especially in terms of version compatibility.


In short, if firefox on centos6.5 cannot be automatically upgraded to the e-hpc version, and the version is outdated, we recommend that you follow the solution below:


1. access





2. enter the Directory of the inventory file (firefox-latest.tar.bz2)

  [Root @ centos6-5vm ~] # Cd/root/Download

3. decompress the Firefox-latest.tar.bz2 in this directory, decompress it will generate a firefox subdirectory, which has the latest version of firefox binary executable files, as well as a variety of extension modules, plug-ins and so on

  [Root @ centos6-5vm download] # ll total usage 41632-rw-r -- r --. 1 root 42630327 September 21 11:35 Firefox-latest.tar.bz2 [root @ centos6-5vm download] # tar-xjvf Firefox-latest.tar.bz2


4. delete the old version firefox installed by default, usually in the/usr/lib directory.

  [Root @ centos6-5vm downloading] # ll total usage 41636drwxr-xr-x. 8 503 games 4096 Aug 17 09:55 firefox-rw-r --. 1 root 42630327 September 21 11:35 Firefox-latest.tar.bz2 [root @ centos6-5vm download] # whereis firefoxfirefox: /usr/bin/firefox/usr/lib/firefox/usr/share/man/man1/firefox.1.gz [root @ centos6-5vm download] # rm-rf/usr/lib/firefox


5. copy the new firefox subdirectory under the current directory to the/usr/lib directory.

  [Root @ centos6-5vm download] # mv firefox/usr/lib


6. go to the/usr/bin directory, delete the firefox script under it, return to the home directory or root directory, create a soft link, and point



  [Root @ centos6-5vm download] # cd/usr/bin [root @ centos6-5vm bin] # ll firefox-rwxr-xr-x. 1 root 6546 October 30 2013 firefox [root @ centos6-5vm bin] # rm firefox rm: Do you want to delete a common file "firefox "? Y [root @ centos6-5vm bin] # cd [root @ centos6-5vm ~] # Ln-s/usr/lib/firefox/usr/bin/firefox



7. execute the firefox command on the shell terminal to start the latest firefox version (confirm that all earlier firefox processes have been terminated before Startup)

1 [Root @ centos6-5vm ~] # Firefox

The reason why we created the soft link is that when the firefox command is executed in this step, the system finds the soft link firefox under the search path/usr/bin and points it to the real executable file path.



Note: For this step, firefox occupies a shell virtual terminal (pts/n) and the virtual terminal cannot execute any other commands until the firefox process is disabled,

Therefore, we modify the properties of the firefox browser icon in the upper-left corner of the system. In the text box on the right of the "command" field, enter


  /Usr/lib/firefox % u


Close the dialog box and click the icon again to start firefox without occupying any shell virtual terminal.




If you do not want to use the version with the custom company logo above, you can also download the "pure version" from the official FTP site below ":




Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.