Kam vložit příkaz mount pro automatické spuštění
Dobrý den,
mám debián server ale nevím kam mám vložit příkaz mount --bind /media/shared/mydir /home/kuba pro automatické spuštění. Neví někdo? Díky
Dobrý den,
mám debián server ale nevím kam mám vložit příkaz mount --bind /media/shared/mydir /home/kuba pro automatické spuštění. Neví někdo? Díky
Zpět do poradny Odpovědět na původní otázku Nahoru
Ahoj,
rozumím dotazu správně máš disk a chceš aby byl natrvalo přidaný do systému ?? Pokud ano postupuj takto: pripojeni-noveho-harddisku-nebo-diskoveho-oddilu.
Ne, chci připojit pouze složku. ne disk.
standardne by mela byt konfigurace toho co chcete trvale primountovat v /etc/fstab
Vložený řádek
/media/shared/mydir /home/kuba none bind
nic nepřipojí po restartu
Máte to v návodu UID bude UID disku se systémem akorát místo /dev/sda5 bude úplná cesta ke sločce /dev/sdax/složka/. Napište co jste přidal do fstab.
Tady je návod a přímo dole je i příklad pro mount domovské složky ale je to to samé jako v předchozím návodu index.html
Díky ale to je zrovna jeden s těch návodů který není pro nikoho přínosem, nemá ani hlavu ani patu..
A kde je ten příkaz mount?
Do fstab se žádný mount příkaz nedává.
Á pardon, moje chyba.
A ty parametry none a bind?
https://www.abclinuxu.cz/clanky/system/na-co-se-casto-ptame-etc-fstab
A co je s těmi parametry?
No že v tom odkazu žádné takové parametery nejsou.
Třetí parametr by měl být souborový systém a čtvrtý další upřesňující parametr FS.
https://linux.die.net/man/8/mount
Ale fstab má jiné parametry než mount, ne?
/etc/fstab otevri pres nano
V fstab ten HDD deklaruj na zpusob:
Priklad pro HDD NTFS (popripade ntfs nahrad s ntfs-3g je-li nainstalovan):
Priklad pro HDD ext4:
Nebo :
Nejlepsi by bylo, kdyby jsi nechal ty tve HDD vypsat, a uvedl jak se ten disk prikazem fdisk -l zobrazuje (jmenuje) a kam ho chces namountovat.
Najprv si otestuj v príkazovom riadku či ti príkaz mount správne pripojí zložku.
Bývajú s tým problémy súvisiace s odstránením protokolu SMB1.
Manuálně funguje všechno ok
Mountujem takto:
https://ibb.co/bNFGtGF
Smerované to mám na skript v ktorom je príkaz mount.
Výhodnejšie a čistejšie je to ovšem takto:
https://ibb.co/yQJFhwh
Nemám GUI, je to server..
Používam Fedora systémy, ale aj na Ubuntu je to rovnako. Nutno dodať, že s GUI. Neviem či bez GUI je tam vôbec táto cesta.
~/.config/autostart
Voľakedy dávno existoval pre spúšťanie po štarte systému súbor rc.local
Keď sa tam dopísal príkaz mount, tak to fungovalo
Ešte by som mohol dodať, že pre systemd systémy je nutné rc.local povoliť. Normálne je vypnutý.
Prosím tě vypiš disky a napiš cestu a pošli screen co máě v fstabu.
K čemu? Žádný disk nepřipojuji.. Ale to už jsem psal..
Jestli ti jde jen o to, kam mas nejaky tvuj muj_prikaz.sh ulozit pro spusteni po spusteni PC tak treba do slozky /etc/init.d/
A dál? Stejně se po restartu nic nestane..
Tak ho oznac jako executable. Zkus to nasledovne :
Soubor je vytvořený, nastavené práva 700 a +x, stejně po restartu složka /home/kuba neobsahuje navíc žádné soubory.
Když spustím soubor /etc/init.d/tvuj_script.sh ručně, všechno funguje
Do toho skriptu si dopíš logovanie aby si vedel kde ti to skončí.
Typicky je nutné pre spúšťanie skriptov bez TTY písať k všetkým príkazom kompletnú cestu.
Premenná PATH je iná pre skripty spustené z príkazového riadku.
Nic se nespustí a log je prázdný :(
No najprv si v tom skripte musíš to logovanie doplniť aby si nejaký log videl.
Skript musí začínať týmto: #!/bin/bash ak používaš bash.
Pred príkaz mount si dopíš log=~/test.log
Na druhý riadok echo "Start" > $log
Za príkaz mount si dopíš echo "End: Status = $?" >> $log
Príkaz mount a echo doplň o kompletnú cestu.
Napríklad /bin/mount, podobne aj to echo.
Spusti skript v termináli a kukni do súboru ~/test.log. Zapamätaj si čo je tam napísané.
Vymaž súbor ~/test.log
Potom reštartuj a nechaj aby sa skript spustil po štarte systému.
Znova kukni do súboru ~/test.log. Porovnaj či sú tie výpisy rovnaké.
Status by mal byť 0 keď je príkaz mount vykonaný správne.
Ak nenájdeš súbor ~/test.log, tak sa skript ani nespustil.
Jak jsem psal, log je prázdný, naplní se pouze ručním spuštěním
V takom prípade je platný posledný riadok toho, čo som napísal.
Ten skript sa po reštarte nespustí. Musíš hľadať prečo.
Najdi si na google ako sa zapína na Debiane rc.local súbor.
Na Fedore je to takto:
Spristupnenie rc.local na systemoch Fedora18 und UP
# systemctl enable rc-local
# systemctl start rc-local
V pripade ze rc.local nestartuje treba skontrolovat: /etc/systemd/system/rc-local.service
Mal by vyzerat nasledovne: (mozno mu chyba sekcia Install:)
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.d/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Ja mám gentoo bez systemd a tam je potřeba kromě vložení spustitelního skriptu do /etc/init.d ještě na něj udělat odkaz (symlink) ze všech /etc/runlevels/xxx kde xxx jsou runlevely, ve kterých se má spustit (default, boot, shutdown, ....) a ten skript by měl obsahovat, na čem závisí (aby se spustil až potom ). (ten symlink se běžně dá udělat příkazem "rc-update add skript level" a zrušit "rc-update del skript level" , například "rc-update add tisk default" ).
I ostatní distribuce jako třeba redhat, mandrake, ... měly nějaký podobný mechanizmus
systemd to dělá nějak jinak, ale ten jsem nikdy aktivně nepoužíval
---
Jiná možnost je dát ten skript do /etc/local.d, ale pak musí být spustitelný a ještě navíc končit .start nebo .stop podle toho, zda se spouští při startu nebo ukončení. Skripty odsud se spouští při startu až jako poslední a při vypínání jako první.
a samozřejmě ten skript musí patřit rootovi.
---
v /etc/fstab musíš dodržet příslušnou syntaxi, která je jiná než u mount
mount --bind /media/shared/mydir /home/kuba
fstab imho spíš takto (pokud chceš noatime, čili NEzaznamenávat poslední čas ČTENÍ, ale jen modifikace - v současné době / posledních 10+ let skoro nic ten atime nepoužívá, a podporovat ho znamená furt psát na disk že se na ten soubor někdo podíval) :
# co-mountovat kam-mountovat jaký-fs parametry dump pass
/media/shared/mydir /home/kuba auto bind,noatime 0 0
---
Pokud to potřebuješ jen pro uživatele kuba, tak to může být i v /home/kuba/.bashrc nebo /home/kuba/.bash_profile, ale musíš si tam ohlídat, zda to už není namuontované a nemělo by to mít žádný výstup kvůli ssh a neinteraktivním shellům (a musel bys mít na to právo i ty)