Week 02(2020/09/24)

HW

看課綱,決定想聽老師說什麼,不想聽老師說什麼

Ubuntu 安裝補充說明👽

copy on write(wiki)

  • 開啟後的 virtualbox 的 logo 畫面是BIOS

  • 硬碟檔案類型

    • VDI ( Virtual Desktop Infrastructure,桌面虛擬化 )
      • 負責將桌面環境架設在遠端伺服器及資料儲存系統
      • VDI 系統能夠提昇硬體使用效率,易於進行集中管理
    • VHD ( 虛擬硬碟 )
    • VMDK
      • 最初為VMWare開發,但其他虛擬機同樣支援此文件格式
    • VDI管理員應該掌握的四種虛擬磁碟格式
  • BIOS 裝在主機板上,通電後會去做開機所必要的偵測,並試著在硬碟上找出開機磁區,找到開機 kernel 就把他放進記憶體中

  • 預設進行開機流程(10秒),試用介面而非直接洗掉

  • Ubuntu live usb 預設是試用的界面,可以選擇試用或者安裝

  • 當 windows 中毒應該用 Ubuntu 開機去讀取資料,避免中毒擴散、拯救資料

  • 若 ubuntu 系統無法開機也可以使用 live usb 進去系統修正錯誤

  • 早期沒有除了英文以外的語言

  • 鍵盤也有很多種,安裝時根據自己需要來選擇,如瑞典文、俄文、法文,一些特殊符號位置也有可能不同(常用是 qwerty 鍵盤 也有 dvorak 鍵盤)

  • 安裝 Ubuntu

    • minimum install 大約 180mb,但是許多功能都要另外安裝
    • normal install 有許多常用軟體
  • About 磁碟分割

    • 資料加密
      • TrueCrypt
        • 已停止開發更新
      • VeraCrypt
        • 開放原始碼的一個加密軟體,Truerypt 的一個分支
    • LVM(Logical Volume Manager,邏輯捲軸管理員) = 虛擬分割機
      • 不是直接在磁碟上,救資料比較麻煩
      • 彈性的調整 filesystem 的容量
    • Something else (手動分割)
      • 後「檔案系統階層」說明
  • About 電腦時間

    • 主機板上的 CMOS 有電池,因此時間就算關機後仍然會大致正確
    • RTC ( Real-time clock )透過石英震盪頻率來對時
      • 精準度最低
    • NTP ( Network Time Protocol )是一個網路對時的通訊協定。另有 NTPD
    • GPS ( Global Positioning System )三點定位,發出電磁脈衝波,一秒內就可以接收,透過接收到的脈衝波時間差推算正確時間
    • 精準度最高(原子鐘)
  • About 帳號密碼

    • 若只有英文、數字,約 3~5 分鐘會被破解(暴力破解)
    • 密碼建議加上特殊符號(因為複雜度是次方等級)
    • 為了資安安全,密碼存在資料庫時不要用明碼儲存
      • 測試:註冊完某網站,按下「忘記密碼」
        • 直接寄給你原本的密碼:用明碼儲存(危險)
        • 寄重設、新token(安全)
  • Why 安裝完要 reboot ?

    • 若突然斷掉電腦電源,檔案有可能消失
    • 記憶體比硬碟快非常多,因此突然關機,會來不及將記憶體中的buffer寫入。
    • 數位鑑識中,有機會從關機的記憶體取出資料
    • reboot 目的是重開機後,bios 將硬碟中的新資料寫入到記憶體中才可以使用新安裝的系統[來源請求]

檔案系統階層標準 (FHS)

  • 沒有像一般系統一樣分C、D槽,而是分階層 directory tree(目錄樹結構)

directory tree(目錄樹結構) 以根目錄(/)為主,向下呈現分支狀的目錄結構的一種檔案結構

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 根據需求於目的掛到不同地方 預設是根目錄(/)

    • /boot : 掛載 kernel,通常 100mb 就足夠
      • 最重要的檔案:initrd.img:包含開機所需的
    • /dev : 硬體裝置檔案(EX. 印表機、滑鼠、USB)
    • /etc : 大部分應用程式的設定檔(EX. 各種版本 python )
    • /home : 每個使用者有專屬的家目錄,且擁有全部權限
    • /opt : 放置各種雜七雜八應用程式(EX. xampp )
    • /tmp : 備份臨時檔案放置的地方,重啟後有可能被刪除
    • /usr : 通常來說是 Unix Software Resource 的意思,user 安裝的東西
      • /usr/bin : 非必要但很常用

      usr 是 user 還是 Unix Software Resource 有爭議啦有爭議BlueT

    • /var : 時常變動的內容 ex:系統記錄檔、誰登入登出、誰嘗試連線
      • /var/mail : 放使用者收到的 mail
      • /var/log : 應用程式產生的 log 檔案
    • swap
      • 常用的 cache 放在硬碟中,而不是長期佔用 memory
      • 待命中的電腦,為了省電,將 ram 中的資料放到 swap ,可以降低記憶體耗能
      • server: 有些使用者不會一直連線,不用一直跟使用者溝通,多的記憶體空間可以拿去跟別的 client 連線
  • 磁碟格式

    • linux 常用 ext4格式
      • multiblock allocation
      • delayed allocation
      • 相比 ext3,減少了搜索空間的時間
      • 有人記得第二種嗎QAQ
      • 日誌檢查: 每次開機時,檢查是否有資料短少,可恢復遺失的資料
      • 可以快速的檢查出哪裡有空間 (把哪裡是空的先記起來)

    ext4(第四代擴充套件檔案系統, Fourth extended filesystem)

    Linux系統下的紀錄檔檔案系統

