安装Ubuntu后必须要做的几件事(二)--开发工具篇

链接


链接
安装Ubuntu后必须要做的几件事(一)–基础应用篇
安装Ubuntu后必须要做的几件事(二)–开发工具篇
终端的乐趣–Linux下有趣的终端命令或者工具
Ubuntu使用apt-file解决库或者文件缺失依赖
Ubuntu切换默认sh为bash或者dash
Linux下几款C++程序中的内存泄露检查工具
解决ubuntu无法调整和保存屏幕亮度的问题
Ubuntu安装Microsoft Windows Fonts微软字体库
解决Windows与Ubuntu双系统时间同步问题
Ubuntu安装图片处理工具GIMP及其插件
21款最佳Linux命令行终端工具
两台Linux系统之间传输文件的几种方法
使用gdb调试程序完全教程
linux下man手册的安装和使用
Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)
如何参与linux内核开发
linux 如何显示一个文件的某几行(中间几行)
Git中的AutoCRLF与SafeCRLF换行符问题
linux环境中英文切换配置以及乱码问题
linux下使用ccat让你的cat高亮显示
怎么判断你的linux系统是不是运行在虚拟机器上面
Linux下管理用户的命令大全
Linux软连接和硬链接
Linux性能测试工具-UnixBench–安装以及结果分析
CodeBlocks最全官方配色方案
C/C++log日志库比较
Centos5.x/Linux下升级python到python2.7版本教程
几款xshell绝佳配色方案
VS2012插件推荐
linux下的终端利器—-tmux
Ubuntu下Sublime Text 3解决无法输入中文的方法
使用trash-cli避免误删文件–为rm增加回收站功能
Ubuntu安装Python的包管理工具Pip
Ubuntu安装配置串口通讯工具minicom&&cutecom
Ubuntu编译安装llvm-clang
搜索引擎收录大全
Ubuntu安装深度音乐&&深度影音
Vimium-Geek是这样上网的[Chrome–插件]
几款好的markdown编辑器
Windows&&Linux双系统引导项修复问题汇总
安装CentOS时误将将引导项写入U盘后的修复
Linux操作系统中,.zip、.tar、.tar.gz、.tar.bz2、.tar.xz、.jar、*.7z等格式的压缩与解压
Chrome浏览器护眼插件
Google搜索技巧终极收集
世界上最神奇的网站收录–不是最无聊就是最有意思
Python模块之命令行解析工具-argparse
GNOME下设置应用程序图标
git 删除右键菜单项
个性化您的Ubuntu Linux终端
Python判断当前操作系统类型以及os/sys/platform模块简介
Python实现设置终端显示颜色、粗体、下划线等效果
Python程序在Windows终端乱码解决方法
发现的更强大的vim配置信息
Ubuntu禁止mysql开机启动
Ubuntu下使用sysv-rc-conf管理服务
使用Vundle管理Vim插件
Vim的安装与配置
push到github时,每次都要输入用户名和密码的问题
Ubuntu安装配置mysql
盘点Linux下的开源云平台&&云存储服务
Ubuntu下安装GTK库
Linux下查看系统信息命令
Linux下查看系统信息命令
Ubuntu更新软件源
linux命令行界面(CLI)浏览器
Linux下使用unzip解压缩中文乱码问题
Linux下的下载工具介绍—-aria2
vim 树形目录插件NERDTree安装
urllib2模块之异常处理
Python第三方库
Sublime text 3设置用用空格替换tab键
几款好的C/C++编译器(编译器而非IDE)
Sublime Text 3配置Windows下C/C++编译环境
Sublime Text[崇高文本]—-最性感的编辑器(程序员必备)
WingIDE安装和破解(Python开发利器)
Linux设置nfs共享目录
让你的python程序开机自启动

安装完善的编辑套件


讲开发没有编译器,那么一切都是浮云。
Ubuntu默认是不安装g++的

