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