wiki

BT補充~

考試唯一的目的,就是把你當掉 BlueT

幹,不准用網路喔 老闆

  • 硬碟只是元件
  • linux(類 unix ) 是從 unix 變成的,一開始是大型主機,一顆磁碟超大,所以在 unix 相關的系統中,分成什麼槽不是最重要的
  • 就本質來說,只差在不同架構而已
  • 根目錄(/) = 一切的源頭
    • 根目錄延伸出其他所有目錄
  • /boot: 核心
  • initrd.image 臨時檔案系統: 包含了各種開機所需的img檔,可以直接載入記憶體裡面
  • 在Linux中,所有東西皆為檔案
    • 目錄、硬體、檔案
    • 硬體的檔案 (/dev下)
      • SATA介面的硬碟:sda(第一顆硬碟)、sdb(第二顆硬碟)
    • 所以可以直接對硬碟做一些非常低階的動作,甚至可以知道硬碟中第一個byte是什麼
  • 早期 unix 是一種分類,有不同發行版本
  • Red Hat系列很多都還沒有遵循FHS標準
  • 分區的補充
    • /etc: 大部分的設定檔都會在裡面
    • /home: 包含所有使用者各自的家目錄(集合)
    • /lib = library

      要念 lib 還是 lib 隨便你啦,但我都念 lib BlueT

      • library檔
    • /media = 映射外部的媒體資料(EX:光碟機、隨身碟)
    • /mnt: mount(掛載)
      • 可以掛載新的硬碟(非要長久使用的)
      • 在系統壞掉後,用 ubuntu 重開機
      • 伺服器硬碟數量有限,或不想放在自己機器上,但想遠端存取
      • 可以掛在硬碟在任何地方,但是掛載在 /mnt 是標準作法
    • /opt: 怕這個檔案玷汙系統的話,可以把東西放在這裡(雜七雜八的東東)

      但他不是垃圾桶唷 BlueT

    • /proc
      • 是虛擬目錄,硬碟上不存在
      • 對應到 kernel 的空間
      • 所有正在進行中的 process 皆在這
        • 利用 process 的 id 找尋
      • 可以查詢一個 process 從何來從何去、執行了甚麼
      • 除非了解自己在寫甚麼,不然盡量不要去修改與寫入
      • 進入 proc/ps aux 可列出資訊
      • 該 process 結束後資料夾依然會存在
    • /root: (不是指根目錄,而是根目錄底下的分割區)
      • 超級使用者(su)的家目錄
        • linux 系統底下還有一般使用者

        超級使用者就是這個世界的神 BlueT

      • 壞了的話,那一區就壞了
      • 舊時: 建議獨立分割
        • 過去硬碟切割有先後順序
        • 效能有差異(讀寫頭移動的時間)
        • 將 root 獨立放置,避免壞的時候影響其他目錄
      • 新時:
        • 強力反對用 超級使用者(su) 的角色來做事情
        • 不會獨立分割
    • /sbin : 即 superbin (跟/bin類似)
      • 所有系統都有 bin

      我說在座的各位電腦裡都有 bin BlueT

      • 基本指令都在 bin 裡面,超級使用者專用放在 sbin
    • /tmp
      • 重開機就會全部不見
      • 有價值的東西盡量不要放在裡面
    • /var
      • 裡面的東西時常變動
        • EX. 系統記錄檔(常寫入,記錄某人登入登出、啟用哪些服務等資訊)
        • 記錄檔的存在意義 : 事後可以去查驗、查看
      • 任何儲存媒體都能掛在目錄裡面
      • /var/log : 記錄檔就在此
      • /var/mail
      • /var/spool
    • 為什麼要分割磁區?
      • 考量系統的效能 :
        • 將資料集中,有助於資料讀取的速度與效能
        • 磁區位置不同會影響讀寫速度
      • 考量資料的安全性 : 磁區檔案系統如果損壞,不會影響到其他磁區
      • 壞處 : 分割大小難以拿捏

常用指令

  • 使用指令更新

    • sudo apt update : 檢查軟體源更新
    • sudo apt upgrade : 下載並安裝更新
  • pwd : 顯示目前位置的完整目錄

  • cd [目錄] : 前往指定目錄

    • cd ~ : 回到家目錄,直接使用cd效果也一樣,其中~表示家目錄
    • cd .. : 回到上一層,例如: /home/user -cd ..-> /home
    • cd - : 回到上個目錄,例如: /home/user -cd /etc-> /etc -cd --> /home/user
    • cd /etc : 切換至根目錄下的etc文件夾,最前面的/表示根目錄(絕對路徑)
    • cd ./abc : 切換至當前位置裡名稱為abc的文件夾中,最前面的./表示當前文件夾,忽略./也可以達到同樣效果(相對路徑)
  • ls : 看目前所在位置有的檔案

    • ls -a: 顯示隱藏檔
    • ls -l: 顯示詳細內容
    • al可以並用: ls -al
  • man: 查詢指令內容

  • top: 查看系統資源使用情況

鳥哥的 Linux 私房菜

修改常用下載源

  • 開啟 software & update > download from: Other > Choose a Download Server -> Taiwan
  • 將軟體下載源換成 ftp.ubuntu-tw.net (該資料源在暨大)
    • 加快下載速度!
  • 關閉並 reload