Tag Archives: linux

岁月如歌,那些在华中大网络中心当协管的日子(部署篇)

作者: dplord, 访问量 2902





伴着夜晚的一点点凉意,在这熟悉的黑暗的夜色中,冷笔勾勒我在华中科大网络中心当协管的那些年月。想想突然离开学校也很久了,那个曾经承载我几年的欢声笑语、伴我在孤寒岁月中成长的学校以及渐渐远离我生命中了,不过那些曾经的烙在我生命中的印记,却是那么的强而有力,挥之不去。不过想想我过段时间要回学校办手续的,欣喜跃上心头。

记得最初的跟网络中心的打交道是,大一的时候刚连校园网的时候,我的windows下自动开了bluetooth调制解调器模式,跟校园网的拨号冲突导致死活无法上网,最后几通电话之后无果只能带电脑去网络中心解决了,想想大一进校的时候自己是多么的青涩,这也许是跟网络中心打交道的最早的起源了。

开始切入正题了,我是从大二暑假开始跟网路中心有些业务、项目上的交道的。从我做的cs.hust.edu.cn为例开始,从网络中心申请了1个测试机器,开始开发项目。最后等项目上线后,自然作为cs.hust.edu.cn的作者跟维护者,自然成了网络中心的协管了,其实就是在网络中心看管3台服务器,保证安全与服务可靠,当然作为作者,我是一度那么想优化ta的性能,以前也不断的做了各种折腾,以前年轻真是好,永远那么有精力,为了心中一点点的想法而通宵达旦地验证, 追求那么丁点的问心无愧跟坦坦荡荡把。

cs.hust.edu.cn的技术结构跟开发过程,这里以前写在了本博客的另一篇文章中,这里不做赘述。一言以蔽之,cs.hust.edu.cn是目前上线的部署代码在1万4千2百行大概的php站点,(运维的、php library的没算,中间修改的、废弃的代码没算)。其中我管理有3台机器,但是真实情况下cs.hust.edu.cn是部署在一个新的单独的机器上。机器的配置跟我用的核心软件如下表:

CPU 2 physical cpu, 24 processor
内存 48G内存
硬盘 4T机械硬盘(做了raid5)
网络状况 教育网,华中科技大学网络中心托管
operating system Centos 6.3(Final), 64bit
linux kernel 2.6
web server nginx 1.7.4(compile from source)
database server mysql 5.6.21(compile from source)
php php 5.5.9(compile from source)
hhvm HipHop VM 3.5.0-dev+2014.12.11 (rel)
Compiler: heads/master-0-g546087bf1b0560c4a9e254fcad46a9212e42ccc2
Repo schema: cf1780b3cc3857e091e924935ae6267e9794de9c
Extension API: 20140829
其他软件 ruby 2.2.1、rust 1.1.0、erlang、fail2ban

maybe someone will feel strange about why I use Centos 6.3 which is so old, 我当时准备好了给ta去装个opensuse text mode 12.3的(我当时是opensuse铁粉, 12.3是当时的最新版的opensuse)了,为了试验opensuse text mode的操作(当时仅仅是opensuse桌面版很熟悉,opensuse的很多配置网络、防火墙有的跟debian、ubuntu、centos等等不同,要单独学习, 还有在纯粹的命令行下配置网络连接啊等等、专门抱了一个台式机过来装opensuse text mode学习试试), 我把一个台式机装了opensuse text mode用了一段时间, 感觉挺好的。都已经做好了准备等新服务器到达的时候,去网络中心亲自给ta装上opensuse text mode 12.3,都跟学院说好了,他们也同意了。结果等机器来的那天,是上午10点对来的, 我当时在上大三上学期的《软件工程》的最后一节课,不能不去,不去上最后这节课老师大概的意思是说就直接这门课不给过,结果没有亲自装机,网络中心的老师就随便装了个centos 6.3, 算了也不吐槽网络中心给装的这么旧的发行版了,因为上一个我管理的机器是readhat5的,估计还很多人没见过redhat5把,那古老的东西,放图大家感受下。

6

7

部署工作

