Puncte:3

Trebuie să automatizez sarcina de formatare și montare a unui SSD atunci când Ubuntu 20.04 LTS pornește

drapel us

Folosesc un SSD local în Google Cloud Platform, iar caracteristica SSD-ului local furnizat de Google este că utilizatorul trebuie să-l reformateze și să-l monteze de fiecare dată când utilizatorul repornește sistemul de operare: https://cloud.google.com/compute/docs/disks/add-local-ssd#formatmultiple

Am vrut să automatizez acest lucru pentru că este enervant să faci asta manual de fiecare dată când sistemul repornește. Așa că am creat un script în /etc/init.d/automountssd.sh

#!bin/bash
sudo mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/nvme0n1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4
sudo mkfs.ext4 -F /dev/md0
sudo mount /dev/md0 /root/Downloads/

Apoi atribuiți permisiuni: chmod 775 /etc/init.d/automountssd.sh

Și l-am înregistrat ca autorun: update-rc.d automountssd.sh valorile implicite

Și după repornire, nu s-a întâmplat nimic. :(

Rezolvat: am urmat răspunsul lui alfajorcito și acesta funcționează perfect pe platforma GCP.

Mai întâi i-am urmat sfatul și am schimbat #!bin/bash în #!/bin/bash. Și înregistrați-l ca serviciu făcând următoarele: nano /etc/systemd/system/automountssd.service

[Unitate]
Descriere=montare automată pentru SSD local GCP

[Serviciu]
Type=onehot
ExecStart=/etc/init.d/automountssd.sh
TimeoutStartSec=0

[Instalare]
WantedBy=multi-user.target

Și porniți serviciul automat la pornire și rulați serviciul: sudo systemctl enable automountssd && sudo systemctl start automountssd

Acum, de fiecare dată când sistemul de operare este pornit, SSD-ul va fi formatat automat, configurat și montat Raid :)

Puncte:3
drapel aw

Shebang-ul tău lipsește o bară oblică (adică ar trebui să fie #!/bin/bash nu #!bin/bash) - dar în afară de asta, altceva este dezactivat (nu sunt sigur ce anume) - am încercat să reproduc asta cu un simplu shell script care conține o singură comandă echo, dar tot nu a funcționat...

Cu toate acestea, am reușit să execut automat scriptul după repornire folosind unități systemd, așa că poate ați putea încerca să faceți ceva similar? Nu am un cont GCP, așa că nu pot garanta că acest lucru vă va rezolva problema SSD-ului local, dar următoarele au funcționat pe Ubuntu 20 pe OCI:

# Verificarea versiunii Linux
ubuntu@e2-micro-2:~$ uname -a
Linux e2-micro-2 5.11.0-1028-oracle #31~20.04.1-Ubuntu SMP miercuri 26 ianuarie 14:17:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

# conținut script
ubuntu@e2-micro-2:~$ cat /etc/init.d/check-if-this-works.sh
#!/bin/bash
echo 'verifica' >> /tmp/checkme

# permisiuni de script
ubuntu@e2-micro-2:~$ ls -l /etc/init.d/check-if-this-works.sh
-rwxrwxr-x 1 ubuntu ubuntu 41 19 februarie 08:26 /etc/init.d/check-if-this-works.sh

# conținutul unității systemd
ubuntu@e2-micro-2:~$ cat /etc/systemd/system/checkme.service
[Unitate]
Description=Verifică-mă

[Serviciu]
Type=onehot
ExecStart=/etc/init.d/check-if-this-works.sh
TimeoutStartSec=0

[Instalare]
WantedBy=multi-user.target

# confirmați că fișierul de ieșire lipsește înainte de repornire
ubuntu@e2-micro-2:~$ ls -l /tmp/checkme
ls: nu poate accesa „/tmp/checkme”: nu există un astfel de fișier sau director

# reîncărcați demonul systemd și activați serviciul
ubuntu@e2-micro-2:~$ sudo systemctl daemon-reload
ubuntu@e2-micro-2:~$ sudo systemctl enable checkme

# reporniți și verificați dacă scriptul a fost executat cu succes la pornire
ubuntu@e2-micro-2:~$ sudo reboot
(ssh înapoi la server)
ubuntu@e2-micro-2:~$ cat /tmp/checkme
Verifica
drapel us
Fantastic! lucru! După cum ați spus, am înregistrat automountssd.sh ca serviciu, iar acum SSD-ul este formatat, atacat și montat automat la momentul pornirii. Mulțumesc foarte mult! XD

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.