Portál AbcLinuxu, 12. května 2025 04:28
Jestli to chcete při připojení disku i dávno po zapnutí, tak se podívejte, jak udev přidává pravidla pro pevné názvy disků nebo síťových rozhraní. Ale není to nic pro začátečníka.
Pokud to chcete více desktopové, podívejte se na udisk a na události, které chodí při připojení disku přes D-Bus.
Pokud to chcete jednorázově a velmi jednoduše, projděte si adresář /dev/disk/by-id.
tak ho naformátuje a připojí kamkoli do systému
Pěkně blbý požadavek. Takže ty zapojíš (externí) (pevný) disk dědečka, na kterém jsou třeba fotky, a on se automaticky zformátuje, protože bude "nový"?
PS: Radši nazývám věci pravými jmény: tzn. neříkám, že disk naformátuju, nýbrž že na něm vytvořím systém souborů.
1) Na jaké úrovni potřebuješ, aby se skript spustil?
a) dřív než nějaká služba:
- musíš si vytvořit spouštěcí skripty podle tvého systému (debian třeba "/etc/init.d/skript" a následně službu zapnout do nějakého runlevelu, viz manuál k initu v debianu). Podobně je to u jiných distribucí.
b) po spuštění systému
stačí přidat odkaz na tvůj script do "/etc/rc.local"
c) po přihlášení uživatele
Přidat script do "~/.bashrc" a pořešit sudo, aby měl skript práva
2) Vyřešit detekci nového disku
Zde by jsi si měl říci, co to ten nový disk vlastně je? Je to něco, co nemá záznamy v "/etc/fstab"? Nebo něco, co neobsahuje ani jednu partition? Nebo něco, co nekoresponduje s tvým seznamem (budeš si třeba někde držet seznam SN disků, které máš už v používání, nebo kombinaci PN(part number) a SN(serial number) ). Oboje zjistíš pomocí :
hdparm -I /dev/sda | grep 'Serial\ Number' hdparm -I /dev/sda | grep 'Model\ Number'Tzn., že ve skriptu by jsi si mohl projít všechny existující disky a porovnat u nich PN/SN s tvou databází. Ošetřit, co se stane, když se databáze/soubor poškodí, ošetřit, když ti program nic nevrátí a spoustu dalších věcí. Pokud chceš mít větší jistotu, tak si přidej do skriptu ještě checkování, zda nový disk již obsahuje nějakou partition a pokud ano, tak aby nic nedělal, což zase můžež zjistit třeba takto (vypíše počet partition):
sfdisk --dump /dev/sda |grep start |wc -l3) Spustit sadu na rozkrájení a připojení hdd
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.