自由軟體與Linux

張明泰 mtchang.tw@gmail.com

       2012.11.12
軟體下載

• 請下載底下網址的軟體
• Ubuntu linux .影像檔
• VirtualBox 虛擬機器

           http://140.117.7x.xx:8080/
Linux和自由軟體

• Linux 是一套作業系統,用來管理電腦的資
  源,並作為人類和電腦間的橋樑。
• Linux 、 MAC OS 和 Windows 的都是作業
  系統。
作業系統架構
自由軟體

• 自由軟體(Free Software)是一種可以不
  受限制地自由使用、複製、研究、修改和
  分發的軟體。
• 與自由軟體相對的是非自由軟體,也常被
  稱為私有軟體、封閉軟體(其定義與是否
  收取費用無關──自由軟體不一定是免費軟
  體)。
• 自由軟體也可以看作開源軟體的一個子集。
•   REF:http://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%BB%9F%E9%AB%94
自由軟體
知名的自由軟專案
網路伺服器
   http://news.netcraft.com/
Linux 可以做什麼?t
當個專業的鄉民
養驢



院內請勿
 養動物
謎
Office 辦公室文書
即時訊息



決定收
 攤的
 MSN



          SKYPE
DropBox
上FB 看看正妹

傳說中的打卡地標
「胖女美女靜」本人
Unix 歷史




http://zh.wikipedia.org/zh-tw/Unix
簡單版的歷史
History

• 1969 年電腦很貴,Bell , MIT 與 GE 想要降
  低使用的成本。 開發Multics 系統失敗收場。
Unix 誕生

• 1969年 Ken Thompson 用 Assembler 寫
  出一個小型file server system為了玩一套名
  為『太空旅遊』的遊戲。(B語言)
• 1973年:Unix的正式誕生,Ritchie等人以
  C語言寫出第一個正式Unix核心
Dennis Ritchie

• 改變世界的男人- C 語言之父 Dennis
  Ritchie 逝世;沒有他,就沒有 Linux、
  BSD、Mac OS

 2011.10.6 RIP            2011.10.12 RIP
KenTompson
                         Ken Thompson有一次被問到,如果你有機會重新設計UNIX系統,
                         你最想改的是甚麼?

                         他回答:我會讓 creat 這個拼寫加上 e 。




                                          經過 40 年,他做到了。




Ref:http://kevinwatt.net/blog/tag/ken-thompson/
GNU

• 1983年,Richard Stallman 創立了GNU計
  劃(GNU Project)
保證 GNU 軟體可以自由地「使
用、複製、修改和發佈」
Linus Torvalds

• 1991年在大學修 OS 的 Linus 寫了一個作
  業放在網路上。
• 1991年10月(Linus Torvalds)在
  comp.os.minix上發佈一則訊息原文連結




https://groups.google.com/forum/?fromgroups#!msg/comp.os.minix/dlNtH7RR
rGA/SwRavCzVE7gJ
GNU/Linux 誕生

• 原碼3路 ﹣開放源碼的歷史(動畫版)
• Kernel(核心) + Softwares(軟體) + Tools(管
  理工具) = distributions(套件)
• distrowatch.com 套件統計排名網站
• Debian , Ubuntu, mint
• RedHat , Fedora,CentOS
• Suse, OpenSuse
Linux Distribution
下載

•   中山大學 FTP
•   ftp://ftp.nsysu.edu.tw/pub/
•   國網中心
•   ftp://ftp.twaren.net/pub/
•   I386  32bit
•   X86_64  64bit
自由軟體與授權

• GNU General Public License (GPL)要分享
• Berkeley Software Distribution (BSD) 自由
  的用
• 權力不變,創意無限(CC授權)
• 全球第一個 GPL 完整法院訴訟案例剖析-
  Dlink
• CISCO Linksys 違反 GPL - Linksys使用了
  Linux 2.4.5核心系統與其他的GPL程式碼
第三方韌體

• NSLU 計畫及 LinkSYS的熱
  銷 http://www.nslu2-linux.org/
• ASUS WL, RT 系列 及 Dlink DI 系列第三
  方韌體 OLEG , TOMATO, DD-WRT
DD-WRT
第三方韌體Android手機

• Google Android OS 的問題
• Linux Kernel的維護者 Greg Kroah-
  Hartman宣佈,將Android 代碼從Linux
  kernel 代碼庫中刪除
• 小米刷機http://www.miui.com/getrom.php
• 刷了小米 ROM 的 HTC 還是 HTC 嗎?
如何入門?

•   IT相關知識學習
•   買本書 http://linux.vbird.org/
•   改變你的 OS 環境
•   參與社群
線上書籍
電腦安裝 Linux
MAC ubuntu Linux
參與社群
使用虛擬機器安裝Linux

• VirtualBox https://www.virtualbox.org/
• Vmware http://www.vmware.com/tw/
網路的選擇

橋接網路模式                  NAT網路模式


                   10.0.0.xx
        Linux                      Linux

   VirtualBox                  VirtualBox

  OS (Win)                 OS (Win)


192.168.123.xx          192.168.123.xx
VirtualBox 安裝

