顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2013-07-22

Change Console Resolution in Grub2

edit below file.

sudo vi /etc/default/grub

uncomment the setting "GRUB_GFXMODE=640x480", and change to the resolution what you want.

update grub and reboot.

sudo update-grub
sudo reboot

i test it on ubuntu 13.04, and it works.


Reference:

ubuntu 10.04 console resolution
Grub 2 and the VGA parameter

2011-10-30

GTK-Warning: pixmap

作業系統換上全新的 Ubuntu 11.10 ,遇到了一些問題
新出來的東西嘛,難免的

錯誤訊息:
Gtk-WARNING **: 無法在module_path 中找出佈景主題引擎:‘pixmap’

解決方案:
安裝缺少的套件就好了~
sudo apt-get install gtk2-engines-pixbuf

Reference:
Tsung's Blog - Ubuntu 修復 GTK WARNING(module_path, pixmap)

2011-10-03

ID3 Tag - 轉換編碼

在 Linux 上要播 MP3 時,常常會看到音樂的相關資訊變成亂碼,
這是因為 MP3 裡的 ID3 tags 編碼不是 UTF-8。

要解決這個問題不難,有個工具可以輕鬆的轉換編碼,就是 mid3iconv

安裝

只要安裝 python-mutagen 套件,就可以有好用的 mid3iconv 可以用了
$ sudo apt-get install python-mutagen

操作方法

裝好之後就可以開始轉換了。

如果確定要轉換編碼的 ID3 Tag 原本是 big5 的話,
就用以下指令轉換當前資料夾裡的所有 MP3 的 ID3 編碼
$ mid3iconv -e big5 *.mp3 參數
-e 編碼
    資料原本的編碼
-p, --dry-run
    不會改變原檔案

更進階的用法:
轉換目前目錄下所有子目錄的 MP3
find . -iname "*.mp3" -execdir mid3iconv -e big5 {} \;
Ubuntu Linux - 用mid3iconv及exfalso批次整理舊MP3的ID3標籤
[筆記]在Ubuntu下大量轉換ID3之編碼

2011-06-01

[Apache] 使用者自己的網頁目錄 & Config Indexes

要讓使用者有自己的網頁目錄不麻煩
把 apache2 的 userdir mod 啟動就可以了


在 ubuntu 下的方法:
# a2enmod userdir
# /etc/init.d/apache2 restart


