---
# System prepended metadata

title: Linux源 伺服器 封包

---

# Linux源 伺服器 封包
## Linux源
我們都知道Linux的是由一群可用的工具才好用的系統，那要如何裝不同公司的軟體，肯定要加入他們的資源，加入他們資源就可以使用 apt update來更新有的庫資料才來安裝。那麼要如何加入源呢？
#### 第一種方法：
``sudo nano /etc/apt/source.list``來增加源
etc是零零碎碎的使用者偏好文件
apt則是軟體管理
再apt底下的source.list是源的文件
再apt更新庫時會依照source.list來去搜尋該FTP站台是否有符合自己電腦對應的軔體及軟體可用更新包並且下載至本地端，那麼當有可用的更新包時，就會提示 apt list --upgradable來查看可更新的軟體或軔體，使用apt upgrade來進行更新

例如
>台灣大學Ubuntu的FTP站台
>交通大學Ubuntu的FTP站台
>政治大學Ubuntu的FTP站台
>淡江大學Ubuntu的FTP站台
>日本大學Ubuntu的FTP站台
>北京大學Ubuntu的FTP站台
>南京大學Ubuntu的FTP站台
>台灣清華大學Ubuntu的FTP站台
>北京清華大學Ubuntu的FTP站台

這裡舉例Ubuntu的站台，當然還有許多國家，許多大學的站台，台灣的就挺多的了，何況還有其他系統對應的站台。

"deb" 表示為執行套件，
"deb-src" 表示來源套件。
#### 第二種方法
``sudo add-apt-repository ppa:地址``
PPA 是 Personal Package Archive 的縮寫，軟體開發者將原始碼上傳至 Launchpad 後，透過其線上編譯服務，產生預先編譯好的套件，提供使用者使用。由於 PPA 是屬於非官方的套件庫，所以通常軟體版本比較新，但穩定性也較差。

新增的PPA 會存放在系統的 ``/etc/apt/sources.list.d/``
以Nginx為例 如果要安裝nginx
``sudo add-apt-repository ppa:nginx/stable``
``sudo apt update`` 更新庫
``sudo apt install nginx -y``apt安裝nginx並且直接按是安裝
PPA 增加則是有這些可用的
>   apt-add-repository 'deb http://myserver/path/to/repo stable myrepo'
    apt-add-repository 'http://myserver/path/to/repo myrepo'
    apt-add-repository 'https://packages.medibuntu.org free non-free'
    apt-add-repository http://extras.ubuntu.com/ubuntu
    apt-add-repository ppa:user/repository
    apt-add-repository ppa:user/distro/repository
    apt-add-repository multiverse
>
意味著 我們可以直接使用FTP庫來安裝指定的資源庫
## 伺服器
### Port 通訊埠
伺服器意味著是再Port通到內開啟連線，而PORT意思是**通訊埠**，port是建立再傳輸層底下，也就是TCP/IP協定套組之下的TCP與UDP協定，PORT是以16位元來進行表示的

伺服器提供進程。客戶端使用指定的IP與埠號來連接相對應的伺服器。例如：80通常用來提供HTTP服務，23通常提供telnet服務。當用戶連接之後，伺服器則對該埠監聽(Listening)。客戶端通常使用這些埠號進行連線。

FireWall(防火牆)或是閘道也可以使用Port轉發，亦作NAT。是在路由器常見。
再遊戲上常出現NAT為嚴格狀態為PORT轉發錯誤，可能再Windows防火牆沒有該PORT轉發造成連線上出現卡頓或是幾秒鐘就會離線，NAT對UDP影響甚大，因為遊戲中的人跟人線上是由UDP連線，而PORT將UDP轉到其他線路，或是只使用TCP連線，那麼TCP沒有直接轉至該伺服器，那麼就會斷線，造成大部份遊戲或是需要兩端連線的應用程式出現無法連現狀態(此為無中心點)即對等式架構。

Port就像是水管，每條水管通到不一樣的地方，有些通到廁所水槽，有些通到廚房水槽，但都是通到同一台主機，不同伺服器，每條水管皆為不同的伺服器，而房子就是主機。
### UDP&TCP/IP
UDP為**用戶資料報協定**。與TCP(**傳輸控制協定**)不同的是，UDP是一種傳回再傳送方式的傳輸協定，會保留資料，確保資料安全傳送，而TCP則是直接傳輸式的傳輸協定，不保留資料，常用再網路電話。
IP則是**網際網路協定**。分兩種版本
- IPv4 網際網路協定第四版，是一種不用連接的網路協定，使用32位元位置，也就是只有2^32^個位置
- IPv6 網際網路協定第六版，採用128位元地址，支援到2^128^個位置

- 固定IP 再網路上代表實際位置的IP，由電信局配發一組IP，凡有中華電信小烏龜者，皆可使用卡上的帳密來進行更改1個固定IP級7個浮動IP，可建立伺服器
- 浮動IP 再網路上不代表實際位置IP，可給8個主機使用，但IP會時常調換，無法架設網站，無法建立網路上伺服器
### TLS & SSL & SSH & Telnet
TLS、SSL及SSH揭示安全協定的一部份，但三者皆常常搞混，SSL是TLS的前身，SSL是**安全通訊協定**，TLS為**傳輸層安全性協定**，兩者皆是在驗證金鑰時，再通訊兩方交換的資料進行加密，確保資料的安全性，使客戶端再伺服器之間不會被竊聽或是截包。

SSL & TSL也用於憑證是否有效
憑證則可以顯示一名稱、組織、單位、發行者、有效期間、指紋與許多項目。有SSL協定的可以再瀏覽器中顯示安全連線。
如果顯示不安全有可能會被竊聽，那麼就有可能從第三方截包去做非法事情。

SSH是加密的**網路傳輸協定**，再客戶端和伺服器中，由SSH來建立SSL/TLS連線，也很常有人SSH來建立遠端命令列或是傳輸命令列。
### HTTP(s) FTP
HTTP一個**超文本傳輸協定**，顧名思義就是從伺服器接收到客戶端的一個協定，再配合本地端的HTML解析來達成網頁的顯示。

HTTPS是一個**超文本傳輸安全協定**，經由HTTP進行通訊，利用SSL/TLS來加密封包，保護交換資料的完整性。

FTP為**檔案傳輸協定**，用於客戶端和伺服器進行檔案傳輸的應用層協定，使用8位元，可操作檔案時不做處理，也意味著，FTP有非常非常高的延遲，從開始請求到接收資料，時間會非常長，還需要執行冗長的登入，聰明者可配合HTTP來縮短時間。

### DHCP DNS
DHCP 即**動態主機設定協定**，可自動分配IP位置
DNS 即**網域名稱系統**，可將IP變至DNS，而DNS需要驗證才能與IP匹配，例如A，MX，Chame，txt驗證方式。
### POP POP3 SMTP IMAP
四者皆為郵件收發協定
可作為Mail Server 進行監聽