[ubuntu] 更改啟動列(launcher bar)位置

今天幫朋友裝了 ubuntu 桌面版,查了一下怎麼把平常像 windows 的啟動列改變位置。   開 terminal ctrl + alt + T 輸入指令 置底: gsettings set com.canonical.Unity.Launcher launcher-position Bottom 置左: gsettings set com.canonical.Unity.Launcher launcher-position Left PS. 若要使用 GUI 設定的方法,可以考慮安裝 Unity Tweak Tool (sudo apt-get install unity-tweak-tool),Lanuncher 設定中。 參考資料: http://www.howtogeek.com/251616/how-to-move-the-unity-desktops-launcher-to-the-bottom-of-your-screen-on-ubuntu-16.04/  

Continue reading


[ubuntu] 安裝 nodejs 與 npm

這篇採用的系統環境為 ubuntu 14.04   使用 ubuntu 的套件庫進行安裝,一行指令安裝 (由於此安裝方法的來源為 ubuntu 維護, nodejs 版本可能會比較低) sudo apt-get install nodejs sudo apt-get install nodejs-legacy sudo apt-get install npm ps. 由於 nodejs 安裝完後會產生執行檔 /usr/bin/nodejs,透過 node-legacy 會幫我們建立常見的 /usr/bin/node 透過 PPA (personal package archive) 安裝,目前 nodejs 最高版本為 6.x curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh sudo bash nodesource_setup.sh sudo apt-get install nodejs sudo apt-get install build-essential ps. 此方法已經幫你裝好 […]

Continue reading


[ubuntu] crontab 用法 與 rsync 定時備份資料庫與系統設定等檔案

在 ubuntu 中,我們若需要建立定時的排程工作時(如:定時備份),可以使用 crontab 加入例行性排程,系統將會會定時執行相對應的工作。 在 ubuntu 中,決定使用者是否可以編輯自己 cron job 的設定檔為 /etc/cron.allow 在此檔案中的使用者帳號將可編輯 cron job,若不在其中則無法使用。 /etc/cron.deny 在此檔案中的使用者帳號將不可使用 crontab,若不在其中則可以使用。 例: PS.  預設會以 cron.allow 為優先。因此,通常只會選擇其中之一( cron.allow 或 cron.deny )做限制 接下來,介紹一下如何使用 crontab crontab -u [username] :只有 root 可以使用這個參數,可以新增或刪除其他使用的 cron job -e:編輯自己的 cron job -l:列出目前的 corntab -r:移除目前所有的 cron job 來看看如何編輯自己的 cron job, crontab -e #  m(分鐘) h(小時)  dom(日)  mon(月) […]

Continue reading


[ubuntu] rsync 用法及備份教學

以前做備份都是用 tar 在打包,在本機上移動到其他的磁碟,都沒想過把備份檔透過網路傳輸至其他機器備份等等。 因此這邊來介紹 rsync 這個指令,可以透過 rsh、ssh 將檔案做鏡像備份及增量備份至遠端機器。 rsync 參數 -v:觀察模式,列出更多資訊(檔案名稱等等)。 -q:與 -v 相反,僅列出錯誤訊息。 -r:遞迴複製,用在多層目錄及檔案時。 -u:僅更新檔案,增量備份的作法。若目的地檔案較新,則不更動。要注意可能覆寫舊資料! -l:保留 symbolic link  的屬性,非檔案內容。 -p:保持原有檔案的屬性(rwx)。 -g:保持原有檔案的擁有群組。 -o:保持原有檔案的擁有者。 -D:保持原有檔案的裝置屬性。 -t:保持原有檔案的時間屬性。 -I:忽略檔案的 mtime,在增量備份比對時會比較快速。 -z:資料傳輸時,加上壓縮。 -e:使用的通道協定。如:-e ssh -a:相當於 -rlptgoD rsync 的三種模式 本機上備份(複製),其實就相當於cp,只是你可以顯示更多資訊 如:將 np 資料夾底下的所有東西複製至 tmp 資料夾 rsync -av np/ tmp/ 透過 rsh 或 ssh 協定在 不同機器間傳輸備份 如:將遠端機器的 etc 資料夾備份至此機器的 tmp 資料夾 […]