• hot key: default key is 'right ctrl‘
• 作業系統選擇:Linux -> Ubuntu 64bit or
  32bit 需要注意。
• 記憶體:512MB(以上)
• 硬碟:8GB(建議)-動態產生
• VT-x/AMD-V 有支援就打開(啟用)
• 注意開機順序要,安裝時光碟開機,安裝完成
  後硬碟開機,或是退出光碟片。
• 網卡橋接模式及NAT模式
Linux安裝流程
               (Linux mint)
• 啟動安裝光碟 -> 桌面 install linux
• 下一步 * n
• 裝好了….
分割區及檔案系統

•   ext3 , ext4 Linux 的檔案系統
•   Fat32 通用的檔案系統, 2GB 限制
•   Linux 最上層只有一個 / 為主要起始路徑
•   分割原則:3主分割+1擴充(64邏輯分割)
•   Swap 在記憶體很大的電腦上已經失去作用

    MBR          / ext4         SWAP
    GRUB        5G ~ 10G      RAM 1~2倍


           新手純Linux 電腦分割區規劃
和 Windows 並存

• 先切割分割區安裝Windows
• 在安裝 Win7 or WinXP。因為Win7自動分
  割會產生一個100M分割。
• WinXP 及 Win7 會自動覆蓋 MBR。
• 安裝完成Win 後再安裝Linux


  MBR    Win7 NTFS    / ext4      SWAP
  GRUB   30G ~ 60G   5G ~ 10G   RAM 1~2倍
Soft RAID

• 浪費的磁碟系統(增加可靠度)




 SIZE: N   SIZE: N/2         SIZE: N/2
RAID

• 較常用的作法,大多以硬體實現。




  SIZE: N-1      SIZE: N-2
LVM

• 提供在執行系統期間動態分割硬碟的功能。
SELinux

• 對於程式的行為作規則的管控的安全機制
系統管理員 root

• Root 系統管理員
• 一般使用者
• 命令:Su 可以切換任何使用者身分(需有
  對方密碼)
• 命令:sudo 可以臨時擁有特權(需要設定)
• 每個檔案/目錄都有擁有者和群組
• 依據權限(rwx)決定對檔案系統的存取權。
Guest Additions


• 安裝 VirtualBox Guest Additions
• Vbox 成為虛擬顯卡,加快 Virtualbox 的顯示
  速度。
軟體中心

• Ubuntu software center
套件

• .deb 預先編譯好的2進位程式
• .rpm預先編譯好的2進位程式

http://www.playdeb.net    http://rpmfind.net/
軟體系統更新

•   更新 APT 資料庫
•   Apt-get update
•   更新軟體
•   Apt-get upgrade
•   安裝套件
•   Apt-get install 套件名稱
遠端連線 xrdp
• Apt-get install xrdp
Openssh-server

•   安裝
•   Sudo apt-get install openssh-server -y
•   啟動
•   Service openssh-server start
Openssh-Client

• ssh Cleint 端
• ssh 帳號@主機 [命令]
• Ex:ssh://mtchang@mt.jangmt.com:22
Xshell
Pietty or putty
特效 compiz

• Compizconfig settings Manager
• http://www.youtube.com/watch?v=4QokO
  wvPxrE&feature=related
輸入法

• IBUS 輸入法框架
• 酷音輸入法 chewing
網路設定

• 無線網路
• 有線網路




  http://wiki.ubuntu-tw.org/index.php?title=ADSL
驗證網路

• Ifconfig 觀察網卡及IP資訊
• Ping 偵測連線是否正常
• Dns 名稱轉換為 IP
ifconfig
ping
Nslookup , host
Command mode

• 命令列模式是為了讓工作更有效率。
• Shell script 可以將經常性的工作寫成程式
  工作。
• Bash SHELL
樹狀結構
ls and help
mtchang@mtchang-mint ~ $ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
 -a, --all        do not ignore entries starting with .
 -I, --ignore=PATTERN     do not list implied entries matching shell PATTERN


mtchang@mtchang-mint ~ $ ls -l -a -h /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 2.2K 9月 14 14:31 /etc/passwd
-rw-r----- 1 root shadow 1.6K 9月 14 14:31 /etc/shadow
命令補齊及history

• 連續兩次 tab 系統會判斷最接近的命令或是
  檔案,表列提供選擇。
• 上下 按鍵可以呼叫出前一個使用過的指令
Shell script

• Hello bash shell
  mtchang@mtchang-mint ~ $ chmod +x hello.sh
  #!/bin/bash
  echo 'hello bash shell'
  echo "today is $(date +%Y%m%d)"
  mtchang@mtchang-mint ~ $ vim hello.sh
  mtchang@mtchang-mint ~ $ ./hello.sh
  hello bash shell
  today is 20121112
LAMP

•   安裝 apache2 + php5
•   sudo apt-get install apache2 php5 –y
•   啟動服務
•    sudo service apache2 start
•   Browser 測試
•   http://localhost/
更多? 那就開始動手做….

ENJOY IT !!!
Q&A
●   對於 RHCSA or RHCE 有任何問題請發問

20121111 linux intro