安裝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
- 為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
一些有用的工具
工具 | 描述 |
---|---|
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)強烈建議安裝一個, 一鍵撥出你的終端, 瀏覽網頁, 看視訊時候幹活兩不誤 |