Ubuntu part2

Download Report

Transcript Ubuntu part2

Introduction to Ubuntu
part2
LOGO
Outline
管理使用者和群組
新增和移除應用程式
附錄
管理使用者和群組
 Linux為multi-user的作業系統, 代表可同時
讓多個user登入使用
 在Linux裡, 除了一位系統管理者(root)之外,
每個使用者都有不同的群組和權限
 但是在Ubuntu裡預設封鎖了root的登入, 所
以想使用管理者的權限指令, 必須在指令前
面加上sudo
附註: liveCD的帳號ubuntu, 密碼為空白
管理使用者
 新增使用者: useradd和adduser
sudo
useradd
-m
使用者的名字
 -m : 自動建立家目錄 (一定要加此選項)
 -s : 指定這個使用者的shell類型
 -d : 指定這個使用者的家目錄存在哪(預設存在
/home底下)
sudo
adduser
使用者的名字
 useradd指令需要自己在後面接選項來指定
各種設定
 adduser指令是一種互動的介面, 會使用詢問
的方式來設定使用者
管理使用者
 更改使用者密碼
sudo
passwd
使用者的名字
 只輸入passwd指令就是更改自己的密碼
 刪除使用者帳號
sudo
userdel
使用者的名字
• 只刪除帳號, 並沒有刪除使用者的家目錄
使用者的名字
sudo
userdel
-r
• 不止刪除帳號, 連家目錄都會被刪除
Unix / Linux 檔案系統
根目錄: 最上
層的目錄
存著目前系統
執行程式的資
訊, 如ps
bin
存著一
些基本
指令,
如:ls,cp
等
boot
存著開
機的管
理程式
系統管理員的
個人家目錄
/
dev
存著系
統設備
檔, 如
硬碟和
光碟機
proc
home
John
Kelly
root
…….
Sam
絕對路徑就是從根目錄開始走到目的
地, ex: cd /home/John
相對路徑是根據現在的位置來決定如
何走到目的地, ex: cd John (現在在
/home底下)
每個使用者
的家目錄都
在此
管理群組
 在Linux系統, 可將使用者分成不同群組以便
管理
 建立群組
sudo
groupadd
群組的名字
 將使用者加入群組
sudo
adduser
使用者的名字
群組名
管理權限的設定
 有管理權限的使用者才能使用sudo指令
 只要將使用者加入admin群組, 即可讓此使
用者有管理者的權限
 給使用者管理者的權限(sudo)
sudo
adduser
使用者的名字
admin
Linux操作介面
 命令列操作介面並不需花時間在視窗呈現
的運算上, 因此程式執行時, 能有較好的效
能
 圖形操作介面可以讓使用者更方便使用作
業系統
 Linux作業系統採取命令式操作介面和視窗
圖形介面兩種模式
 常見的指令幾乎都有相對應的視窗圖形介面
 但是站在開發者的立場, 使用命令操作介面還
是比較方便
視窗介面的管理使用者和群組
Summary
 Unix/Linux為一個multi-user的作業系統, 允





許同時讓多個使用者登入使用
Unix/Linux的系統管理者為root, 但是
Ubuntu已經封鎖root的登入
如果想要執行一些管理者才能執行的指令,
必須在指令前面加sudo
新增一個使用者的指令為useradd, 設定密
碼的指令為passwd
可以將使用者分成group來管理
要讓該使用者能執行管理者指令, 必須將此
使用者加入admin group
Outline
管理使用者和群組
新增和移除應用程式
附錄
新增或刪除應用程式
 安裝新的應用程式
 [Application(應用程式)]→[Add/Remove(添加和刪
除])
進階版的安裝程式工具
 剛剛介紹的[添加和移除應用程式 ]是個較為
精簡的套件管理程式,提供初階的新增與移
除功能
 套件管理程式
 在 Ubuntu Linux 的世界中,應用程式和函式庫
的安裝執行檔經常被稱為套件
• 函式庫可想成是一堆別人寫好的function的集合, 你
只要include, 就可以直接使用
 Ubuntu 官方的套件庫上有許多常用應用程式的
套件,使用者可透過各種方便的「套件管理程式」
輕鬆地安裝移除套件庫提供的應用程式
• 可自動處理套件的相依性,提供更加完善的管理功能
Synaptic套件管理程式
 [System(系統)]→[Administration管
理]→[Synaptic套件管理程式]
檢查
目前
是否
有新
的套
件
輸入關鍵字來找
尋相關的套件
命令列套件管理工具
 指令介面套件庫管理方式 APT (Advanced
Package Tool)
 需要在前面加上 sudo 以便用管理員權限來管
理軟體
sudo apt-get install program_name
 安裝軟體
 刪除軟體
sudo apt-get remove program_name
 更新線上套件庫資訊
sudo apt-get update
 執行系統更新
sudo apt-get upgrade
命令列套件管理工具
 手動編輯套件庫清單
 sources.list記載著存放套件的server位址
 套件管理工具會去察看sources.list裡記載的
server, 再連到此server抓取所需的套件
 檔案在 /etc/apt/sources.list
 每次要下載套件之前, 最後先更新套件庫的資
訊
• sudo apt-get update
更新sources.list
 用Firefox下載sources.list
 9.10:
http://www.cs.nthu.edu.tw/~d9662828/downlo
ads/9.10/sources.list
 9.04:
