---
# System prepended metadata

title: Linux notes
tags: [NCKU]

---

# Linux notes

###### tags: `NCKU`

## inode
```
In fileA fileB // 硬連結，會把兩個檔案指到同一個 inode
In -s fileC fileD // 軟連結，會把兩個檔案指到另外一個檔案，而該檔案則會指到另一個 inode

用此方法可以跨分割區
```

## Protective MBR
是為了相容性考量而設計的第一個邏輯磁區，主要設計目的在用來避免那些不支援 GPT 的硬碟管理工具由於錯誤識別而破壞硬碟中的資料，因此稱為保護 MBR。

![](https://i.imgur.com/znKmBc6.png)

## 檔案系統
a. 檔案系統損壞可以透過 ```fsck``` 指令修復檔案，運行該指令後執行 reboot 即可
b. 日誌文件系統分配了一個稱為日誌（journal）的區域來提前記錄要對文件系統做的更改。在崩潰後，只要讀取日誌重新執行未完成的操作，文件系統就可以恢復一致，因此可以較快恢復。

## Systemd unit file
```shell=
[Unit]
Description=Midterm

[Service]
Type=oneshot
ExecStart=/usr/local/bin/midterm start
# ExecStop=/usr/local/bin/midterm stop
# RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
```

## RAID 5 故障時還是有可能資料完全遺失
RAID 5 Configuration 架構本身最少需要透過3台硬碟機來構成，每個 Disk 其中一部份是Parity Blocks，非單獨一台硬碟，而是平均分散在各硬碟內。因此如果壞掉的硬碟大於 $\frac {2}{3}$ 時，就會造成資料遺失。


## crontab 的格式如下：
分 時 日 月 星期 要執行的指令
例如:

30 12   *   *   *       /usr/bin/rm xxx.txt

## 更改 sudoers 

visudo 可以更改 sudoers 的配置
visudo => fedro www,www2=(root) 指令1,指令2,指令3,指令4
eg. patrick dbserver=(mysql) /usr/sbin/*


## 分割硬碟的步驟
先用 fdisk 來分割硬碟
並用 mkfs -t ext4 /dev/sdb 來格式化建立檔案系統
再用 mount 指令掛載該硬碟

