在FreeBSD中透過ssh上傳檔案

>> 2011年11月16日 星期三

linux-like系統中,若是使用ssh連線,可以透過scp的方式,將檔案直接上傳到主機端,相當方便。
可是,FreeBSD預設的安裝中,並沒有支援這樣的功能。(目前還在確認中!據說啟用sshd就可以使用了,可是我的就是不行。)(CentOS中預設就有這樣功能支援)
這時候需要手動進行安裝,才能使用。

首先,我們需要下載所需套件,因為我已經安裝好wget這個程式,所以直接已指令:
# wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
進行下載即可。
(附註:經search ports,其中是有 lrzsz-0.12.20_3的套件可以使用,不過我在 fetch 時,卻無法順利抓到原始檔,導致安裝失敗。 )

接下來解壓縮:
# tar -xzvf rzsz-3.48.tar.gz
# cd src
# vi Makefile
修改 Makefile中的 OFLAG= -O 變為:OFLAG= -O -DREGISTERED
(用意在於,避免之後上傳、下載完成後,都會跳出提示。)
# make posix
cc -O2 -pipe -O -DREGISTERED -DPOSIX -DMD=2 rz.c -o rz
size rz
text data bss dec hex filename
29201 640 6328 36169 8d49 rz
rm -f rb rx rc
ln rz rb
ln rz rx
ln rz rc
cc -O2 -pipe -O -DREGISTERED -DPOSIX sz.c -o sz
size sz
text data bss dec hex filename
34740 704 38828 74272 12220 sz
rm -f sb sx zcommand zcommandi
ln sz sb
ln sz sx
ln sz zcommand
ln sz zcommandi
到這邊,如果沒有出現錯誤訊息,那幾乎已經完成安裝,
接下來只要把sz與rz兩個執行檔複製到 /usr/sbin/ 或 /usr/local/bin 即可。
# cp rz sz /usr/sbin/
# cp rz sz /usr/local/bin