sudo apt-get install build-essential

下面这些看自己爱好:
安装词法和语法分析器

sudo apt-get install flex
sudo apt-get install bison

编辑器


vim(编辑器之神 & 黑客的编辑器)


当然您也可以选择emacs,关于他们哪个好我已经不想再说了,他们的圣战如同编译器的圣战一样,年代久远且永无止境。
曾经无数的“高手”对我说,世界上只有三种程序员,一种是用vim,一种是用emacs,另一种就是用其它编辑器的
1.用root账户登录Ubuntu,命令行中输入vim,如果未安装会得到下面的提示:

程序“vim”已包含在下列软件包中:
 * vim
 * vim-gnome
 * vim-tiny
 * vim-gtk
 * vim-nox
请尝试:apt-get install <选定的软件包>

按照提示输入安装

apt-get install vim

更加详细的安装和配置请参见
Vim的安装与配置
安装Ubuntu后必须要做的几件事(二)--开发工具篇_第1张图片

sublime text(最性感的编辑器)


sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text

更加详细的信息请参见
Sublime Text[崇高文本]—-最性感的编辑器(程序员必备)

Sublime Text 3配置Windows下C/C++编译环境

Sublime text 3设置用用空格替换tab键

Ubuntu下Sublime Text 3解决无法输入中文的方法

atom(21世纪最易于配置的文本编辑器)

在开发编辑器相争的领域,我们看到了不少的更新换代。最后一次使Web开发界轰动的编辑器,非Sublime Text莫属了,特别是在Package Control出现之后,更为其增添了不少光彩,它提供了完美的包管理功能,使用户能够方便的安装管理各种插件。

如今,Github开始坐不住了,它发布了一款新的编辑器的Beta版,名字叫做Atom,誓要刮起Web开发界的一场新风暴。我有幸拿到了Beta版本的程序,接下来我要为你们展示这个编辑器究竟提供了什么样的功能。还有一件事需要提醒的是,此编辑器的文档甚是匮乏,所以有些功能需要一探究竟才能知道它使干什么用的

sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

注意:如果遇到 Node.js 相关错误,请先添加这个 Node.js PPA。

如果要从 Ubuntu 中删除 Atom 文本编辑器,可以使用如下命令:

sudo apt-get remove atom

解压缩工具


7z解压缩*.7z以及rar


linux安装7z命令
linux上安装7z命令有两种方式:在线安装和安装包安装,下面分别介绍。

使用apt-get安装

如果你的宿主机Linux可以连接外网,推荐用这种方式,方便简单,执行命令:

sudo apt-get install p7zip

即可在线安装7z命令。

源码包安装

7z(准确点说是7-Zip)提供了线下的程序安装包,也可自己编译安装。这里讲的是用7z提供的bin包来安装。

宿主机linux一般是X86的,而7z提供编译好了的bin包,可以很方便的安装。步骤如下:
1 去网站
http://sourceforge.net/projects/p7zip/files/
http://sourceforge.net/projects/p7zip/files/p7zip/
上下载p7zip的包,当前最新版本是9.38.1;

2) 找到对应版本号进去,页面会提供两个供你下载,一个是bin包,另一个是源码包,这里下的是bin包,以9.38.1为例,下载的包名称是:p7zip_9.38.1_src_all.tar.bz2;

3) 在Linux上执行下面命令(解压和安装):

tar xjvf p7zip_9.38.1_src_all.tar.bz2
cd p7zip_9.38.1
sh install.sh

注意上面的命令权限,需要root权限,因此最好在tar和sh命令前加上sudo。

到此,就安装完成了。
注意:7za不仅仅支持.7z压缩格式,还支持.tar.bz2等压缩类型的。如上所述,用-t指定即可。

rarlinux解压缩rar


官方网址:http://www.rarlab.com/
下载对应的源码包
也可以直接用wget获取