当初cs.hust.edu.cn开发的时候是用的测试机器在自申请的一个网络中心的测试机器上,开发进行,对外服务,当初是用ip直接访问的。测试机器性能记得很渣,大概是1GHz CPU + 2G内存+50G机械硬盘的样子,还是在一个windows server上装vmvare虚拟出来的一个vm。测试机器系统是centos6.4,用的apache + mysql + php提供服务。项目部署需要web server提供rewrite支持,其他的也没什么很特殊的。就是centos6.3上面的所有东西太老了于是很自然就开始了我的编译nginx+mysql+php+hhvm之旅。

1编译nginx

nginx编译很简单,没什么依赖,编译参数如下。

./configure \
--prefix=/home/dengpan/opt/nginx-1.7.3 \
--sbin-path=/home/dengpan/opt/nginx-1.7.3/sbin/nginx \
--conf-path=/home/dengpan/opt/nginx-1.7.3/conf/nginx.conf \
--error-log-path=/home/dengpan/opt/nginx-1.7.3/var/log/error.log \
--http-log-path=/home/dengpan/opt/nginx-1.7.3/var/log/access.log \
--pid-path=/home/dengpan/opt/nginx-1.7.3/var/run/nginx.pid \
--lock-path=/home/dengpan/opt/nginx-1.7.3/var/run/nginx.lock \
--http-client-body-temp-path=/home/dengpan/opt/nginx-1.7.3/var/cache/client_temp \
--http-proxy-temp-path=/home/dengpan/opt/nginx-1.7.3/var/cache/proxy_temp \
--http-fastcgi-temp-path=/home/dengpan/opt/nginx-1.7.3/var/cache/fastcgi_temp \
--http-uwsgi-temp-path=/home/dengpan/opt/nginx-1.7.3/var/cache/uwsgi_temp \
--http-scgi-temp-path=/home/dengpan/opt/nginx-1.7.3/var/cache/scgi_temp \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6 \
--add-module=../mod_strip