可能出現的問題解決方案:


    • 使用時如果遇到以下的錯誤:
    -bash-3.00$ sz sz.doc
    /dev/pts/5: Permission denied
    -->則以root的身份,修改/dev/pts/5的權限即可。
    • 編譯時出現 cc 找不到的訊息:
    -->修改Makefile 裡的cc 為gcc 即可
    • 編譯出現 size 找不到 的訊息:
    -->把/usr/ccs/bin/ 加入$PATH

    Read more...

    FreeBSD中ports的安裝相關指令

    • ports檔案的放置位置:/usr/ports
    • 每個目錄中包含的檔案:
      •  Makefile :安裝軟體的編譯設定,編譯、安裝軟體時的參數可以在這邊修改。
      • distinfo :安裝說明檔,說明安裝時所需要的檔案以及MD5的檢查資料。
      • files:是個目錄,裡面放著程式的原始碼。
      • pkg-descr :軟體的詳細描述。
      • pkg-plist :軟體安裝的清單,以及安裝之後的檔案放置位置。
    •  尋找想要安裝軟體的目錄:
      • # cd /usr/ports
      • # make search key='關鍵字'
    •  安裝指令:
      • # make install :進行編譯、安裝動作
      • # make clean :清除編譯過城中產生的檔案
      • # make deinstall :移除已經安裝的軟體(重要:執行這個指令,一定要在該軟體的目錄中執行喔!如果在/usr/ports中執行這個指令,則會將所有安裝的軟體統統移除喔!)
      • # make reinstall :重新安裝之前安裝過程中斷的程式。
      • # make cinfigure :重新進行組態,但不繼續編譯。
      • # make all install :抓回原始檔案、編譯、安裝。
      • # make fetch :抓回所需要的原始檔。
      • # make fetch-list :顯示安裝所需要的檔案。
      • # make checksum :抓回原始檔案並且使用md5檢查正確性。
      • # male extract:抓回原始檔,並且將他解開。
      • # make package :將做好的porst打包製作成packages。
    •  更新ports tree 的方法:

    Read more...

    判斷NFS是否連線的sh

    >> 2011年11月8日 星期二

    NFS用在資料的備份是相當的方便,但是隱藏著一個危機:
    當server端沒有開啟或是無法順利掛載時,
    若是將NFS掛載寫在/etc/fstab中,則會造成無法順利開機。
    若是將NFS掛載寫在備份執行的shell中,
    則會讓備份檔案備份在本機,(NFS需要掛載在本機的一個目錄中)
    這樣的結果,輕則造成硬碟空間被佔據,嚴重的話,則會因為分割區爆滿而整台server掛點。
    避免這樣的問題其實很簡單,加個幾行的判斷式,就可以避免這樣的危機。
    這個判斷式的原理很簡單,我用df加上管線指令去判斷目前的磁碟中是否存在指定的主機所掛載的磁碟。如果有,就繼續進行其他的動作,如果沒有,則終止整個sh,並傳出一個錯誤代碼1。
    我把這一段判斷式寫成一個sh檔案,判斷完成後的剩餘工作,就由使用者自行去填寫囉!
    因應linux與FreeBSD所使用的shell不一樣,在一開使的使用shell宣告上有些許不同,因此我針對不同的OS,寫了不同的sh,其實,差異只在於一開始的宣告而已。

    test NFS link:

    #!/bin/bash
    # Program:
    #       This program for test is nfs link?
    # History:
    # 2011/11/06    Yixin Chen(cat)      0.1 release
    # 2011/11/07    Yixin Chen(cat)      0.1.1 release
    # 2011/11/08    Yixin Chen(cat)      0.1.2 release
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    # setting var
    nfsip="172.17.1.241"
    # -----------------------
    flag=$(df |grep ${nfsip})
    if [ "$flag" == "" ]; then
      echo "NFS is NOT link!"
    exit 1
    fi
    echo "NFS is link!"
    # other active ....
    exit 
     sh檔案for LINUX:下載
     sh檔案for FreeBSD:下載

    其他有關於NFS的掛載資訊,請參閱:
    雄的 FreeBSD 筆記‧NFS (Network File System)
    鳥哥的 Linux 私房菜第十三章、檔案伺服器之一:NFS 伺服器

    Read more...

    FreeBSD舊版本連線NSF的問題解決

    NSF是一個相當方便的磁碟掛載機制,用在資料備份上面尤其方便,
    區域網路內,可以限制clinet的連結,安全性相對也比較高。

    一般來講,clinet需要的套件,freeBSD已經都具備了,只是較舊的版本(我所遇到的為FreeBSD 6.2-RELEASE,網路上看到的,甚至7.0都有這個問題)當使用

     mount -t nfs server.ip.addr:/path1/path2/backup /tmp/backup/ 
    這樣的指令時,會出現下列的錯誤訊息:
    [udp] server.ip.addr:/path1/path2/backup: NFSPROC_NULL: RPC: Timed out
    這樣的問題,看起來是出在於所使用的通訊協定問題,
    感謝同事楊老師的協助,提供一個參數-o,整個指令變成:
    mount -o tcp -t nfs server.ip.addr:/path1/path2/backup /tmp/backup/ 
    這樣,就可以順利掛載囉!


    其他有關於NSF的設定,請參閱:雄的FreeBSD 筆記‧NFS (Network File System)

    Read more...

    學生使用學號登入後自動判斷年級執行該年級要用的動作

    電腦教室內的電腦,通常會在學期一開學之前就全部派送、安裝好。
    可是這些規劃,在學其中隨時可能會有一些變更。
    若是每一次的變更,都要再重新派送一次,也頗為麻煩的。
    因此,若是善用netlogon中預設載入的批次檔(Batch File),將可以大大地減低重新派送、安裝電腦較市電腦的次數。
    我們學校的環境,是幫學生建立了一組以學號為帳號的登入機制,
    當登入伺服器之後,會執行伺服器分享出來的netlogon裡預設的批次檔(.bat)
    很多的修正、設定,就在這個檔案中處理,例如:網路校時、掛載個人網路硬碟....。
    當然課堂需要的程式,也可以在這個時候,複製到學生的桌面上。
    但是不同的學年,有不同的檔案需求,因此下面這一段script就是用來進行個人網路磁碟的掛載以及判斷現在登入學生的年級。

    @echo off
    if NOT DOMAIN%LOGONDOMAIN%==DOMAIN goto XPNetLogon
    net use s: \\cc1server\works /yes
    net use t: \\cc1server\share
    GOTO NEXT1
    :XPNetLogon
    net use t: \\cc1server\share %PASSWORD% /USER:%USERNAME%
    net use s: \\cc1server\works %PASSWORD% /USER:%USERNAME%
    GOTO NEXT1
    :NEXT1
    rem ====檢查學生的年級==================
    set clas=%USERNAME:~1,2%
    IF "%clas%" == "98" ( SET confirm= & GOTO class_3)
    IF "%clas%" == "97" ( SET confirm= & GOTO class_4)
    GOTO NEXT2
    :class_3
    rem ===>三年級執行的動作 <===
    echo "三年級"
    rem --三年級執行的動作結束
    GOTO NEXT2
    :class_4
    rem ===>四年級執行的動作 <===
    echo "四年級"
    rem -------四年級執行的動作結束
    GOTO NEXT2
    :NEXT2
    rem ===共同需要執行的程式放這邊=========
    echo 現在學年%clas%

    Read more...

    《時間管理-給系統管理者》閱讀筆記

    >> 2011年11月1日 星期二

    前言:
    為什麼需要特別給系統管理者寫時間管理的書呢?
    一般時間管理的書,只對一般人說。這邊,作者做了一個很妙的比喻與說明:
    你應該看看我在家裝設的殺手及伺服器。一旦我完全搞定他之後,也要在工作場所裝一台一樣的。很少有職業像這樣。腦科醫生不會回家後,興奮地對他家的貓用新技術動手術,希望實驗成功,才能對病人使用新技術。
    「系統管理不是一種工作,而是一種生活方式。」

    第一章:時間管理原則
    干擾:必須要適當地防止干擾,可以和你的同事一起建立起共同干擾防線,把時間有效應用在專暗的處理上。
    原則有六:

    1. 給時間管理的資訊一個「資料庫」(使用筆記)
    2. 將腦力留給最重要的事。(重要!愛因斯坦的七套衣服與賈伯斯的黑色圓領毛衣)
    3. 開發例行公事、並持之以恆。
    4. 開發習慣與信念。--遲早都要做,晚做不如早做的好。
    5. 在「專案期間」保持專心。
    6. 以工作生活上的工具,管理社交生活。
    第二章:專心對峙干擾
    ※建立一個促進專新的環境:
    把可以歸檔的文件歸檔、把未完成的項目堆到即將完成那堆;剩下的放到一個信封,三個月內沒有動到,就扔掉。不要懷疑,有一絲猶豫就扔掉。
    ※多重工作的處理:
    先意識到哪些可以多工進行?哪些不行?
    視窗上的安排、例如應用多重桌面進行視窗歸類、減少尋找時間;固定視窗的放置位置。
    ※專新的尖峰時段:
    專新的尖峰用來處理需要耗費腦力的工作,無法集中精神的時間用來進行耗費體力的工作。
    ※第一小時規則:
    每天工作的第一小時,絕對不要收mail。先看看監控儀表,確認沒問題之後,就把時間用在專案上。
    ※干擾的處理:
    1.引導干擾遠離你。
    2.紀錄、確認干擾請求,給予回覆之後,立即會到目前的工作上。
    3.指派、紀錄或實行。

    第三章:例行公事
    例行公事就是:給我們只想一次,就可以做很多次的方法。
    例行公事可以讓我們較少思考,保留腦力給更重要的工作。
    例行公事之一:永遠攜帶著筆記(PDA or PAA)
    例行公事之二:定期與你的boss開會。(定期開會、溝通)
    例行公事之三:定期巡視部屬。(瞭解問題)
    例行公事之四:定期巡視客戶。(以學校環境,就是到老師們的教室走動)
    例行公事之五:編輯檔案之前,永遠先做好備份。
    例行公事之六:紀錄下旅行的「必攜」項目。(每次的旅行,把要帶的東西記錄下來,成為一種固定清單,可以省去腦力。)
    ※哪些事情需要「例行公事」?

    1. 重複而沒有安排到的事件。例如:常常在開的會議,既然需要常常開,約時間又不容易,就直接列入例行公事。
    2. 維護性質的工作。一些大量、無法一次做完的事情,可以分批、例行性的去完成。
    3. 人際關係的維繫。四種人際需要注意:你的客戶、你的部屬、你的同儕、你的上司。這些人需要例行性與他們進行關係維繫。
    4. 經常會忘記的事情。
    5. 偶爾可以忽略的,但並不應該常常忽略的事情。
    6. 開發薪技術、教育訓練與成長。(閱讀、參加訓練課程)
    第四章:循環系統
    建立個人個循環系統---千萬別信賴你的大腦!把每個請求都寫下來。如果沒有辦法立刻寫下來,可以請需求者mail給自己。
    循環系統的使用表格如下:
    上面的表格,每天一個。
    規劃重點:
    • 每天的開始建立今天的行程、今天的工作表。
    • 排列出優先順序。
    • 依照計畫實施,並加以著記。
    • 一天結束時,把未完成的工作移到隔天的工作表單。
    • 隔天重複循環系統。
    詳細的執行下一章說明。

    第五章:循環系統:工作表與時間表
    本單元算是整本書的執行細則。
    一、建立每天時間表,把行事曆中的約會填入右邊的行程中。
    二、建立每天的工作表。工作表要記下所有的大小事情,並且在優先的部份,依照A、B、C分級。A為期限就在今天、必須馬上完成。B期限已經接近了。C除了上述兩項之外。
    三、列出每件工作的優先順序之後,再加上預估時間。
    四、超時工作的處理:
    1. 低優先的移到隔天。
    2. 把步驟拆解,可以處理的先處理。
    3. 縮小工作範圍,把寫下隔天需要繼續完成的部份。
    4. 修改預估時間。
    5. 委派工作。如果有其他人可以分擔的話。(有些會議可以委派參加)
    6. 找老闆安排優先順序。不要常用,負擔真的很重的時候、常常如此時可以使用。
    7. 延遲會議或約會。盡量不要。
    8. 加班--->下下之策。
    五、規劃之後,就依照計畫執行。完成的,就在完成部份打勾或畫X,沒有完成的就以--表示。
    六、結束一天,將今天沒有完成的部份,移到隔天的待辦事項欄位中。

    如果有大型專案,將他分割成為個別的步驟,分散到不同日期的工作表中。
    如果提早完成,恭喜了!可以提早進行其他預計的工作,或者休個假、整理辦公室、收mail。

    第六章:循環系統:行事曆管理
    行事曆的使用,是讓我們看到整個大藍圖。
    記下每件事,讓行事曆引導你每日的工作。
    還有,絕對不要錯過會議或答應的事情。
    將你的工作和生活使用同一份行事曆。
    從行事曆中找到整個公司的節奏。
    記得:任何所安排的約會有要寫下來,除非你檢查過行事曆,否則不要答應約會。
    搭應約會時,盡可能把耗費腦力的工作,安排在最能及中經神的那段時間。

    第七章:循環系統:生活目標
    重點:弄清楚目標、排出優先順序,然後找出步驟,將這些目標轉換成為工作項目。
    目標設定:
    必需要很明確的寫下來。可以運用以下表格:

    職業
    個人
    一個月


    1


    5


    每個目標都要確定是可以量測的。
    針對目標,分出ABC的重要次序。
    把這些步驟安排進入行事曆中。
    最後記得每個月都回顧目標,完成打X,有新的目標則加上去。

    第八章:優先順序的安排
    以工作表順序執行任務-->當不知道何者該優先時。
    可以依據客戶期望安排優先順序。(做相同的事情,有更多的邊際效益。)
    來自上司的請求-->可以考慮將順序優先調高。但也需要學習:管理你的上司。(以manager your boss搜尋)

    第九章:壓力管理(略,有興趣自行研讀)
    第十章:email管理(略,有興趣自行研讀)
    第十一章:排除浪費時間的事件
    避免有誘惑力的浪費時間事件
    浪費時間的會議:
        會議分為:狀態會議和工作會議。先確認好會議性質,鎖定目標。事前先mail把會議資料準備好,避免時間浪費。
    少看爛電視節目

    第十二章:說明文件
    運用wiki建立說明文件的好處:
    1.使用者可以從文件中初步排除問題。
    2.方便交接(IT的內部流程文件:少做、容易錯的,一定要寫下來。)
    3.建立文件可以方便指派。

    第十三章:自動化
    哪些事情需要自動化?簡單的實情、常常要做&困難的事情,偶爾做一次。


    簡單的事情
    困難的事情
    做一次
    手動去做
    自動化
    常做
    自動化
    購買軟體或撰寫軟體




    Read more...

    About This Blog

    程式碼標示

      © Free Blogger Templates Joy by Ourblogtemplates.com 2008

    Back to TOP