2012年11月24日 星期六

Mint14 顯卡安裝




這次Mint13升級到Mint14,竟然讓我有種從XP升級到WIN7的感覺。

首先是我最需要的雙螢幕的功能,Mint13接雙螢幕的BUG終於在14改掉了,而且不需要裝顯卡就能啟用雙螢幕。

而為了介面更順暢,就來安裝個顯卡驅動。

嗯…選單沒有"Additional Drivers"!!

好吧,還是用老方法…

  1. 請先去Nvidia官網下載驅動程式
  2. 改權限:chmod +x nvidia.run
  3. 移除nvidia舊版並移除舊的設定檔:sudo apt-get --purge remove nvidia-* 
    • 安裝編譯所需套件與核心:sudo apt-get install build-essential libc6-dev pkg-config xserver-xorg-dev linux-headers-$(uname -r)  nvidia-settings
      • 中斷X windows才能正確安裝顯示卡驅動程式: /etc/init.d/mdm stop
        PS. 先按 "ctrl + alt + F1" 切換到文字介面登入root,再打 /etc/init.d/mdm stop
      • 開始安裝nvidia官方版驅動程式: sh nvidia.run
      • 最後回到x windows會看到一個Nvida的畫面,這樣就代表安裝好了: /etc/init.d/mdm start

      2012年8月29日 星期三

      Mint 13 顯卡驅動程式

      因為筆電14吋的關係,需要外接一個22吋顯示器。但顯卡騙動程式偵測不到外接顯示器,所以就來更新一下驅動程式。

      法一:(失敗)
      1. Install via Synaptic Package Manager
        Search for nvidia-glx, nvidia-kernel-dkms, nvidia-xconfig, and nvidia-settings packages and mark them for installation, and then click Apply button to begin installation.

      2. Install via Terminal
        Simply run this command:
        sudo apt-get install nvidia-glx nvidia-kernel-dkms nvidia-xconfig nvidia-settings

      After completing the installation, you need to run the following command in Terminal, to allow the newly installed NVIDIA driver to write necessary configuration file so that it will be activated upon reboot:

      sudo nvidia-xconfig

      啟動mdm會失敗,解決方法:
      rm /etc/X11/xorg.conf

      法二:
      1. 請先去Nvidia官網下載驅動程式
      2. 改權限:chmod +x nvidia.run
      3. 移除nvidia舊版並移除舊的設定檔:sudo apt-get --purge remove nvidia-* 
      4. 安裝編譯所需套件與核心:sudo apt-get install build-essential libc6-dev pkg-config xserver-xorg-dev linux-headers-$(uname -r)  nvidia-settings
      5. 中斷X windows才能正確安裝顯示卡驅動程式:sudo /etc/init.d/mdm stop
      6. 開始安裝nvidia官方版驅動程式:  (若用 sh nvidia.run 會失敗)
      7.  ./nvidia.run
      8. 最後回到x windows會看到一個Nvida的畫面,這樣就代表安裝好了:sudo /etc/init.d/mdm start
      9. 完成顯卡驅動更新!也可以偵測得到外接顯示器了。
      若仍有其它問題,可以重新給個設定檔:
       rm /etc/X11/xorg.conf
       nvidia-xconfig

      2012年8月4日 星期六

      快速架設簡易小型工作站

      想當初剛進來的時候,老師叫我負責server的東西,沒想到就這樣傻傻地攬了下來…累死我也!

      好吧,這篇主要記錄新手安裝備忘,謝謝俊達學長一直以熱心及耐心解答我的各種問題,提供資訊,讓我初窺Linux門徑。也感謝家洋學長借的鳥哥小菜,使我從空白到略有小成。
      架站之前先來規畫一下架什麼樣的server,目前實驗室有新舊兩部工作站,個人PC十台以上, 對外以硬體防火牆為閘道,及一台NAS做異地備援。

      為方便理解,server以新舊來表示Dell、Intel 這兩部。

      由 於實驗室主要跑模擬數據,所以工作站需要安裝穩定的Linux為作業系統。 Redhat 和 SuSE 11商業版在架站是很好用,但要買版權才能即時更新(聽說不更新沒差?)。CentOS 5、CentOS 6 安裝會遇到EDA軟體缺lib的問題而不能跑。而RedhatES4的JAVA環境不夠新,不能安裝新版的matlab,使得一些函數不能用,不過一些較舊的EDA上可以順利執行,像是TSMC90 Memory Compiler。Ubuntu server灌完是純文字介面,還需要抓X server之類的。為了迅速架起簡單實用的工作站,新的server灌Ubuntu 11 Desktop,以支援新版matlab,舊的灌RedhatES4。注意一下,不是因為server是64架構才裝64位元作業系統,是因為即使裝了 32位元作業系統,像synopsys系列的軟體會跑不起來。若是遇到需要用32位元跑的軟體,就安裝32位元的lib即可。

      舊server硬碟空間總共140G,空間可能不夠使用者目錄/home使用,所以分割硬碟的時候,就不用切/home了,用新serv的500G直接掛載到舊的上面,再用NIS及NFS服務啟動/home。

      為了快速地安裝,第一步我先簡單的安裝舊server,包括OS安裝、網路設定、EDA軟體。當第一步完成後,就可以測試個人電腦能不能連進去跑EDA了。

      第二步,服務的設定。新server安裝完後,首先要做磁碟配額,合理分配空間給每位使用者。兩台工作站單純跑EDA的運算,未來不知道會不會再買工作站,所以NIS有其必要,Cluster可以先不考慮,舊server 硬碟不夠大,使用NFS掛上新server 的家目錄;NAS 就來個ssh+rsyn 異地備援。最後架SAMBA讓WIN用戶能開啟在工作站上的檔案,方便我們寫程式時可以很直接修改存取。


      ##############################################################
      step1 備份
      ##############################################################
      1.先將主機所有軟體、工具,及環境設定檔備份到NAS
      /home
      使用者檔案資料夾。

      /etc/fstab
      因為/home和/opt都有用raid1備份,這個設定檔案就是記錄每個分割區掛載的資訊,所以每次一安裝完,就可以用這個檔案蓋掉原始設定檔,再mount -a即可。

      /usr/local 或是 /opt/
      CIC 軟體目錄。

      /usr/cad
      CIC 環境檔目錄。

      /etc/hosts
      內容有CIC license server 的IP對應檔。

      /etc/skel
      新增使用者時參考的範本目錄,裡面有 .cshrc。

      由於我們是把資料備份在區網內的NAS,網路速度差不多6M。備份檔直接打包後傳給NAS,會比壓縮完再傳給NAS花的時間更少,把檔案踏一踏就好,不用壓縮。


      ##############################################################
      step2 安裝作業系統
      ##############################################################
      Hostname:
      舊:ws1
      Redhat: /etc/sysconfig/network
      新:ws2
      
      
      Ubuntu: /etc/hostname 


      在安裝時若有問要選擇安裝什麼軟體,盡量能勾就勾,之後就省事了。尤其一些軟體會遇到相依性的問題,少了一個就安裝不起來,找套件和安裝相依性套件就花了幾天,非常累的…


      選磁碟分割方式:
      舊的這台主機只有140G, 使用者的檔案可能不夠放,乾脆就用NFS-server,把新server的使用者家目錄/home掛載到底下。因此家目錄也不必割了,所以磁碟分割可以割成兩個,分別是根目錄/ 和第三方軟體目錄/opt ,但新server要多割一個/home。

      新的這一台在設定磁碟分割時,硬碟是SSD - 250G加HDD - 500G,而HDD有掛陣列卡raid1, 直接做硬碟資料備份,所以HDD掛載點可以設成/home,並將格式定為ReiserFS或ext4。500G夠用了,所以我會將HDD設為ext4,並掛載/home和/opt。

      ##############################################################
      step3 環境設置
      ##############################################################
      作業系統完成後,把稍前的備份檔案從NAS拉回來吧,/home、/opt/、/usr/cad、/etc/hosts,/etc/skel。在等待檔案的時間,順手補IP設定,作業系統更新一下,也把/home目錄的配額寫一寫。

      WS - IP 設定
      可以用文字檔打,但比較建議用GUI點一點最快。
      例如:
      /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE="eth0"
      HWADDR="12:34:56:78:9a:bc"
      NM_CONTROLLED="yes"
      ONBOOT="yes"
      IPADDR="192.168.1.211"
      NETMASK="255.255.255.0"
      GATEWAY="192.168.1.99"

      更新
      ubuntu更新:
      sudo apt-get update
      sudo apt-get upgrade
      redhat更新:
      yum update
      因為沒買redhat授權,舊SERV沒辦法更新,但其實不更新無所謂。

      磁碟配額
      *會使用到quota套件,安裝一下吧。
      sudo apt-get install quota
      *方便後續設定,用su - 轉換root權限。
      su -

      1. 編輯磁碟區設定 /etc/fstab,針對要啟用quota的磁區加入掛載參數 usrquota,grpquota
       vi /etc/fstab
      /dev/sdb1   /home   ext4   defaults,usrquota,grpquota   0   0


      2. 重新掛載該磁區,使其加入usrquota,grpquota參數。
      umount /home
      mount -a
      mount
      這時觀察一下/home有沒有加上參數

      3. 使用quotacheck -avugm 指令,建立usrquota,qrpquota檔案

      4. 使用edquota -u 指令編輯使用者的磁碟配額空間
      我先加入一個使用者當配額範本:
      useradd 10G -m
      編輯剛剛加入的範本10G:
      edquota -u 10G
      會看到有六欄:
      blocks      soft        hard   …   …
      已用          提示      上限

      這邊soft 9G,hard 10G,存檔離開。

      5. edquota -p 指令複製配額參數給其他使用者
      edquota -p 10G (使用者ID)

      6. quotaon -a 指令使磁碟配額生效,quotaoff -a 指令關掉磁碟配額。
      7. repquota -avug 指令顯示每個使用者及群組配額使用情形。

      夠簡單的吧,這時候備份的檔案也差不多完成,設定檔都可以覆蓋回去了。


      ##############################################################
      step 4 安裝IC TOOL
      ##############################################################
      安裝CIC tool , 大部份都可以照CIC設定教學走。

      而ncverilog可能會少套件,sudo apt-get install gcc-multilib 就OK了。


      ##############################################################
      step 5 安裝NIS、NFS
      ##############################################################
      設定NIS、NFS。因為Redhat和Ubuntu不是同一掛的,所以NIS設定也稍微不一樣,但也可以很簡單地架出來。
      而LDAP更方便的存取使用者目錄,所以未來有空可以架出來取代NIS。

      NIS 的目的就是管理帳號,通常會是一個Master去管理所有人登陸的帳號,其他工作站開NIS client,新增在master上的帳號就會同步到client。

      首先,NIS master設定在新serv。

      *先安裝或檢查相關套件是否都有安裝
      NIS的套件
      sudo apt-get install nis
      NFS的套件
      sudo apt-get install nfs-common

      nis下載時就會順便設定 domain name
      NIS domain: lab

      1.設定NIS domain name: 編輯或新增檔案/etc/defaultdomain
      vi /etc/defaultdomain
      domainname的檔案,可以檢查一下剛剛設定的名稱有沒有寫上去:

      lab
      2.編輯NIS server 相關檔案並啟動服務
      sudo vi /etc/yp.conf
      加上一行: domain lab server ws2 ,存檔離開
      sudo vi /etc/default/nis
      更改 NISSERVER=master,存檔離開
      3.將NIS啟動
      sudo /usr/lib/yp/ypinit -m
      sudo /etc/init.d/portmap restart
      sudo /etc/init.d/nis restart
      4. 設定並啟動NFS
      若每一部都獨立存檔,當某台當掉了, 就會有某個使用者說…電腦當了,我要回家了!
      NFS設定好,也就有一個資料Domain了,同Domain資料會保存在NFSserver上。
      你就可以說:呃,別跑,去另一台登陸吧。

      *安裝nfs-kernel-server,portmap
      sudo apt-get install nfs-kernel-server
      sudo apt-get install portmap
      *NFSv4支援固定PORT, 所以不用安裝portmap套件,預設是TCP port 2049。
      *適合匯出的目錄有/home,/opt,/usr。

      vi /etc/exports

      設定匯出的資料夾:


      /home 192.168.1.0/24(rw,async,no_root_squash)

      *設定開機自動掛載
      vi /etc/fstab
      ws1:/home /home nfs4  default,rw 0  0



      重新啟動NFS
      sudo /etc/init.d/nfs-kernal-server restart/reload

      *若是NFS已經開放後,不要用restart! 會切斷使用者資料存取,reload才是正解!


      5. 新使用者
      在Server端一樣用之前方法開帳號,要注意的是每次有新帳號就要執行一次下列指令:

      sudo  make -C /var/yp/

      舊serv的NIS三步設定:
      1. nisdomainname lab

      2. 記得hosts name要設定Host
      vi /etc/hosts
      192.168.1.211 ws2

      3. setup

      *檢查
      ypwhich
      ypcat passwd

      最後掛載NFS server上的資料目錄,完成!
      mount -t nfs 192.168.1.211:/home/ /home/


      ##############################################################
      step 6 SAMBA分享
      ##############################################################
      linux和MS怎麼傳輸資料呢?區網內最方便的當然是Samba囉!
      這邊我推一個達哥大大寫的,連結:簡簡單單設定SAMBA

       
      ##############################################################
      step 7 連線
      ##############################################################
      設定ssh連線:
      ubuntu:
      sudo apt-get install openssh-server
      Redhat:
      直接用GUI設定吧!簡單方便。


      ##############################################################
      step 8
      ##############################################################

      終於,很快地來到最後一步啦, 開放工作站服務給別人用吧!
      一些設定在/etc/default/useradd,/etc/login.defs,有興趣在去看設定內容。
      新增使用者tzki4118,順便開個家目錄:

      useradd tzki4118 -m
      改使用者密碼:
      passwd tzki4118
      修改磁碟配額:
      edquota -p 10G tzki4118
      將NIS帳號推到其它工作站:
      make -C /var/yp
      新增SAMBA帳號:
      pdbedit -a tzki4118


      好囉,目前工作站都可以使用了。接下來還有小尾巴,異地備援。
      ssh + sync 聽起來很厲害,不過我懶了,而且NAS有NFS server的設定。

      用cronjob + cp 來備份吧!
      //========================================================
      ps1.後來寫的sh,本來是用 "cp + --include" ,但發現更好用的指令

       vi /etc/crotab
      # m h dom mon dow user    command
      0 0 **7 root /backup.sh

      vi /backup.sh
      #!/bin/bash
      #+++++++++++++++++++++++++++++++++++++++++++
      #+backing up /home to /mnt/nas/backup
      #+++++++++++++++++++++++++++++++++++++++++++

      rsync -a --no-whole-file /home /mnt/nas/backup_`date +%m.%d.%y`

      ps2.
      台積電90nm的mermory compiler的環境是用#!/usr/bin/ksh
      要在ubuntu上執行Mermory compiler的話,需要安裝 "ksh" 這個shell。
      sudo apt-get install ksh



      2012年7月13日 星期五

      Vmware Workstation 8 使用小心得

      Vmware Workstation 8 使用小心得

      想當初為了學LINUX硬是把MS砍掉,灌的時候心想,我要當指令魔人!

      但看到全黑的背景指令,輸入游標畫面,心想下一步該幹麻,想當然是先連上網。

      還沒弄熟的當下理所當然的卡在PPPoE的網路設定,滿腔熱血先涼一半。哈哈~

      於是找了虛擬軟體,VMware Workstation 8 ,可以在MS下把LINUX灌在VM,

      想要練LINUX就開來玩。

      下面就介紹幾個我最常用的功能。

      安裝虛擬作業系統時,可以調整模擬機的記憶體大小,CPU核心數等。

      但通常最不容易弄懂的地方,就是網路的設定。此處也是VMware最好用的功能之一。

      安裝VM時,也會順帶安裝兩個預設網卡,VMnet1及VMnet8。

      這是什麼呢?由Edit>Virtual Network Editor可以發現,

      預設vmnet1對應host-only,而vmnet8對應NAT。

      那vmnet0呢?它就是在虛擬機上和你本機共用同一塊網卡,上網時使用同樣的IP。

      下文中,定義虛擬的OS叫COS(Client-OS),本機HOS(Host-OS)。

      簡單來說,IP就是主機的門牌號碼,

      想從本機連到網路上的任何地方時,就必須找到對方的門牌號碼。

      同理,若沒有門牌號碼,就會連不上網路。

      產生IP的硬體就是網卡。

      剛才不就安裝完兩個虛擬的網卡嗎?正是給COS用的門牌。

      詳細的概念可以參考這篇:
      http://goo.gl/MYQIF

      host-only和NAT的簡單說來,若想讓COS可以透過HOS上網,

      使用NAT直接讓COS的網卡可以被網路辨識。

      host-only只能和同網段和HOS相通,和NAT是不通的。

      若是想玩多層網路,例如在虛擬網路裡面再架個兩三層虛擬網路。

      Custom,LAN segment 這兩個可以很彈性的實現多層網路架構。

      設定方式也很簡單,只要照著規畫過的網路。

      Custom可以選擇在Edit>Virtual Network Editor裡,預設或是新增的網卡,

      而Custom,host-only和NAT最大的特點是通通會和HOS直接相通。

      LAN segment就是虛擬交換機。所有同LAN segment的COS會相通,但不連接HOS。

      我會將多層網路的網路節點,使用這方法實現。

      多層網路應用很多,像是第一層可以當作DMZ,放網路伺服器、對外網路印表機,

      第二層放對內登錄伺服器,最內層才給一般人員使用。

      除這個之外,我最常用的就是快照功能VM>snapshot,

      能將當前COS狀態保存下來,可以保留,或記錄一些特殊狀態。

      我通常灌完OS之後就會先作一次,更新OS,安裝未知軟體時,也會再拍一次。

      萬一玩壞了,就可以馬上回復到最新的OS。

      VM是沙盒程式,即使玩壞了,也不會影響你的主機唷。

      最後,雖然VM很多好用的功能,但比較可惜的一點是影片錄製的功能。

      雖然能完整錄製COS的畫面,但是不能把聲音也錄進去。(一堆邪惡想法…)

      另外還有一個好用的小功能,若是COS1想要讀取COS2的硬碟,

      可以使用Settings,Add...>Hard Disk>Using an existing disk>挑選COS2的硬碟即可。



      附註移除的方法:
       sudo vmware-installer --uninstall-product vmware-workstation

      2012年5月5日 星期六

      好用軟体

      從YOUTUBE抓影片或音樂
      http://userscripts.org/scripts/show/25105

      軟体kvm
      http://ottoshare.blogspot.com/2012/04/synergy.html

      需要啟動Port  24800:tcp

      Windows
      1. 開啟 [Windows 防火牆],請按一下 [開始] 按鈕 [開始] 按鈕的圖片,然後按一下 [控制台]。 在搜尋方塊中,輸入防火牆,然後按一下 [Windows 防火牆]
      2. 在左窗格中按一下 [進階設定] 需要系統管理員權限如果提示您輸入系統管理員密碼或確認,請輸入密碼或提供確認資訊。
      3. [具有進階安全性的 Windows 防火牆] 對話方塊的左窗格中按一下 [輸入規則],然後在右窗格中按一下 [新增規則]
      4. 依照 [新增輸入規則] 精靈的指示進行操作。

      2012年4月28日 星期六

      [轉貼] Linux 網路檢測工具-nmap 的用法

      本篇出處:http://www.linuxpk.com/71140.html
      本篇出處:http://idobest.pixnet.net/blog/post/22040775



        Linux 系統預設已包含了一個很有用的網路檢測/探測工具-nmap,主要用途有:在指定的網路區段下掃瞄主機群的網路連線,探測指定主機已開啟的通訊埠,藉由前兩項資訊可檢測出遠端主機的作業系統及網路服務為何。
      指令說明:
      nmap -sP 192.168.1.0/24
      使用ping掃瞄子網路內的所有IP,並列出有回應的IP,不作進一步測試。



      nmap -sL 192.168.1.0/24
      列出子網路所有IP及對應的主機名稱,但不作ping 及通訊埠偵測。



      nmap -PS 192.168.1.234
      偵測遠端主機已開啟的通訊埠,為縮短掃瞄時間,可指定特定的埠號,ex. -PS22,23,80,25



      nmap -PU 192.168.1.0/24
      使用UDP協定 ping 遠端的主機。



      nmap -sS 192.168.1.0/24
      使用TCP SYN掃瞄,這是一個半開放的掃瞄方式,所以掃瞄速度較快,也比較常被使用。這可以列出有回應的遠端主機已開啟的網路服務埠。



      nmap -sT 192.168.1.0/24
      如無法以SYN掃瞄時,就得改用TCP connect 來掃瞄,這也是預設的掃瞄方式。



      nmap -sU 192.168.1.0/24
      用UDP協定掃瞄遠端主機群。



      nmap -sO 192.168.1.19
      偵測遠端主機已開啟哪些通訊協定 TCP,UDP,ICMP,...



      nmap -O 192.168.1.19
      nmap -A 192.168.1.19
      偵測遠端主機的作業系統類型



      nmap -v scanme.nmap.org
      掃瞄遠端主機,並列出相關詳細的資訊。



      nmap -sS -O scanme.nmap.org/24
      以SYN秘密掃瞄網域為scanme.nmap.org所屬 C 子網段的所有存在的主機作業系統類型。



      nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
      進行主機列表及TCP掃瞄特定網路服務,遠端主機的網路含括 198.116.(0-255).(1-127) 網段下。



      nmap -v -iR 100000 -P0 -p 80
      隨機選擇100000台主機,偵測是否開啟 Web 服務,由於此掃瞄較耗時,所以加上-P0 不作主機列表。