基本按照官方编译参数(http://nginx.org/en/docs/configure.html)来的,只是加了mod_strip这个非官方模块,当时是想把所有页面压缩成一行的html, 节省下行传输带宽,提高速度。后面发现这点点html相比图片(我把首页的大图已经内页的logo图换成了webp格式,browser支持webp就显示webp格式,不支持就用jpeg格式)简直不值一提,其实也是因为这个mod_strip压缩html处理有bug, 处理有些页面有问题,标签会闭合到一起去,无法正常展示。

2编译php

php编译比较麻烦,一堆的依赖,第一次编译的时候,我编译了2天时间。后面编译就容易多了。在我的archlinux(i5 cpu, 机械硬盘)编译php 5.5.9大概需要8min。服务器make -j24大概需要10min。编译参数如下:

./configure \
--prefix=/home/dengpan/opt/php-5.5.9 \
--with-config-file-path=/home/dengpan/opt/php-5.5.9/etc \
--with-config-file-scan-dir=/home/dengpan/opt/php-5.5.9/etc/php.d\
--with-libdir=lib64 \
--with-curl \
--with-freetype-dir=/home/dengpan/opt/freetype-2.4.2/  \
--with-gd \
--with-gettext \
--with-iconv-dir=/home/dengpan/opt/libiconv-1.14   \
--with-jpeg-dir  \
--with-kerberos \
--with-ldap \
--with-ldap-sasl \
--with-libxml-dir  \
--with-mcrypt=/home/dengpan/opt/libmcrypt-2.5.7 \
--with-mhash \
--with-mysql=mysqlnd  \
--with-mysqli=mysqlnd  \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql=mysqlnd \
--with-pdo-sqlite=shared \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--disable-rpath

其中编译的时候缺少很多lib请自行用yum安装, 但是centos6.3上编译php,其中的libmcrypt、libiconv、freetype2需要自己编译安装,有些bug, 时间久了我也没记下来,记得编译的时候一堆问题,其中libiconv还需要手动修改一些代码之类的,具体的若有人碰到了,请自行stackoverflow一下。

3编译mysql

mysql编译比较容易,没太多依赖。编译参数如下:

cmake \
-DCMAKE_INSTALL_PREFIX=/home/dengpan/opt/mysql-5.6.21 \
-DMYSQL_DATADIR=/home/dengpan/opt/mysql-5.6.21/data \
-DSYSCONFDIR=/home/dengpan/opt/mysql-5.6.21/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/home/dengpan/opt/mysql-5.6.21/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

编译完了之后mysql需要初始化用户名用户组与mysql目录。

  1.  检查mysql用户组
    cat /etc/passwd|grep mysql
    cat /etc/group|grep mysql

    没有就添加

    1 groupadd mysql
    2 useradd -g mysql mysql
    
  2. 给mysql目录设置权限
    chown -R mysql:mysql /home/dengpan/opt/mysql-5.6.21
    
  3. 初始化数据库
    scripts/mysql_install_db --basedir=/home/dengpan/opt/mysql-5.6.21 --datadir=/home/dengpan/opt/mysql-5.6.21/data --user=mysql
    
  4. 直接启动数据库
    /home/dengpan/opt/mysql-5.6.21/support-files/mysql.server start
    

4编译hhvm

hhvm,可能大家用的少,这里简介一下,hhvm是facebook开发的一个php jit解释器,在hhvm + nginx部署网站中,hhvm此时等同于php-fpm的角色,作用就是监听端口(一般是9000端口)或者本地unix sock,然后nginx通过fastcgi建立socket与之通信。centos 6.3编译hhvm有点麻烦,内核卡在那里,glibc上不去,一堆编译错误。编译过程按照github hhvm的官方wiki(Building and installing HHVM on CentOS 6.3)编译的,我在我的opensuse 12.3跟13.1跟后来的archlinux都编译成功了, 在centos6.3编译了3天没有成功只好安装了 facebook提供的prebuilt package 。hhvm有一点点不稳定,但是性能根据我当时的使用情况,的确惊人。

由于此篇文章可能太长, 太多感悟与踩坑经历要写,因而拆分几篇来写, 本篇是部署篇。

岁月如歌,那些在华中大网络中心当协管的日子(部署篇)

岁月如歌,那些在华中大网络中心当协管的日子(运维工作篇)

岁月如歌,那些在华中大网络中心当协管的日子(其他总结篇)

macbook pro安装archlinux + mac os双系统

作者: dplord, 访问量 2727





入职时候公司发了一个macbook pro 15寸的机器,其实要不是公司发的我是很不喜欢apple系列的。就把我以前上学时候用的lenovo Y470上的archlinux想原封不动迁移过来。很多人说mac跟linux差距不大, 其实差距大太多了。mac在对command line友好上也就仅仅比windows好一点,加上homebrew还是不能符合我的要求。而mac os惊艳的图形界面、一系列apple服务、软件,我是用不上的。

开始我的做法打算
在我的os x yosemite 10.10里面通过mac自带的磁盘工具, 分一个区,我的硬盘是256G SSD, 本想给mac分区压缩出150G 出来给我迁移archlinux。本来说直接要删除mac的,但我一个对我很重要的一个朋友,她用mac机器,偶尔会问我一些关于电脑的问题,前不久还问我mac下代理上网的问题, 要是手头没机器,我怕是不好回答或者截图一一详细说明。

然后我想出的做法是

  1. 先在OS X里面分150G分区
  2. 刻录一个ubuntu启动U盘
  3. 用ubuntu启动盘进入我原来archlinux的电脑,用tar打包我原来整个archlinux分区到我的2T移动硬盘里面为一个arch-whole.tar 文件。
  4. 用ubuntu启动盘插入mac, 开机按option进入选择项,手动启动ubuntu, 安装ubuntu到mac的150G分区, grub安装在当前分区/dev/sda3
  5. 再次用ubuntu启动盘插入mac进入”try ubuntu”模式在shell下,删除已经安装的ubuntu所有文件,解压archlinux的arch-whole.tar文件到/dev/sda3
  6. grub页面,手动用kernel指定vmlinuz引导进archlinux, 在archlinux里面修复grub

其实这样是可行的,但是我的OS X,分磁盘的时候, 由于我的笔记本是公司2015-07-10发的新的15寸mbp分区的时候, 我是按照标准mac磁盘工具分区的,结果分区失败,无法急救,导致系统崩溃了。

后面就需要我自己下载一个mac镜像了,由于我的本子是2015-07-10的,搭载的系统比较新,所以我只能在最新的mac下下载最新的镜像刻录成安装U盘,才能装进去,不然的话,如果装旧于我机器的系统,会显示一个大大的圆圈+禁止斜杠,像这样:

1-1

其实也可以网络安装的,但是鉴于国内的网络,动辄几十小时或者100+小时的,中途只要出现问题就要重走一边,而且动不动报 apple.com/support -4403f  或者 apple.com/support -2203f 错误的,我是不会用这种方式的。

下载镜像的时候,是先离线到百度云,然后在我的服务器上百度云下载,axel -n 10 “百度云mac os下载地址”  -o 2.dmg 下载,大概2M/s的速度,下载了50min,服务器sha1sum得到sha1校验码为47c7d9c1c510b2cb74bae4c560c2553bcb12897f, 然后我在服务器用

7za  a 2.dmg.7z -v1800m -mx0 2.dmg

分卷压缩为3个文件, 其中-mx0指定只存储不压缩,等于文件拷贝把。 然后在我的pc 、我的macbook、我的nexus 6手机分别下载2.dmg.7z.001、2.dmg.7z.002、2.dmg.7z.003, 这样下载比较快,下载完了之后文件拷贝到一起,解压即可得到2.dmg, 本地检验校验码为

47c7d9c1c510b2cb74bae4c560c2553bcb12897f , 文件未损坏。开始刻盘装了。
先准备一个 已经格式化为mac os扩展日志式、GUID分区表的8G的U盘。

 

然后Mac下先挂载2.dmg

cd /Volumes/{2.dmg所在的盘符}

sudo /Volumes/{2.dmg所在的盘符}/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia – -volume /Volumes/{你的8G U盘的盘符} – -applicationpath /Volumes/{2.dmg所在的盘符}/Install\ OS\ X\ Yosemite.app – -nointeraction

大概20min,不报错的话,就刻录好了。用刻录好的U盘mac安装盘,开机option键,安装mac,安装过程跟window安装类似,很简单。

安装好了进mac, 用自带的磁盘工具,我是划分150G分区,格式化为exFat给我装linux的。我这个分区是/dev/sda4。

用我的2T wd的移动硬盘。打包我的整个pc上的用了一年的archlinux, 打包为一个tar包,打包过程在ubuntu live cd 进去打包,/dev /tmp /proc 等等不要打包。打包为arch-whole.tar

进ubuntu live cd, 安装ubuntu 15.04 到 /dev/sda4,grub 安装在/dev/sda4 上面。

然后装好了再进ubuntu live cd模式,挂载/dev/sda4,  删除/dev/sda4里面的全部东西。把我的arch-whole.tar全部解压到该盘。最后进入系统。在grub菜单里面,按e编辑grub,把set root=(hd1,msdos6) 修改为set root=(hd1,gpt4) , 因为mac是gpt 格式的。其他的也做对应的修改。最后大概改成如下的样子。

2-1

最后按F10引导进archlinux, 在arch下,grub-mkconfig -o /boot/grub/grub.cfg更新grub就好了。后面进入系统,修改下/etc/fastab  等等文件就好了。整个archlinux 原封不动的被我挪过来了。背光键盘、亮度调节、触摸板、网卡等等都支持良好。放几张图炸一炸跟我一样的inux死忠。

16G内存一般只用4G以下, CPU使用一般5%不到,编译速度非常快。

4722bd15bd3f62c7e2862c67e3ad286a

分辨率在1920*1200 其实可以调到2880*1800的,不过我不喜欢。

3-1

大屏看代码还是很爽很爽,加上mac的电池,带出去玩儿一天也不怕了。

23d35f87ef37a654542d2edc6be63758

 

对了要进mac系统的话,开机按option选择mac磁盘即可了。

 

linux编译ATI显卡驱动

作者: dplord, 访问量 1325





事情起于今天班上一个女生zcm问我她要做毕设, 老师让装linux, 自己装ubuntu12.04 32bit 有问题, 让我帮看看, 作为linux死忠又是大学同班同学我就答应帮她把ubuntu12.04 32bit搞好(难得有女生有兴趣学习linux啊, 确实是比较少见的)。

我拿过来一看, 她的电脑是Acer的, 当时按照她的描述:

自己在学校镜像站下载了ubuntu12.04镜像, 安装完了就进去系统, 然后update了一下, 装了 build-essential 跟  xorg-dev 、多媒体开发库SDL 、ffmpeg等要用工具后,重启就进不去了, 表现为在ubuntu logo页面一半天进不去

我拿过来一看, 当时报了一个错误如下:

[drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[drm:evergreen_startup] *ERROR* radeon: error initializing UVD (-1).

看到radeon 就是AMD显卡问题。

zcm电脑较新是Acer的, 显卡信息如下

2015-01-07 23:47:38的屏幕截图

集显是APU上附带的 Radeon  HD 6520G, 其实这个集显(其实APU上的不叫集显, 不过作用可类比intel CPU上的集显) 还是很强的, 比intel i3集显强多了, 比intel i5的集显只强不弱, 相当于一个入门独显的级别。

独显是  AMD Radeon HD 6400M Series 。

关于AMD 显卡驱动,  其实Askubuntu 已经有人发问了, http://askubuntu.com/questions/434521/drmr600-uvd-init-error-uvd-not-responding-trying-to-reset-the-vcpu

这里我打算给她重做一个ubuntu12.04 32bit的, 下载好刻U盘后, 安装的时候诡异的时候到了, 一直卡在安装页面不动

后面没办法, 在安装的时候需要进入文本模式, F6选择  nomodeset 模式, 再安装, 但是这样安装好了。

安装好之后, 默认进入页面之后, 卡在登陆页面不动根本无法键盘输入。后面在grub启动时,按E在grub引导菜单,  找到 quiet splash 字样,在后面添加 nomodeset , 这样会引导进去一个1024*768 的低分辨率的页面, 有这么强集显跟独显的只能用渣画质的 1024*768 的,简直不能忍, 我决定多费点时间帮她编译一个A卡驱动。之前我大一给我家台式机(HP-GT2070CX , 显卡ATI Radeon HD 4550 也是A卡), 安装过一次A卡驱动, 一下子在我的家庭21寸台式机上有了 1440*900  的分辨率, 配合Opensuse的字体渲染, 写代码水论坛看视频超爽。

其实关于显卡的linux支持现状, 其实目前已经很好了。显卡主要分A卡(AMD APU附带的显卡, ATI显卡) 跟 Nvidia 显卡 以及 Intel集显, 这3类。Intel集显不用说, 英特尔对Linux的支持力度相当大, linux内核提交代码的前几就有intel, 一般的笔记本电脑都是Intel i3、i5、i7 系列CPU, 都自带一个Intel集显, 这些电脑安装上linux基本没任何问题的, 默认就是全分辨率很方便的。Nvidia系列的显卡, 其实性能更出众, 游戏玩家必追啊, nvidia 由于要大力发展跑在android的GPU以及nvidia推出的CUDA GPU并行计算, 对linux 系列支持也是特别好, 对应型号都有相应驱动, 性能相当不错。Ps: 各大网格计算、云计算平台都广泛部署了对CUDA并行计算库的支持,我上次去我们学校东5楼闲逛, 看到了各大网格计算中心的部署工具中CUDA计算库简直标配, 附图如下:

这是ChinaGrid 教育网内, 几个一级节点跟二级节点分布。

打大红点的是一级主干节点,一共7个全国一级节点, 我们学校是华中地区的国家一级主干节点。

1-1

每个节点配备的软件都大致类似 ,GPU计算资源就是其中一个重要指标, 大规模用到了CUDA

1

以西北地区主干节点西安交大为例, 打红框的是该节点配备的资源大小与种类,有兴趣可以自己去玩玩这些软件。

扯歪了, 说完N卡的支持已经相当好了。再看A卡的支持, 其实AMD对linux近些年支持很不错, 各种 “AMD Linux催化剂驱动” 连续不断的紧急释出, 但是貌似由于时间、稳定性、协议之类的, 通用linux发行版没有把这些驱动给包含进去,需要自己手动编译。

去, AMD官网下载一个  amd-catalyst-omega-14.12-linux-run-installers.zip  的文件,

这个文件不能在vps上快速下载, 原因是限制了  Referer 跟  header

想命令行下下载amd驱动的, 可以写一个shell, 如下:

curl \
-H "Referer: http://support.amd.com/zh-cn/download/desktop?os=Linux+x86"  \
-H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: text/css,*/*;q=0.1" \
-H "Cookie: c_sccva=1420636121000%2CNA; s_fid=76ECADB0C01BD313-32D52C9175E1EF0A; s_cc=true; s_vi=[CS]v1|2A5697F3051D3FA3-4000010300002A71[CE]; fsr.s=%7B%22v2%22%3A-2%2C%22v1%22%3A-2%2C%22rid%22%3A%22d036702-53157432-4508-58ac-e4bc8%22%2C%22to%22%3A3%2C%22c%22%3A%22http%3A%2F%2Fsupport.amd.com%2Fzh-cn%2Fdownload%2Fdesktop%22%2C%22pv%22%3A1%2C%22lc%22%3A%7B%22d0%22%3A%7B%22v%22%3A1%2C%22s%22%3Afalse%7D%7D%2C%22cd%22%3A0%2C%22f%22%3A1420636735766%7D; com.silverpop.iMAWebCookie=1e589c02-c5a6-5556-d505-ac20ee930564; com.silverpop.iMA.session=8cc12ac6-6482-e51b-848a-c6a1bed35029; com.silverpop.iMA.page_visit=-1534868343,"  \
http://www2.ati.com/drivers/linux/amd-catalyst-omega-14.12-linux-run-installers.zip -o 1.zip 

执行这个shell即可下载了。

下载完了, 其实最好在 grub 添加参数进入 nomoset模式下安装, 以免现在的驱动影响新驱动的安装导致不成功。

这点A卡做的很好 , A卡可以在图形模式下安装, N 卡驱动只能关闭kdm 或者 gdm 在文本模式下安装, 而且安装N卡驱动需要你编译一次自己的内核, 这样才能把驱动模块安装到对应内核去, 更新内核的话, N卡驱动要重新安装的。

进入 nomodeset开始安装

1 先装依赖库

sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4 debhelper debconf libstdc++6 dkms libqtgui4 libelfg0 linux-headers-generic

2 卸载可能存在的旧的A卡驱动

sudo apt-get remove --purge fglrx*

 

 3 解压缩执行下载的 amd-catalyst-omega-14.12-linux-run-installers.zip 的.run 安装文件

chmod a+x amd-driver-installer-14.501.1003-x86.x86_64.run 
./amd-driver-installer-14.501.1003-x86.x86_64.run  --buildpkg Ubuntu/precise  

其中:Ubuntu/precise 是 ubuntu12.04 代号, 这里代号要小写,每个版本的代号可以用  lsb_release -a 查询的。

此步编译deb过程也可以在图形化进行, 看个人喜好。

4 安装编译好的deb文件

sudo dpkg -i fglrx*.deb

 5 安装完,  还有一步初始化操作

sudo aticonfig --initial

重启后就好了, 部分电脑也许调整的Xorg.conf 参数不对, 需要自己手动去改一下。

这次的 amd-driver-installer-14.501.1003-x86.x86_64.run  驱动比以前稳定好多, 运行良好, 以前我给我家台式机(HP-G2070CX)装A卡驱动的时候, 当时版本还是一个beta版本, 不是很稳定, 每运行几个小时甚至30分钟就会崩一次, 现在进步太大了, 期待A 卡、N卡一如既往的给力啊。