免費版的資源有限,如有需要請購買付費版~ 8塊8包郵

這個可以看一下,如果連基本指令都不知道https://fanyue.ee/posts/linuxbasic/

這個也可以看一下,但比較多進階用法,有些這裡用不到,年初寫的 https://www.notion.so/Linux-1-3257c9bf7ed38070aef0f0b409e206f6?source=copy_link

不知道就去問 AI 了,反正又沒限制

居咪咪 https://gemini.google.com/ 恰特居批踢 https://chatgpt.com 克勞德 HTTPS://CLAude.ai/new

我就按文件步驟來

0. 下載 iso

記得先下載,當天下載大概浪費一半時間了,學校破網

下載連結: https://mirror.twds.com.tw/ubuntu-releases/resolute/ubuntu-26.04-live-server-amd64.iso

1. 配置 VM 資源

配置應該不用說吧,至於安裝部分詳見 https://fanyue.ee/posts/linuxinstall/

但可能有稍微不太一樣的地方記得注意一下圖片跟畫面是否有類似或一致

內文 9. 安裝源測試的這邊記得注意一下,先確認網路有通也就是 passed tests 再改 Mirror Address 為了考試要 bypass Mirror 的安裝,正常部署不太會這樣搞。

改 http://127.0.0.1/ubuntu 然後再繼續,下圖這個位置

https://fanyue.ee/linuxinstall9.png

2. IP 設置、Hostname

IP 設置

網路設定檔位於 /etc/netplan 建議可以把以下的先設定檔案起來,vim dhcp 開檔案貼上 vim maual 開檔案貼上。到時候只要 cp dhcp 50xx 這樣就會從 dhcp 資料複製到系統生效的檔案內。

DHCP 的設定檔

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: true

固定 IP 的設定檔

network:
  ethernets:
    enp0s3:
      addresses:
      - 192.168.50.你的IP/23
      nameservers:
        addresses:
        - 1.1.1.1
        search:
        - ntcu.edu.tw
      routes:
      - to: default
        via: 192.168.50.1
      set-name: enp0s3
  version: 2

Hostname

sudo hostnamectl set-hostname 你要的主機名稱

3. 設定時區

台灣時區就以下這個指令

timedatectl set-timezone Asia/Taipei

4. 允許 root 登入

設定 root 密碼

sudo passwd root

進入 root 帳號

sudo su

開放 root 從外部連線進來

編輯以下檔案,改不了沒權限就加 sudo

vim /etc/ssh/sshd_config

PermitRootLogin prohibit-password

改成

PermitRootLogin yes

然後也找一下,下面這行如果有#把#拿掉

#PasswordAuthentication yes

儲存後重啟 ssh

sudo systemctl restart ssh
不能的話試下面的
sudo systemctl restart sshd

然後理論就該可以用 root 登入了

ssh root@IP位址

修改提示符號

預設通常是

PS1="[\u@\h \w]\$ "
[fanyueee@ubuntu ~/project]$

我猜要求可能是

[fanyueee@ubuntu 你的名字與身分證 18:35 ~/CodeProject] $
PS1="[\u@\h 你的名字與身分證 \D{%H:%M} \w] \\$ "

https://img.ltn.com.tw/Upload/ent/page/800/2016/11/27/phpKCZpjX.jpg

以下是一些參考

代碼 說明
\u 使用者名稱
\h 主機名稱(短)
\H 主機名稱(完整 FQDN)
\w 完整路徑
\W 只顯示目前資料夾名稱
\d 日期 (Mon Jun 10)
\t 24 小時制時間
\T 12 小時制時間
\A HH:MM
\j 目前背景工作數
\! 歷史命令編號
\# 本次 Shell 執行的命令編號
\$ $#
\n 換行
\r CR
\s Shell 名稱
\v Bash 版本
\V Bash 完整版本
\@ 12 小時制時間 AM/PM
\D{} 自訂時間格式

5. 安裝 net-tools、apache2、php、Samba

apt install net-tools apache2 php samba

6. 批次建立使用者(個人網頁及samba )

先介紹甚麼是 /etc/skel 就是新帳號系統會把 /etc/skel 內的所有資料複製一份到 /home/新帳號 內,所以就可以在裡面放一個 /public_html 資料夾預創網頁,記得啟用 Userdir 才有個人網頁功能,參考 7 的某一個連結,這個是之前就有教的。

連線位置為 http://IP/~user1

批次建立

以下部分都需要一個檔案 users.txt 並且是在打指令的同資料夾內,內容會是