wget http://www.rarlab.com/rar/rarlinux-5.2.1.tar.gz

编译安装

tar -zxvf rarlinux-5.2.1.tar.gz
cd rarlinux
make
make install

安装git


Git-PPA源


但由于直接使用 sudo apt-get install git 安装的版本较老,因此我们给出PPA源

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

安装完成后,检查是否安装成功

git --version

源码安装


wget https://github.com/git/git/archive/v2.3.0.zip
unzip v2.3.0.zip
cd git-2.3.0

编译安装

将其安装在“/usr/local/git”目录下。

make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

此时你如果使用git –version 查看git版本的话,发现git仍然是1.7.1版本。这是因为它默认使用了”/usr/bin”下的git。

你可以用下面的命令查看git所在的路径:

whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

我们要把编译安装的git路径放到环境变量里,让它替换”/usr/bin”下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。

sudo vim /etc/profile

然后在文件的最后一行,添加下面的内容,然后保存退出。

export PATH=/usr/local/git/bin:$PATH

使用source命令应用修改。

source /etc/profile

然后再次使用git –version 查看git版本,发现输出2.3.0,表明安装成功。

设置Git

设置用户名和email。

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

此时,Home目录下会新建一个.gitconfig文件

为GitHub账号添加SSH Keys

以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令。)
创建SSH key

ssh-keygen -t rsa -C "[email protected]"

系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可。

(2)Copy SSH Key

然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。

vim ~/.ssh/id_rsa.pub

(3)添加到GitHub

登录github-> Accounting settings图标-> SSH key-> Add SSH key-> 填写SSH key的名称(可以起一个自己容易区分的),然后将拷贝的~/.ssh/id_rsa.pub文件内容粘帖-> add key”按钮添加。

(4)测试

ssh -T git@github.com
  1. 为GitHub上的Repository提交修改
    (1)git clone已存在GitHub上的Repository。(在新建的~/MyTestFolder目录中)
git clone https://github.com/zhchnchn/ZhchnchnTest.git

修改一个文件,然后提交

vim README.md
git status
git add README.md
git status
git commit -m "Edit by WorkUbuntu 1204"
git status
git remote add origin https://github.com/zhchnchn/ZhchnchnTest.git

fatal: remote origin already exists.

解决办法【3】:

$ git remote rm origin
然后再次执行 git remote add origin https://github.com/zhchnchn/ZhchnchnTest.git

(3)之后,需要将修改push到GitHub上

git push -u origin master

执行该条命令后,会要求输入GitHub账户的用户名和密码。
提交完成后,查看GitHub上的Repository,会发现内容修改成功。

安装nfs服务


NFS安装


服务器端安装 : 
sudo apt-get install nfs-common nfs-kernel-server portmap

在客户端则需要安装: 

sudo apt-get install nfs-common portmap

启动服务 
sudo /etc/init.d/nfs-kernel-server start

停止服务 
sudo /etc/init.d/nfs-kernel-server stop

重启服务 
sudo /etc/init.d/nfs-kernel-server restart

NFS配置


配置/etc/exports文件

sudo vim /etc/exports

书写规则是:(每个共享规则一行)
共享目录 主机 ( 参数 )
例如:

/home/fzu/dd 219.229.128.44(ro,sync, no_root_squash)

注:nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。其中:/rootnfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

nfs常用的参数有:

参数 意义
ro 只读访问
rw 读写访问sync 所有数据在请求时写入共享
async nfs在写入数据前可以响应请求
secure nfs通过1024以下的安全TCP/IP端口发送
insecure nfs通过1024以上的端口发送
wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide 共享nfs目录的子目录录
subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root 用户的所有请求映射成如anonymous用户一样的权限(默认))
no_root_squas root 保留共享文件的UID和GID(默认)
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

测试


显示出共享出来的目录

showmount -e

将nfs的rootnfs目录挂载到本地磁盘上。

sudo mount -t nfs localhost:/rootnfs /mnt

