1. 程式人生 > >安裝Ubuntu後必須要做的幾件事(二)--開發工具篇

安裝Ubuntu後必須要做的幾件事(二)--開發工具篇

連結

安裝完善的編輯套件

講開發沒有編譯器,那麼一切都是浮雲。
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

sublime text(最性感的編輯器)

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

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包來安裝。

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

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 [email protected] IDENTIFIED BY "123456";

注意,我這兒用的是123456做為root使用者的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少於8位。

這樣的話,就設定好了MySQL中的root使用者密碼了,然後就用root使用者建立你所需要的資料庫。我這裡就以xoops為例:

mysql>CREATE DATABASE xoops;

mysql>GRANT ALL PRIVILEGES ON xoops.* TO [email protected] IDENTIFIED BY "654321";

這樣就建立了一個xoops_roots的使用者,它對資料庫xoops有著全部許可權。以後就用xoops_root來對xoops資料庫進行管理,而無需要再用root使用者了,而該使用者的許可權也只被限定在xoops資料庫中。

如果你想進行遠端訪問或控制,那麼你要做兩件事:

其一:

mysql>GRANT ALL PRIVILEGES ON xoops.* TO [email protected]"%" 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編輯器

sudo  dpkg -i remarkable_1.41_all.deb

最後修復依賴關係

sudo apt-get install -f

Remarkable

一些有用的工具

工具 描述
dos2unix 從windows上倒過來的檔案都帶有^Mb標識, vim開啟後看起來很醜, dos2unix是一個用來轉換DOS下的文字的換行符到Unix/Linux下的換行符格式。同時還包含一個 unix2dos/unix2mac用來做反向的轉換
開發者都或多或少接觸過 linux 接觸過命令列,當然肯定也都被命令列狠狠地“fuck”過。我很多時候都是微不足道的原因導致了命令列出錯,例如將 python 輸入成 ptyhon,例如將 ls -alh 輸入成 ls a-lh而導致出錯,這個時候我會想說:“fuck”
cmatrix 終端中實現的程式碼雨, 看起來挺有意思的
sl ls是經常使用的命令, 也經常容易輸錯, 安裝了sl, 當你輸錯的時候, 一輛火車會開出來, 嘟嘟!!!.
tmux 一個非常有用的終端分屏工具, 參照linux下的終端利器—-tmux, 你也可以從15款最佳Linux命令列終端工具 選擇幾款合適的終端 , 其中Tilda(快捷鍵F1)和Guake(快捷鍵F12)強烈建議安裝一個, 一鍵撥出你的終端, 瀏覽網頁, 看視訊時候幹活兩不誤