Continue reading


[ubuntu] apt-get update、upgrade 與 dist-upgrade 差別

update 更新我們的套件清單 /etc/apt/sources.list,這樣在我們更新時才能比對最新的套件清單,決定是否更新 upgrade 根據前述的更新清單 /etc/apt/sources.list,比對是否更新套件。若有相依性問題,則放棄更新。 dist-upgrade 根據前述的更新清單 /etc/apt/sources.list,比對是否更新套件。若有相依性問題,會嘗試做安裝/移除,將相依性問題解決並更新。 PS. 通常視為較危險的更新 參考資料: man page update update is used to resynchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list. For example, when using a Debian archive, this command retrieves and scans the Packages.gz files, so that information […]

Continue reading


[ubuntu] fail2ban 防止 ssh 暴力嘗試密碼

架好主機後,通常會開啟 ssh 遠端登入,但過一陣子看系統紀錄後,會發現有許多在惡意嘗試登入的使用者 因此,安裝 fail2ban 可以防止 ssh 暴力嘗試   安裝 fail2ban sudo apt-get install fail2ban 查看目前 ssh 阻擋設定,/etc/fail2ban/jail.conf,並複製一份為 jail.local 覆寫你想做的設定,如下: 開啟 fail2ban 服務 sudo service fail2ban start  完成!!

Continue reading


[ssh] putty、pietty 開 ssh tunnel 瀏覽BBS、網頁及FTP服務

時常在公司或學校或私人機構的機器,通常會設置防火牆或連入設定。 大多時候,或許大家習慣連 VPN server去做存取內部機器的方法,但 vpn.cs.ccu.edu.tw 有時候真的太多人在濫用了XD 連 Stackoverflow 都被弄到擋掉…… 因此這邊介紹如何使用pietty、putty 開 ssh tunnel,以及利用這個 tunnel 做一些應用。  開啟 pietty、putty,若為 pietty 請勾選紅框 “putty模式” 輸入你擁有登入權限的主機 設定 ssh tunnel 使用的本機 port及相關設定 這邊的設定根據應用有所不同 BBS 以台大批踢踢實業坊為例 瀏覽器、ftp (filezilla為例) PS. 一定要記得按下 Add ,再 open 登入 設定 proxy ,使用 SSH tunnel 連線 BBS(以 PCMan 為例) 在位址輸入 localhost:{ 你剛剛開的port } ,如果是網頁版(PCMan combo),則為 telnet://localhost:{ 你剛剛開的port } […]

Continue reading


[ubuntu] apache ServerName 警告訊息

過去在 ubuntu 安裝完 apache,啟動時總是會出現以下這段訊息 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message 最近才試著去解決產生此訊息的問題 其實是 apache2 抓不到 hostname,因此我們正確的設定 hostname 就正常了 sudo hostname ubuntu.mydomain.com 參考文章:http://blog.miniasp.com/post/2012/06/23/apache2-Could-not-reliably-determine-the-server-fully-qualified-domain-name-using-for-ServerName.aspx  

Continue reading


[npm] node package manager + node 如何使用一般使用者身份安裝 (linux 環境)

有些時候我們並不會擁有機器的 root 權限,如何在非 root 的情況下安裝 node 和 npm ps. 前提是系統必須裝有 C/C++ 的編譯器,如:gcc/g++   至 nodejs 官方網站,下載 source code 版本至家目錄 https://nodejs.org/en/download/ 解壓縮至家目錄 cd ~ tar -zxvf  node-v4.2.6.tar.gz  在家目錄創建 .npmrc 設定檔,加入以下內容 root = /home/YOUR-USERNAME/.local/lib/node_modules binroot = /home/YOUR-USERNAME/.local/bin manroot = /home/YOUR-USERNAME/.local/share/man 進入解壓縮後的目錄,開始做安裝目錄設定及編譯安裝( 我們將安裝在 ~/.local ,原本預設是/ur/local/.local ) ./configure –prefix=~/.local make make install  建立 symbolic link ,設定我們 require 時預設會找的目錄 cd […]

Continue reading