安装
今天开始折腾Linux,刻了三张碟CentOS,Fedora,Ubuntu。最终还是选定了CentOS。于是开始安装CentOS6.3x64。安装过程顺利,安装的时候分区/boot分了200M,swap分区分了8G,/分区分了60G,余下的400多G与windows来共享交换。(我的本是Thinkpad R400,双硬盘双系统)
之前玩过两个月6.0,自从使用自动升级到6.1便无缘无故挂掉连桌面都无法进入便没有再次接触这玩意了。相比6.0,6.3确实有了不少改进,至少显卡驱动自带了,监测性能以及调节CPU的工具也齐全。(之前没装显卡驱动,温度轻松稳定在75度以上,自己装了显卡驱动以后,双显示器又出现了一点让人不爽的问题)
第一步
安装完后的第一步,便是升级所有软件,大约有300多M,然后安装chrome,把我的书签以及插件全同步下来。
修改系统语言
接下来,把系统显示语音改成英文。为了更加熟悉英语以及Linux,这一步算是必不可少,对英语无爱的可以忽略。
执行如下命令修改文件:
vi /etc/sysconfig/i18n
将内容修改为:
LANG="en_US.UTF-8"
重启后再进入系统会发现系统界面已经全部变成了英文。第一次登录桌面会提示是否更新文件夹名称(将用户下的默认文件夹更新为英文名称)。毫不犹豫的全部更新了。
如果不能修改文件,可能你需要先执行如下命令:
su root
然后再输入密码。当然如果你是管理员用户则完全不需要这个操作。
Geek的文本模式登录
想开机的时候是一堆代码吗?想登录后只有一个黑色命令行充满整个屏幕吗?
马上就能实现!
执行如下命令修改文件:
vi /etc/inittab
将最后一行修改为
id:3:initdefault:
重启,开机后则会切换成文本模式。可以通过按Ctrl+Alt+F(n)来切换不同的命令行。
当然,如果你需要进入到图形界面的话,只需要输入以下这个神奇的命令就行了:
startx
设定用户到管理员组
之前的命令基本都需要管理员权限,每次操作起来可能需要su root来获得最高权限,然后输入管理员密码,这样也太麻烦了。
让我们把自己权限提高吧!首先更改/etc/sudoers文件吧
vi /etc/sudoers
接下来找到如下行:
root ALL=(ALL) ALL
跟着在下面添加如下内容
你的用户名 ALL=(ALL) ALL
这里是把你加入到sudo列表中,可以通过在命令前加上sudo来执行任何命令而不需要切换到root用户。(很多情况下,比如安装一些软件,不能使用root身份来安装,不然会导致许多问题)
当然,使用sudo密码依然需要你输入当前用户的密码,如果想省去密码则将内容改成这样
你的用户名 ALL=(ALL) NOPASSWD:ALL
之后再将用户添加到管理员组则大功告成了
sudo usermod -a -G root 你的用户名
源的配置
本想先做NTFS格式支持的,没想到源的问题,让我只能先来配置好源。
在CentOS中,很多软件是可以通过yumintall这样一条命令来安装的,Ubuntu中则是apt-get。他们会从软件库中找到合适的软件并安装。系统默认的软件库并不够全,还需要添加新的源来支持我的需求。
由于安装chrome,柛不知鬼不觉谷歌就给我安上了谷歌的源,但重要的是,Google被墙这一不争的事实让我只能将他删除。
源的配置文件都在/etc/yum.repos.d/下。
首先第一步,我们安装yum-priorities插件。
sudo yum install yum-priorities
该插件用来设定源的优先级,可以保证官方的源优先级最高,存在相同的软件时,优先使用官方源,这样可以保证软件依赖关系正确。
接下来编辑/etc/yum.repos.d/CentOS-Base.repo
sudo vi /etc/yum.repos.d/CentOS-Base.repo
在base、update、addons、extras每一段末尾添下如下行:
priority=1
priority的优先级是从1-99,1为最高。
centosplus、contrib两段则设定为2,这样基本的源就已经设置完成了。接下来我们添加新的源。
添加EPEL源
sudo rpm -ivhhttp://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
然后设置epel.repo中的每段priority=11
添加rpmforge源
sudo rpm -ivhhttp://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
然后设置rpmforge.repo的每段priority=12
添加这两个源足以,足够丰富了,源的配置就到这了。开始下一段。
支持NTFS文件格式
当然,我现在的需求还离不开与windows交互,我的大多数资料以及程序都放在windows的分区下,也不可能全都往linux里面拷,毕竟这样做就浪费了双系统双硬盘的优势了。
接下来需要让CentOS支持NTFS格式了,似乎Fedora和Ubuntu原生就已经支持好了,也就当多花了一点时间配置吧。
解决完源的问题,现在开始解决文件格式问题了,这个还是比较简单,安装NTFS-3G模块,很轻松的就支持了。
sudo yum install fuse fuse-ntfs-3g
在接下来的命令行的提示中,输入y同意即可安装完毕,这时候NTFS磁盘已经可以挂载了。
设置字体
令人欣喜的是,6.3中已经自带了文泉驿正黑的字体,不过我还决定把windows下微软的字体放进去,毕竟自己折腾根本就不存在什么版权问题,眼睛舒适才是王道,身体最重要!
windwos的字体都存在C:/Windows/Fonts下,复制到/usr/share/fonts/myfonts中就可以在字体设置中看到新的字体了。myfonts是自己建立的文件夹,随便什么名字都可以。
Firefox安装flash插件
发现下载了rpm包安装后,Firefox依然不能显示Flash动画,于是去Adobe官方下载,下载.tar.gz版本,解压后,将libflashplayer.so拷贝到/usr/lib/mozilla/plugins/下,刷新浏览器即可。
Rhythmbox播放器
系统中自带的播放器是rhythmbox,第一次播放歌曲会提示安装解码器。按提示操作就行了。
接下来发现很多歌都是乱码,通过修改Rhythmbox的配置文件可以解决许多歌的乱码问题(不是全部)
sudo vi /usr/share/applications/rhythmbox.desktop
找到这一行:
Exec= rhythmbox %U
将其改为:
Exec= env GST_ID3_TAG_ENCODING=GBK:GB18030 rhythmbox %U
然后清空播放列表,再重新添加歌曲。就目前而言,我windows中的几百首歌无一乱码。
Vi乱码
很多windows下GBK文本Vi会识别为乱码,当然我需要vi也支持啦!
sudo vi /etc/virc
在末尾增加如下内容
set fileencodings=utf-8,gbk,ucs-bom,cp936
这个问题还是比较简单
Gedit乱码
首先安装gconf-editro插件
sudo yum install gconf-editor
然后在终端输入gconf-editor,展开树找到/apps/gedit-2/preferences/encodings节点,编辑auto_detected键,添加GB18030,并上移最顶端。此方法适用于Gedit2.X。
Android环境安装前准备
64位的CentOS并不能支持Android环境,还需要安装额外的插件。
执行如下命令:
sudo yum install glibc.i686 glibc-devel.i686 libstdc++.i686zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libX11.i686libXext.i686 libao.i686 alsa-lib.i686 libXrender.i686libXrandr.i686
JDK安装与配置
到Oracle官网下载java1.6,rpm.bin包或bin包都可以。我这里下载的是rpm.bin包。
下载后给包赋予执行权限并执行:
chmod 777 jdk-6u35-linux-x64-rpm.bin
./jdk-6u35-linux-x64-rpm.bin
执行完之后,会解压出rpm包,这时对rpm包进行安装
sudo rpm -ivh jdk-6u35-linux-amd64.rpm
回车后开始安装,网上有人说需要输入yes,我这里到是并没有出现该提示。安装完成后,JDK默认路径安装在/usr/java下。
此时还需配置一下环境变量:
sudo vi /etc/profile
在文件的末尾加上
export JAVA_HOME=/usr/java/jdk1.6.0_35
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=.:/usr/java/jdk1.6.0_35/lib:/usr/java/jdk1.6.0_35/jre/lib:$CLASSPATH
修改文件后,接下来要做的就是让环境变量生效了,执行如下命令
source /etc/profile
此时JDK环境变量应该已经生效,通过如下命令可查看JDK信息
java -version
JDK信息:
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixedmode)
好了JDK的配置就完成了。
wine
Linux下官方版QQ更新日期还是2009年,功能惨不忍睹,主要还是稳定性太差了!于是现在折腾下wine安装QQ。折腾下wine也好,也可以运行部分windows下的软件,毕竟Linux下的日常软件少得可怜。
同样的,wine也早已存在软件库中。只需执行以下yum命令即可完成安装。
sudo yum install wine
下载Cabextract: http://www.cabextract.org.uk/
下载rpm包,执行安装即可
sudo rpm -ivh cabextract-1.4-1.i386.rpm
这里还少不了WineTricks,WineTricks 是Wine的其中一个开发者DanKegel写的一个安装Windows有关库和软件的小程序,非常有用。
在终端输入:
wget http://www.kegel.com/wine/winetricks
很小的一个工具,也就几秒钟。
为了安装QQ,需要许多支持库,于是开始执行winetricks这个脚本来安装支持库
sh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6vcrun2005sp1 flash
好吧,开始按照提示一步一步装下来也很顺利,没有msxml3,他会给出地址下载,然后放到他给定的文件夹内,gdiplus也是。但是ie还有后面的出了一些错误,我把QQ2012的文件拷贝到.wine/driver_c/Program File(x86)/QQ/下也无法运行。于是我放弃了这种方式。
以上的内容就当使用wine吧,除了QQ外其他的一些windows程序还是可以运行的。
不安装上QQ确实心有不甘啊,因为有点不方便,在网上找到了一个一键安装包。
http://www.everbox.com/f/yLDb2jlpP9WBVvXlSkzC5JKu
盛大的网盘,需要盛大的通行证登录后才可以下载,想了好久也没想起我盛大的密码,最终还是通过邮箱找回密码下载这个安装包。
步骤:
chmod 777 qq2012.tar.gz
sudo tar -zxvf qq2012.tar.gz -C /opt
cd /opt/qq2012/wineapp/qq
sudo ./install.sh
sudo ./qq.sh
这个脚本似乎是以root用户来安装的,直接执行./qq.sh会提示不是用户的拥有者,也罢。
不过直接点图标发现不能运行?果然还是权限问题。
直接将~/.qq2012下的所有文件的所有者改成我当前用户就行了!
sudo chown -R 用户名 ~/.qq2012/
打开之后发现还真不错。虽然没有windows下那么美观,但也称得上是完美了。QQ搞定!
VirtualBox虚拟机
闲来无事,把虚拟机也解决了吧。VirtualBox算是一个轻量级的虚拟机,比较小,功能却很强大。以前没有用过,只用过VMWare。这回也来折腾下。
安装虚拟机之前先需要安装一下依赖包:
sudo yum install libqt-mt.so.3
sudo yum install libSDL-1.2.SO.0
完成后,去https://www.virtualbox.org/wiki/Downloads下载VirtualBox的安装包,选RPM包。下载后安装
sudo rpm -ivhVirtualBox-4.2-4.2.0_80737_el6-1.x86_64.rpm
安装完后VirtualBox会添加一个新的用户组vboxusers,需要把root用户和当前用户都添加进该组
sudo usermod -a -G vboxusers root
sudo usermod -a -G vboxusers 当前用户名
之后直接在菜单栏的System Tools找到Oracle VMVirtualBox运行即可。可以添加新的虚拟机,安装系统的方式很简单,插入光盘或选择镜像都行,就不再多说了。
安装完系统之后,每次开机都有一个警告信息,但是并无大碍,装了一个XP(机器性能不允许我装更耗资源的系统),安装速度非常快,进入系统后也一切正常。
在网上看帖子时,似乎很多人都遇到各种问题,我这里一切正常,或许是因为安装系统的时候我就把虚拟化这项全选了?!至少这次安装非常顺利!
VPN客户端
一、失败的案例
下载android环境的时候,由于谷歌被墙,只好先搞定VPN。自带的VPN设置按钮全是灰色的。于是先折腾PPTP。
首先安装pptp的源
sudo rpm -Uvhhttp://pptpclient.sourceforge.net/yum/stable/fc6/pptp-release-current.noarch.rpm
然后这时才能启用pptp-stable源来进行安装pptpconfig
sudo yum --enablerepo=pptp-stable install pptpconfig
执行到这一步发现pptpconfig需要很多依赖吧,把依赖包依次装好,在最后一个依赖包的时候出现了问题!php4-pcntl并不能成功安装上,该依赖包还依赖了libxml和libglade。但是这两个依赖的库怎么也找不到,在系统里倒是发现了libxml2。再看看那篇教程的时间:2007年!果断放弃了。
之后不通过pptpconfig,自己来配置文件,也都没连上,所以具体步骤也不再写了。
二、半成功案例?
依然是折腾PPTP。
sudo yum install pptp
sudo yum install NetworkManager-openswan
sudo yum install pptp-setup
然后创建一个VPN连接
sudo pptpsetup --create VPN连接名 --server 服务器IP地址 --usernameVPN用户名 --password VPN密码
再通过调用pppd命令连接VPN
sudo pppd call VPN连接名
然后通过ifconfig来查看连接状态
ifconfig ppp0
不知为何,我总是连接失败?不知道是对方VPN服务器不支持还是别的原因?我还没死心!
sudo yum install NetworkManager-pptp
这条命令会安装上系统管理工具的VPN的PPTP支持
于是重启一下NetworkManager服务
cd /etc/init.d/
sudo ./NetworkManager restart
这个时候发现系统的网络连接里面已经可以通过UI来添加新的VPN连接,我这有IPsec basedVPN以及PPTP两项,于是新建了个PPTP连接。填写完帐号密码服务器IP,以及加密方式等等。
新建完后连接!总是提示连接失败,也没有更多的提示信息了,费解!费解!于服务器上确认过了,确实是支持PPTP的,不知道有其他服务器来测试么,到底有何问题?
三、成功的案例
一直连接不上,放弃PPTP了,改折腾OpenVPN。源里有现成的openvpn。
sudo yum install openvpn
然后去服务器下载ovpn配置文件以及证书,然后将证书放到/etc/openvpn
然后将.ovpn后缀的配置文件改成.conf后缀。再执行启动服务的命令。
sudo service openvpn start
简单的两步!神奇的成功了……悲剧啊,之前耗了大半天时间折腾也不行!穿越到美国了,好了,可以开始安装android了。
Android环境安装
由于谷歌被墙,SDK也非常大,不想浪费VPN流量,走VPN下载速度也会比较慢,于是还得动动手脚。
首先修改/etc/hosts文件
sudo vi /etc/hosts
在文件中加入两行,即可解决android以及谷歌一些服务的问题。
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
好了,开始安装android环境,首先下载Eclipse-->http://www.eclipse.org/downloads/
Eclipse解压即可运行。
然后下载android SDK-->http://developer.android.com/sdk/index.html
接下来下载ADT插件,下载adt包-->http://developer.android.com/sdk/installing/installing-adt.html
在Eclipse中选择Install NewSoftware,选择下载后的ADT压缩包,确认安装ADT。稍过几分种后完成安装,重启Eclipse便在工具栏以及设置里面出现Android的设置。
将下载后的SDK包解压,在Eclipse的android设置中设好sdk路径,启动SDK下载各版本的android以及APIs即可。
from:http://geek.warmsheep.com/post/2012-09-23/40039183809