http://www.cs.nthu.edu.tw/~d9662828/downlo
ads/9.04/sources.list
 將原本的sources.list覆蓋過去
 sudo cp sources.list /etc/apt
 sudo apt-get update
練習安裝軟體
 安裝FTP軟體filezilla
 sudo apt-get install filezilla
 安裝BBS軟體PCman
 sudo apt-get install pcmanx-gtk2
 中文字型亂碼問題
• 9.10 檢視->字型, 選擇文泉驛正黑or文泉驛等寬正黑
• 9.04 檢視->字型, 選擇AR PL Uming TW或AR PL
Uming TW MBE
安裝輸入法
 sudo apt-get install gcin
 im-switch -z zh_TW -s gcin
 然後登出再登入就可以了
gcin的設定可以從系統->偏好設定->gcin輸
入法設定進入
 一般要設定的就是把沒有用到的輸入法取
消,請選擇內定輸入法 & 開啟/關閉,只勾
選你要用的輸入法就好了
 Ctrl+space用來中英文鍵盤切換
 Ctrl+shift是用來切換各個不同的輸入法
Summary
 在Ubuntu裡可使用”添加和刪除應用程式”來
安裝軟體
 更進階的”套件管理工具”, 可搜尋到更多的
應用程式及函庫
 到sources.list記載的servers搜尋套件
 安裝應用程式的指令為apt-get, 必須要加
sudo才可執行
練習5
 假設我們接下了管理CS工作站的任務, 為了
迎接cs14級的到來, 我們事先幫他們都把帳
號建立好
 請寫一個script, 幫助我們可以方便地建立大
量的使用者
 此練習只需要建立10個使用者, 帳號為
u9962101~u9962110
 密碼和帳號相同
Hint
 利用useradd和passwd來建立使用者的帳號
和密碼
 建立大量的帳號密碼, 可使用while迴圈
 while迴圈裡面的條件判斷 => test指令
 如何讓使用者帳號在while迴圈中一直加1
 ex: 建立第一個使用者u9962101, 第二個使用
者u9962102, 依此類推
 使用expr指令作變數的數值運算
• name=`expr 9962101 + 1` (`為驚嘆號左邊的按鍵,+
的左右兩旁須留空白,`的左右不要空白)
• name=“u$name”, 將字串連結起來
Hint
 使用passwd來建立密碼, 會詢問你要輸入什麼
密碼, 並且會讓你再輸入第二次以驗證密碼正
確性
 如何模擬使用者輸入密碼?
• 將密碼輸出到某檔案, 再將某檔案輸入給passwd指令
 將密碼output到另一個文字檔input
• echo XXXX > input
• echo本來就會換行
 如何輸入兩次?
• 讓input的內容為
輸入輸出的部
分請參考unix
part2的投影片
d9962101
d9962101
 第二個使用者的密碼要蓋過去, 該如何作?
• 使用>會覆蓋過去, 使用>>會接在檔案後面
Bonus (+5%)
 將密碼設定都寫在script裡, 實在是太不彈性
 比較好的作法, 是將密碼獨立出來另外存在
一個文字檔
 如何一一讀取文字檔裡的密碼
 使用輸入輸出導向(> or >> or < )和read指令
Outline
管理使用者和群組
新增和移除應用程式
附錄
附錄
語言支援
 如果安裝完了 Ubuntu,卻發現 Ubuntu 都
是英文,那可能是因為語言支援沒有更新
或沒有更新完全。
 但用LiveCD試用Ubuntu, 可用空間被光碟的容
量限制, 可能沒有足夠的空間更新語言支援
 請點選「System/Administration/語言支
援」,打開「語言支援」,再按下「Install
/ Remove Language」找到「Chinese」,
下面的細節全部打勾,再按下「Apply
Changes」
 安裝完畢後, 重新登入即可看到中文系統
language support
重新登入系統, 即可看到
完整的中文系統
編譯原始碼安裝
 有些開放原始碼軟體,但只提供編譯給
Win32 的安裝執行檔原始碼,可下載軟體
原始碼回來,自行編譯安裝
 在終端機指令模式下安裝
./configure
make
sudo make install
make指令是用來編譯你的程式
makefile是用來告訴make指令如何
 若過程中顯示缺某套件就補:
sudo apt-get install 某套件
簡單的Makefile範例
Makefile
all:hello.c
gcc hello.c -o hello
clean:
rm -f hello
%make
會將hello.c編譯成hello的執行檔
%make clean
會將hello的執行檔刪除
編譯程式
 我們所寫的程式就是原始碼(source code),
通常我們都使用高階的程式語言(ex: C or
C++ or JAVA)來撰寫程式
 高階程式語言貼近人類的思維, 比較容易閱讀
和撰寫
 寫完程式後, 我們會使用編譯器(compiler,
ex:gcc)將高階程式碼編譯成低階程式碼
(assembly)
 assembly是貼近CPU思維, 通常一行高階程式
碼可以轉成數行的assembly codes
High Level
Language Program
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
Compiler
Assembly
Language Program
Assembler
Machine Language
Program
Machine
Interpretation
Control Signal
Specification
lw
lw
sw
sw
0000
1010
1100
0101
1001
1111
0110
1000
$15,
$16,
$16,
$15,
1100
0101
1010
0000
0($2)
4($2)
0($2)
4($2)
0110
1000
1111
1001
1010
0000
0101
1100
1111 0101 1000
1001 1100 0110
1000 0000 1001
011 1010 1111