預設的網頁目錄是
~/public_html/
就在 userdir.conf 裡的
<Directory /home/*/public_html>

網址則是
http://localhost/~user/

還可以設定哪些 user 可以使用 userdir
# 預設是 disabled root
UserDir disabled root

如果 userdir 下的 php 沒辦法打開,會變成下載 php 檔的話,那要調整一下 apache 的 php 設定

就在 /etc/apache2/mods-available/php5.conf 裡有註明
# To re-enable php in user directories comment the following lines
# (from to .) Do NOT set it to On as it
# prevents .htaccess files from disabling it.


就如 conf 檔裡所看到的,comment the following lines 吧

另外,這設定好像是 php5.3 才新加的

避免 /var/www/ 的目錄中沒有 index.html 而被瀏覽者看到目錄中的檔案或資料夾


# vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/>:
Options Indexes FollowSymLinks MultiViews #將 Indexes 刪除
AllowOverride None
Order allow,deny
allow from all
</Directory>

# /etc/init.d/apache2 restart

2011-05-30

在 ubuntu natty 上安裝 LAMP server

好像沒什麼特別好介紹的,就分別裝上 Apache, Mysql, php 就完成了

安裝 mysql:


# apt-get install mysql-server
安裝過程中要設定 mysql 的 root password
更重要的是要把密碼記住

安裝 apache2:

# apt-get install apache2
安裝好 apache2 後,就可以連到 http://localhost/ 看看是否正常運作,
有跑起來的話,畫面上會顯示 "It works!"

安裝 php:


# apt-get install php5 php5-mysql libapache2-mod-php5

下列套件將會被【移除】:
apache2-mpm-worker

裝 php 時,會把 apache2-mpm-worker 移除,換成 apache2-mpm-prefork

安裝 phpmyadmin:

# apt-get install phpmyadmin
安裝過程會要求設定 phpmyadmin:
選擇 http server 類型,這個就是選擇我們這裡裝的 apache2 了
設定phpmyadmin 使用者密碼

phpmyadmin 裝好之後,可以連到 http://localhost/phpmyadmin/ 可以看到 phpmyadmin 的登入畫面

現在,你成功的架設了 LAMP Server,可以開始你的 PHP 之路了

Book.Study.Nyo - 在debian squeeze 上裝 LAMP

2011-04-07

[Linux] 列出指定位置下的所有資料夾

任務目標:

針對指定的路徑,列出底下所有的資料夾,但是不列出檔案

用 find
$ find . -type d

用 ls 跟 grep
$ ls -lR | grep '^d'

用 tree
$ tree -d

2011-02-18

[Linux] ln 製作 Linux 上的捷徑

ln - make links between files
要在 Linux 底下建立捷徑,只要用 ln 這個指令就 OK 啦


$ ln [參數] 來源檔案或資料夾 要建立的 link 名稱

沒有參數的時候是建立 hard link,沒辦法跨 file system,沒辦法 link directory
-s : symbolic link
-f : 要建立的 link 如果存在,會先移除掉再建立


比較常用的似乎是 symbolic link

在修改 link 裡的資料時,實際上就是去修改 link 所指向的原資料


鳥哥的 Linux 私房菜 - 實體連結與符號連結: ln
凍仁的 Ubuntu 筆記 - 【Ubuntu】ln - Linux 上的捷徑

2011-02-14

[Linux] 釋放虛擬記憶體

Linux Kernel 2.6.16 之後新加入了 drop caches 的機制,可以讓系統空出大量的記憶體

Freeing the page cache:
$ echo 1 > /proc/sys/vm/drop_caches
$ sysctl -w vm.drop_caches=1


Free dentries and inodes:
$ echo 2 > /proc/sys/vm/drop_caches

Free the page cache, dentries and the inodes:
$ echo 3 > /proc/sys/vm/drop_caches

這使 kernel 更勤於回收 cache
$ sysctl -w vm.vfs_cache_pressure=n (n > 100)

Tsung's Blog - Linux 手動回收 已經被 Cache 的記憶體

2011-01-20

[Linux] netstat 查看網路連線的好工具

netstat 可以讓你看到網路連線等等許多的資料,
不過也要會用才找的到你想要的東西...


鳥哥介紹的指令:
列出目前的路由表狀態,且以 IP 及 port number 顯示
$ netstat -rn

列出目前的所有網路連線狀態,使用 IP 與 port number
$ netstat -an

秀出目前已經啟動的網路服務
$ netstat -tulnp

觀察本機上頭所有的網路連線狀態
$ netstat -atunp


以下是其他實用的 netstat 語法,可以檢查主機的連線數量:
顯示主機上所有已建立的連線。
$ netstat -na

顯示所有 port 80 的連線,並把結果排序。
$ netstat -an | grep :80 | sort

列出主機上有多少個 SYNC_REC,一般上這個數字應該相當低。
$ netstat -n -p|grep SYN_REC | wc -l

同樣是列出 SYNC_REC,但不只列出數字,而是將每個 SYNC_REC 的連線列出。
$ netstat -n -p | grep SYN_REC | sort -u

列出發送 SYNC_REC 的所有 ip 地址。
$ netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

計算每一個 ip 在主機上建立的連線數量。
$ netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出從 TCP 或 UDP 連線到主機的 ip 的數量。
$ netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出每個 ip 建立的 ESTABLISHED 連線數量。
$ netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

列出每個 ip 建立的 port 80 連線數量。
$ netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1


鳥哥的 Linux 私房菜 - 察看本機的網路連線與後門: netstat
使用 netstat 找出不正常的連線 | Tsung's Blog

2010-12-28

[SSH] 以 key authentication 連 remote host

SSH


平常用 ssh 登入主機時,都是以打密碼的方式進行驗證
還有另一個驗證的方法,就是用 public key 跟 private key 來驗證

ssh-keygen 可以產生的 key 有三種
rsa1, rsa2, dsa
這邊以 rsa2 為例

ssh-keygen

openSSH 本身就有包含 ssh-keygen 這個產生 key 的工具
$ ssh-keygen -t rsa

ssh-keygen 會跑出以下訊息:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nyo/.ssh/id_rsa):
# 設定存放 key 的位置,按 enter 使用預設值
Enter passphrase (empty for no passphrase):
# 輸入 passpharse,想要不打密碼就登入的話,就讓它空白;或是打上 passpharse 之後再交由 ssh-agent 或任何 key 管理系統保管
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:18:XX:19:XX:XX:XX:XX:XX:13:XX:XX:05:XX:XX user@Ubuntu


現在在 ~/.ssh/ 裡我們有一把 public key (id_rsa.pub) 跟一把 private key (id_rsa)
只要把這兩隻 key 保管好,把 public key 放到你要連線的主機就可以了!

把 public key 放到你要連線的主機
$ scp ~/.ssh/id_rsa.pub username@server:~/
連到該主機上,這時你還是只能用打密碼的方式登入
$ ssh username@server
將 public key 加到系統預設放 public key 的地方:authorized_keys
$ cat id_rsa.pub >> ~/.ssh/authorized_keys

設定完成,你再次登入該主機就是以 key authentication
如果你沒打 passphrase 就可以直接登入
有打 passphrase 就打 passphrase

之後如果還要連到其他的主機,只要再將原本的 public key 送到該主機的 authorized_keys 就可以了

SSH 免密碼登入 - JosephJ
ssh keygen 免輸入密碼 - Tsung

2010-11-24

[Vim] 工欲善其事,必先有 Vim

Vim logo


What is Vim?
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. Vim is distributed free as charityware.

以上是 Vim 官方網站的簡介,
Vim 是一套程式編輯器,可以說是 vi 的進階版!?(Vim 代表 Vi Improved)
而 vi 呢?是一套 Unix 上必有的文字編輯器。

Vim可以做什麼?
可以讓程式碼用顏色加以標記,增加視別度,提高寫程式的便利
強大的字串處理能力,可以用 regular expression 處理文字
對自己常用的指令、功能設定按鍵
有許多的套件跟 plugin ,提高寫程式的效率
文件比較..
還有很多功能...

為什麼用Vim?
省下用滑鼠點來點去,拉來拉去的力氣..
省下連點下上左右的力氣...

這邊先做個簡單的開頭,接下來~玩多少寫多少囉~
網路上文章千萬篇~自己寫一份來給自己看

網路上找到的兩份Vim圖解:
給程式設計師的Vim入門圖解說明
vi / vim 圖解鍵盤指令

2010-11-07

在debian squeeze 上裝 LAMP

LAMP 就是 Linux, Apache, MySQL, PHP 的簡稱,也是常見的 Web Server 組合。

安裝過程很簡單,幾個步驟就完成了~

以下介紹安裝部份!:

安裝 MySQL:
# apt-get install mysql-server mysql-client
安裝 MySQL 的過程中會要求使用者設定資料庫的 root 密碼,
請把密碼記好,否則以後忘記就麻煩了。

安裝 Apache2:
# apt-get install apache2 apache2-doc

安裝PHP:
# apt-get install php5 php5-mysql libapache2-mod-php5
apache2 預設的 mpm(multi-processing module) 是 apache2-mpm-worker,
但是裝 php5 時,會出現一個  apache2-mpm-prefork 跟它衝突,這時候兩者選一就可以,
從網路上許多的比較下似乎是 apache2-mpm-prefork 相容性及穩定性較佳,所以我裝 prefork 的 module

安裝 phpmyadmin:
phpmyadmin 這套工具,讓你可以從 web 去操作 MySQL 滿方便的~
# apt-get install phpmyadmin
安裝過程中,會需要使用者:設定對應的 www server、輸入 MySQL 的 root 密碼、設定 phpmyadmin 的使用者密碼

現在你可以用瀏覽器連到 http://localhost/ 看看裝好的 apache2 是否正常運作了~
連到 http://localhost/phpmyadmin/ 可以看到 phpmyadmin 的登入畫面

2010-10-10

ubuntu 10.04 裝遠端桌面 FreeNX

Linux上的遠端桌面系統似乎都是xdmcp跟vnc居多
不過我找到了另一套還不錯用的工具"FreeNX"


裝 NX 之前要先把ssh連線的套件裝好,
我先前已經裝好 openssh-server了

這裡裝的是 Neatx 是 Google 開發的 Open Source NX server
ubuntu部分:
$ sudo add-apt-repository ppa:freenx-team
$ sudo apt-get update
$ sudo apt-get install neatx-server

windows部分:
nomachine下載 NX Client for Windows 並安裝
接著打開 NX Client 設定好 IP 跟帳號密碼,就可以連到 ubuntu 的桌面的~

參考資料:
FreeNX on ubuntu community
CrBoy - 瘋狂世界:在Ubuntu 10.04 (Lucid Lynx)上安裝NX - 許多人推薦的遠端桌面

2009-11-28

Gnome設定工具:GConf 簡介

gconf的運作方式類似Windows上面的登錄檔,要修改gconf的設定方法有:
gconftool-2:終端機上的設定程式
gconf-editor:圖形介面的gconf設定程式

gconf的文件路徑保存於/usr/share/gconf/default.path此一檔案中,可概略分為:
force settings表示這些設定使用者不能變動
user performances則代表是使用者可以變動的
system defaults裡面則是系統的預設值存於之

當你下指令:man gconftool-2後,你可以看到一大堆的指令參數...
這邊大概列一些常用的:
-s, --set          設定特定key的value並且同步之。需與 --type 一起使用。
-t, --type=int|bool|float|string|list|pair  設定所欲存取的value type
-g, --get          顯示特定key的value。
-u, --unset        將鍵值還原為預設值(system defaults)。
--all-dirs        列出目錄中的子目錄
-R, --recursive-list    遞迴列出目錄中的所有項目

以下是目前我有改到的設定:

修改自動通知的天數為0讓他每天都通知有最新的套件
gconftool-2 --type bool -s /apps/update-notifier/auto_launch false
修改有更新時不要自動跳出
gconftool-2 --type int -s /apps/update-notifier/regular_auto_launch_interval 0
取消關機/重登…等等到數60秒
gconftool-2 --type bool -s /apps/indicator-session/suppress_logout_restart_shutdown true


參考資料:
http://phorum.study-area.org/index.php?topic=54146.0

2009-11-07

Ubuntu 9.10...在十月二十九號發佈了!

Ubuntu 9.10就在我新訓的時候發佈了正式版本了

之前是有裝過測試版本看看~正式版還沒開玩

目前我知道的大概有:桌面變得更好看、內定輸入法改成 iBus、將 Ubuntu One 的服務整合到系統裡...剩下的等待有玩再說吧

下次好好的玩 Ubuntu 說不定要玩10.10版了...

2009-05-31

設定 Ubuntu 的 Ramdisk

要將多出來的記憶體設成 Ramdisk
只要在 /etc/fstab 裡寫入設定就ok了
#sudo vim /etc/fstab

+tmpfs /tmp tmpfs size=1G 0 0
以上是設定 1G 的 Ramdisk 並掛載到 /tmp 資料夾

設定完成後可以用以下指令掛載
#sudo mount -a

可以打指令
#df -h

查看是否設定成功。成功的話會看到
tmpfs 1.0G 2.9M 1022M 1% /tmp


不過,還是重開機一下比較好
因為操作完以上動作後 /tmp 資料夾裡的東西都沒了...

2009-05-28

掛載!mount!

不同於 windows 上的C糟D糟...
Linux 上的磁碟,是以 mount 方式操作的...

關於 mount 指令,請 man

#mount

列出目前掛載資訊

#mount [-t 磁碟類型] device dir

將指定裝置掛載到指定資料夾

知道怎麼掛載了,再來就是讓主機中的硬碟在開機時自動掛載
開機自動掛載的設定在 /etc/fstab 中

先建立好要掛載的目的地資料夾,再到 fstab 加上設定

在該檔案中有一些註解說明如下

# filesystem mount type options dump pass
/dev/sdb1 /media/data ntfs defaults 0 0

設定完之後就可以重開測試了

2009-05-20

安裝 NS-2.33 到 ubuntu 9.04

全部的方法都跟以往裝在8.10一樣...

所以...

這篇是廢文嗎!?

不...因為,照著舊方法裝,你一定會發現一個驚人的問題!

那就是nam無法啟動...

只要打下nam指令就會:

[code omitted because of length]
: no event type or button # or keysym
while executing
"bind Listbox {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" [tk windowingsystem] eq "aqua"} {
bind Listbox {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."


為了解決這問題,我當然就上網 google 啦~

問題出在 nam 所使用的 tk 模組與 xproto-7.0.13 不相容的關係。(因為 xproto-7.0.13 中新加入了 GenericEvent)

其解決方法如下:

1. 下載 patch
http://bugs.gentoo.org/show_bug.cgi?id=225999 下載 tk-8.4.18-tkBind.patch

2. 到 ns-allinone-2.33 目錄底下
執行 patch -p0 http://victorgau.blogspot.com/2008/12/ns2-233-nam.html