user01
user02
user03

這樣就會批次建立 user01 的帳號 user02 的帳號…

密碼預設都是 ubuntu

批次建立 linux 帳號

#!/bin/bash

for user in $(cat users.txt)
do
    useradd -m $user
    echo "$user:ubuntu" | chpasswd
done

自己建一個檔案 ex vim a.bash 然後 sudo bash a.sh

批次建立 samba 帳號

#!/bin/bash

for user in $(cat users.txt)
do
    (echo "ubuntu"; echo "ubuntu") | smbpasswd -s -a $user
done

自己建一個檔案 ex vim b.bash 然後 sudo bash b.sh

7. 顯示、設定網頁

這邊可以參考 https://fanyue.ee/posts/linuxexam/#8-%E5%AE%89%E8%A3%9D-apache2php-samba 應該有些是重複的我就不重打了

個人網頁的部分參考 https://fanyue.ee/posts/linuxexam/#%E5%80%8B%E4%BA%BA%E7%9A%84%E7%B6%B2%E9%A0%81%E5%8A%9F%E8%83%BD

8. 提供 samba 服務

一樣翻上面的網頁資料

9. LVM

PV = Physical Volume

VG = Volume Group

LV = Logical Volume

簡單解釋 實體磁碟加入 LVM 後就變成 PV。

把多顆硬碟集中成一個大空間,這個是 VG。

LV = 虛擬分割區,從 VG 切割出來這樣。

先加硬碟關機在 VitrualBox 內設定

https://fanyue.ee/le22.png

可以透過指令 lsblk 看現有硬碟,目前我這邊有 sda sdb sdc 三個實體硬碟也就是

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   25G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0   23G  0 part
  ├─ubuntu--vg-ubuntu--lv 252:0    0 11.5G  0 lvm  /
  └─ubuntu--vg-lvhome     252:1    0  512M  0 lvm
sdb                         8:16   0    4G  0 disk
├─sdb1                      8:17   0    1G  0 part
└─sdb2                      8:18   0    2G  0 part
sdc                         8:32   0    2G  0 disk
└─sdc1                      8:33   0    1G  0 part
sr0                        11:0    1 1024M  0 rom

假如 sdb硬碟是新的,先來設置硬碟

sudo gdisk /dev/sdb

以下指令意思是創建一個 /sdb1 並且是吃滿 sdb 的空間

sudo sgdisk -o /dev/sdb
sudo sgdisk -n 1:0:0 -t 1:8e00 /dev/sdb

然後

lsblk

應該可以看到

sdb
└─sdb1

建立 PV

sudo pvcreate /dev/sdb1

然後看一下

sudo pvs

應該可以看到

PV         VG
/dev/sdb1

已經是 PV 但尚未加入 VG

然後 在 /dev/sdb 上建立第 1 個分割區,使用整顆硬碟空間,並把分割區類型設定為 Linux LVM。

sudo pvcreate /dev/sdb1
sudo vgextend ubuntu-vg /dev/sdb1

然後給主硬碟擴充空間就是把剛剛的硬碟擴充到當前主硬碟上

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
sudo sgdisk -o /dev/sdb

sudo sgdisk -n 1:0:0 -t 1:8e00 /dev/sdb

lsblk

sudo pvcreate /dev/sdb1

sudo pvs

sudo vgextend ubuntu-vg /dev/sdb1

sudo vgs

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

df -h

10. 資料庫安裝

安裝資料庫

apt install mariadb-server

安裝如果有問看下這個,這個我直接複製老師的

Enter current password for root (enter for none):輸入  enter。
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n]   N
Remove anonymous users? [Y/n]   輸入 y。
禁止 root 遠端登入?:輸入 y。
移除 test 資料庫?:輸入 y。
重新載入權限表?:輸入 y。

安裝 phpmyadmin 就是網頁控制 db 的

apt install phpmyadmin

然後安裝有問 Choose web server: 選 apache2 然後 Configure database for phpmyadmin? 選 yes

登入連結 http://IP/phpmyadmin

改名我猜指的是把 /phpmydamin 改掉,這個之前也有教了就類似東西

去改 /etc/phpmyadmin/apache.confAlias /phpmyadmin /usr/share/phpmyadminAlias /你的原神UID /usr/share/phpmyadmin

之後重啟 systemctl restart apache2

https://piyan.cloud

https://i.ytimg.com/vi/qFWBoP5Zl-E/hqdefault.jpg