查看挂载情况

df

卸载挂载

sudo umount /mnt

远程管理主机


ssh命令行登陆


ubuntu下开启ssh服务

安装ssh服务器:

sudo apt-get install openssh-server

查看ssh服务是否在后台开启,出现了sshd字样表示ssh后台服务默认已开启

ps -e | grep ssh
10588 ?        00:00:00 sshd

你的服务器也可以是Mac或者Windows,只需要安装ssh服务器,并开启ssh后台服务即可

Windows下安装ssh客户端

secure shell client:免费开源,但中文显示乱码,无法传输中文乱码名的文件,不能记住密码

putty : 占用内存最小,每次登陆时需要重新连接,可通过设置编码为UTF-8不会显示中文乱码

Xshell和Xftp: 商用软件,但有免费版,可以保存设置的登陆会话,能记住密码,传输文件和显示中文时都可以通过设置编码为UFT-8而不会产生乱码,效果最佳。

推荐使用XShell+Xftp软件,创建新会话,填写完ip地址、用户名和密码就可登陆你的Ubuntu服务器

远程界面登陆服务器


安装x11vnc:

sudo apt-get install x11vnc

设置vnc连接密码,根据提示输入密码并保存:

命令: x11vnc -storepasswd

执行信息:
Enter VNC password: 
Verify password:    
Write password to /home/charles/.vnc/passwd?  [y]/n y
Password written to: /home/charles/.vnc/passwd

启动vncserver:

后台自动启动

sudo cp ~/.vnc/passwd /etc/x11vnc.pass

创建/etc/init/x11vnc.conf文件,内容如下:

start on login-session-start
script
       x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900  
end script

单次手动启动:

x11vnc -forever -shared -rfbauth ~/.vnc/passwd

重启ubuntu系统,再在Windows上用vnc viewer登陆

输入VNC Server名字-IP地址:端口号,后再输入设置vnc的连接密码

x11vnc常用命令(待补充)

x11vnc -kill :1 杀掉1号端口的vnc server进程

开启 telnet 服务


首先安装openbsd-inetd:

sudo apt-get install openbsd-inetd

然后检查文件/etc/inetd.conf,确保有这一行

telnet        stream    tcp    nowait    root    /usr/sbin/tcpd    /usr/sbin/in.telnetd

然后启动:

sudo /etc/init.d/openbsd-inetd restart

就可以了
查看telnet服务是否启动:

netstart -a | grep telnet

如果已经启动,可以得到如下信息:

tcp        0      0 *:telnet                *:*                     LISTEN 

可以通过登录本机,测试telnet服务是否可用:

telnet localhost

如果可用,得到下面的提示:

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Ubuntu 10.04.1 LTS
eric-ztxie-desktop login:

安装串口调试终端


安装

sudo apt-get install ckermit

2、用户要目录下配置 .kermrc
内容如下:

set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none

说明:若用串口第一行为set line /dev/ttyS0 若用了USB转串口线,用当前配置就好。
3、测试

连接串口:kermit -c
Ctrl+/+c进入ckermit命令模式,可以随时更改传输协议
退出:ctrl+/+c 再按q

开启apache服务


安装Apache2


打开终端,然后并输入以下命令,那么从服务器上面下载并安装Apache2

sudo apt-get install apache2

修改etc/apache2/conf.d/charset


这个是网站编码配置,里面内容很少,打开看就知道了,我这里将最后行的

#AddDefaultCharset UTF-8

前面的#去掉,使用UTF-8编码,当然也可以把 UTF-8改成别的编码。

修改httpd.conf


增加以下内容:

    ServerName 127.0.0.1:80

修改cgi文件目录


/etc/apache2/sites-available/default

这个是网站目录配置,想更改网站目录的话,就修改这个,上面的目录的 apache2.conf 里面也有网站目录的。详细见相关配置

