星期日, 10月 07, 2012

「ARCH LINUX」 Ram Disk

前些日子,
聽了朋友述說RamDisk 的好處,
害我手癢也想弄弄看,而又剛好買了SSD,想說來個大重灌。
抓了2012 9月 最新的arch linux 發現,安裝方法似乎改變了。
以往的簡單選擇畫面消失了,取而代之的是終端機。

安裝變得更簡單了,比起以前的藍色可怕的畫面好多了。

裝好後發現,其實archlinux 預設就有開ramdisk 了,
所以就不需要去煩惱裝的問題了。


的文章後,小弟也把 復原和備份的功能加入。

小弟只備份 /tmp/cake_ramDisk 自己的資料夾而已。

在/etc/rc.local.shutdown 加入
#!/bin/bash
#
# /etc/rc.local.shutdown: Local shutdown script.
#
PATH=/lib/init:/bin:/sbin
## bank radisk
rm /RAMDISK_bak.tar
tar -C /tmp/cake_ramDisk -cf /RAMDISK_bak.tar .
chmod 777 /RAMDISK_bak.tar
echo "OK."
##---------bank radisk
在/etc/rc.local 加入
#!/bin/bash
#
# /etc/rc.local: Local multi-user start-up script.
#
PATH=/lib/init:/bin:/sbin
mkdir /tmp/cake_ramDisk
chmod 777 /tmp/cake_ramDisk
if [ -f /RAMDISK_bak.tar ]
then
echo -n "Restore tmpfs(/tmp) from /RAMDISK_bak.tar..."
tar -C /tmp/cake_ramDisk -xf /RAMDISK_bak.tar
echo "OK."
fi

之後馬上把eclipse 放入,就可以快快樂樂的打android 了。


假日到台中情人橋去看看,
剛好遇到夕陽黃昏,
雖然橋在整修,
不過還是很多人來此地。



星期日, 8月 12, 2012

「Arch」 關於更新 glibc 問題

官方:http://www.archlinux.org/news/the-lib-directory-becomes-a-symlink/

最近更新 的GLIBC問題,由於它把/lib 都轉移到 /usr/lib 目錄下,
導致更新出現無法更新的現象,小弟太急着更新,結果忘記 第二條的 pacman -Su
之後重開機,系統就缺東缺西,圖形界面也進不去,網路卡也抓不到,天阿。


  1. 放入 LIVE CD,掛載 硬碟至 /mnt 目錄
  2. 鏈接網路後 #pacman -Syur /mnt --ignore glibc  更新。
  3. 之後在進行  #pacman -Sur /mnt不過這時出現  glibc  /lib exists in filesystem  的錯誤。
  4.  查看/lib目錄下的檔案是否都屬於glibc  ,# find /lib -exec pacman -QO -- {} +
    1. 把除了 glibc 的套件移除或者都更新。
    2. 讓/lib 裡面只剩下 glibc
  5. 離開 live CD
  6. 進入系統後大概還是一樣,把 /lib/modules 資料夾直接刪除。
  7. 這次更新glibc 應該就沒問題了 #pacman -S glibc
  8. 再重新裝一次linux 核心  #pacman -S linux
  9.  這後reboot 後 ,皆大歡喜。

8月的草屯 還是依然美麗。

星期三, 7月 04, 2012

「PHP CI」Form Validation

關於CI的單表驗證
網站介紹的很詳細:http://codeigniter.com/user_guide/libraries/form_validation.html


1.建立規則


$config=array(  //設定驗證規則
         array(
         'field'=>'name',  //input的name
         'label'=>'帳號',     //設定名稱,在輸出錯誤訊息時出現的名稱
         'rules'=>'trim|required|min_length[4]|max_length[23]|xss_clean'  //驗證使用的規則
           ),
         array(
          'field'=>'passwd',
          'label'=>'密碼',
          'rules'=>'required|min_length[4]|max_length[25]|md5'
           ),  


2.設定規則
$this->CI->form_validation->set_rules($config);  
3.頁面POST回傳是否正確
$this->CI->form_validation->run()

他提供相當多的驗證規則,相當方便,可以少寫很多CODE。



星期六, 4月 07, 2012

「電影」讓子彈飛

[讓子彈飛 ]一部好看的電影。
即使在巧妙的詭辯,精心的布局,最後贏得了勝利 卻贏不回當初的簡單。

星期五, 3月 02, 2012

「archLinux」 Postfix 使用 Gmail smtp

最近需要用到 MailServer ,以前也沒有這個經驗,
純粹是PHP smpt 寄信速度的問題,最後選擇了 postfix。
文章參考
  1. http://sherlock.heroku.com/blog/2012/02/03/setting-up-postfix-to-use-gmail-as-an-smtp-relay-host-in-archlinux/ 
  2. archLinux WIki Postfix
「安裝 postfix」

    #pacman -S postfix

「設定」在 /etc/postfix/main.cf   加入

    # 設定 gmail
    relayhost = [smtp.gmail.com]:587

    # 啟用 tls 認證
    smtp_use_tls=yes

    # use sasl when authenticating to foreign SMTP servers
    smtp_sasl_auth_enable = yes

    # 設定密碼路徑
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

    # list of CAs to trust when verifying server certificate
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

    # eliminates default security options which are incompatible with gmail
    smtp_sasl_security_options =

 「建立」在 /etc/postfix/sasl_passwd  (即密碼檔案路徑)

     [smtp.gmail.com]:587  username:password

 「執行」建立資料庫檔案

    # postmap /etc/postfix/sasl_passwd

 「啟動服務」

    # rc.d start postfix

 「CodeIgniter」 使用 Email 類別

    $this->load->library('email');

    $config['protocol'] = 'sendmail';

    $config['mailpath'] = '/usr/sbin/sendmail';

    $config['charset'] = 'UTF-8';

    $this->email->initialize($config);