设置方法:修改ScriptAlias /cgi-bin/ /var/www/cgi-bin 部分即可

通过127.0.0.1/cgi-bin/*.cgi即可访问

安装结束后:

    产生的启动和停止文件是:/etc/init.d/apache2
    启动:sudo apache2ctl -k start
    停止:sudo apache2ctl -k stop
    重新启动:sudo apache2ctl -k restart

安装sqlite3


介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库。
安装:

要安装sqlite3,可以在终端提示符后运行下列命令:

sudo apt-get install sqlite3

检查版本

sqlite3 -version

测试

当前目录下建立test.db测试数据库文件

sqlite3 test.db

查询信息

.database

退出

.exit

图形界面

可以选择sqlitebrowser程式(qt3)

sudo apt-get install sqlitebrowser

启动图形界面可以在终端提示符后输入sqlitebrowser

安装MySQL


sudo apt-get install mysql-server

这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。

配置MySQL

注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:

默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:

mysql -u root

在这里之所以用-u root是因为我现在是一般用户(firehare),如果不加-u root的话,mysql会以为是firehare在登录。注意,我在这里没有进入根用户模式,因为没必要。一般来说,对mysql中的数据库进行操作,根本没必要进入根用户模式,只有在设置时才有这种可能。

进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";

注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。

这样的话,就设置好了MySQL中的root用户密码了,然后就用root用户建立你所需要的数据库。我这里就以xoops为例:

mysql>CREATE DATABASE xoops;

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";

这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。

如果你想进行远程访问或控制,那么你要做两件事:

其一:

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";

允许xoops_root用户可以从任意机器上登入MySQL。

其二:

sudo gedit /etc/mysql/my.cnf

老的版本中

>skip-networking => # skip-networking

新的版本中

>bind-address=127.0.0.1 => bind-address= 你机器的IP

这样就可以允许其他机器访问MySQL了。

markdown编辑器


我使用Remarkable
主页:http://remarkableapp.net/
下载:http://remarkableapp.net/download.html
下载deb包

sudo  dpkg -i remarkable_1.41_all.deb

最后修复依赖关系

sudo apt-get install -f

安装Ubuntu后必须要做的几件事(二)--开发工具篇_第2张图片

一些有用的工具


工具 描述
ccat 让你的cat带上高亮的色彩, 参照linux下使用ccat让你的cat高亮显示
color_compile 让gcc, g++, make的输出高亮显示, Ubuntu设置gcc/g++/make输出颜色高亮
dos2unix 从windows上倒过来的文件都带有^Mb标识, vim打开后看起来很丑, dos2unix是一个用来转换DOS下的文本的换行符到Unix/Linux下的换行符格式。同时还包含一个 unix2dos/unix2mac用来做反向的转换
thefuck 开发者都或多或少接触过 linux 接触过命令行,当然肯定也都被命令行狠狠地“fuck”过。我很多时候都是微不足道的原因导致了命令行出错,例如将 python 输入成 ptyhon,例如将 ls -alh 输入成 ls a-lh而导致出错,这个时候我会想说:“fuck”
trash-cli 回收站的终端实现, 用它替代你的rm,这样你就不会害怕误删了, 参照使用trash-cli避免误删文件–为rm增加回收站功能
cmatrix 终端中实现的代码雨, 看起来挺有意思的
sl ls是经常使用的命令, 也经常容易输错, 安装了sl, 当你输错的时候, 一辆火车会开出来, 嘟嘟!!!.
tmux 一个非常有用的终端分屏工具, 参照linux下的终端利器—-tmux, 你也可以从15款最佳Linux命令行终端工具 选择几款合适的终端 , 其中Tilda(快捷键F1)和Guake(快捷键F12)强烈建议安装一个, 一键呼出你的终端, 浏览网页, 看视频时候干活两不误

你可能感兴趣的:(安装Ubuntu后必须要做的几件事(二)--开发工具篇)