mājas - Maršrutētāja iestatīšana
FreeBSD: NFS un SMBFS failu sistēmu automātiska montāža, izmantojot AMD. FreeBSD failu sistēma: hierarhija un montāžas punkti, diska lietošana

Sadalījumu un failu sistēmu izveide tajās ir sagatavošanās jautājums diska vietas nebeidzas lietošanai. Visas izveidotās failu sistēmas ir jāpadara pieejamas arī FreeBSD. Kāpēc tie būtu jāmontē - tas ir, jāiekļauj vienā direktoriju un failu hierarhijā, ko arī apzīmē ar failu sistēmas nosaukumu. Tomēr, ja agrāk mēs runājām par datu fizisko organizāciju, tagad ir pienācis laiks iepazīties ar tās loģiku.

Failu sistēmas loģika

Loģiski, ka FreeBSD failu sistēma (tāpat kā jebkura Unix sistēma) ir sakārtota pēc koka principa: tās pamatā ir sakne (saknes direktorijs, kas apzīmēts ar simbolu / un saukts arī par saknes direktoriju; pēdējo nevajadzētu sajaukt ar / saknes direktoriju, kas kalpo kā superlietotāja mājas direktorijs).

No saknes direktorija, kas var būt vairāk kā koka stumbrs, ir zari - apakšdirektorijas, kas ligzdotas tajā, un dzinumi - parastie faili. Tomēr pēdējo ir maz: FreeBSD versijās tas ir noteikts entropijas fails (/entropy) un fails, kas apraksta sistēmas autortiesības /COPYRIGHT.

Bet saknes direktorijā ir diezgan daudz apakšdirektoriju, un daži no tiem iekšpusē ir sakārtoti ļoti sarežģīti, saturot diezgan daudz dziļāku līmeņu ligzdotu apakšdirektoriju.

Principā direktoriju hierarhija visās Unix sistēmās ir līdzīga, jo to regulē, pirmkārt, senas tradīcijas un, otrkārt, visu veidu standartizējošie dokumenti, jo īpaši FHS (Filesystem Hierarchy Standard), kas tagad ir pieejams tulkojums krievu valodā (par ko paldies Viktoram Kostrominam).

FHS standarts sākotnēji tika izstrādāts, lai racionalizētu direktoriju struktūras vairākos Linux izplatījumi. Un tikai vēlāk tas tika pielāgots citām Unix līdzīgām sistēmām (ieskaitot BSD klanu). Tomēr tieši FreeBSD direktoriju hierarhija var kalpot par piemēru priekšzīmīgai FHS gara ievērošanai. Un burtiski atsevišķas novirzes tajā no tā burta vienmēr ir funkcionāli noteiktas.

FHS standarts balstās uz diviem pamatprincipiem - skaidru nošķiršanu failu hierarhijā koplietoto un nekoplietoto direktoriju, no vienas puses, un nemainīgu un mainīgu, no otras puses.

Kontrasts starp koplietotajiem un nedalītajiem direktorijiem ir saistīts ar Unix raksturīgo tīkla raksturu kopumā un jo īpaši FreeBSD. Tas nozīmē, ka ar vietējo iekārtu saistītie dati (piemēram, tās ierīču konfigurācijas faili) jāatrodas direktorijās, kas ir atsevišķi no tiem, kuru saturs ir pieejams no citām iekārtām tīklā, lokālā vai globālā (kuru piemērs ir ne tikai lietotājs datus, bet arī programmas).

Nemainīgo un mainīgo direktoriju kontrasta būtību var viegli izskaidrot ar piemēru. Tādējādi vienādām lietotāju programmām pēc savas būtības ir jābūt nemaināmām (pareizāk sakot, modificēšanai pieejamām tikai sistēmas administratoram, bet ne pašam lietotājam, kurš tās izmanto savā darbā). Tajā pašā laikā šīs programmas darbības laikā ģenerē ne tikai datu failus, teiksim, tekstus vai attēlus (to mainīgais raksturs ir skaidrs bez komentāriem), bet visu veidu pakalpojumu informāciju, piemēram, žurnālfailus, pagaidu failus un patīk). Kurus vajadzētu sagrupēt direktorijās, kas ir atdalīti no reālajiem programmu izpildāmajiem failiem, bibliotēkām, konfigurācijas failiem utt., kas nepieciešami to palaišanai.

Stingra koplietojamo un nekoplietojamo, nemainīgo un nemaināmo direktoriju atdalīšanas koncepcijas ievērošana ļauj vienā kokam līdzīgā failu hierarhijā fiziski izolēt tā atsevišķos zarus, tas ir, neatkarīgu failu sistēmu veidā, kas atrodas izolētas ierīces (diski, diska šķēles, nodalījumi; vispārīgā gadījumā - un uz attāliem, tīklam pievienotiem datu nesējiem, bet tas netiks apspriests tagad). Tam ir daudz iemeslu — ātruma palielināšana, uzticamības palielināšana un vienkārši ērtības apsvērumi, taču mēs par tiem tagad nerunāsim. Jo tagad mums ir svarīgi tikai tas, ka šie failu koka zari ir jāiekļauj kopējā failu sistēmā.

Unix sistēmās katru failu (ieskaitot direktoriju) sistēma atpazīst nevis pēc tā nosaukuma, bet gan pēc tā ieraksta tabulā unikālā identifikatora. inodes. Ir rīki, lai skatītu šos failu ID. Viena no tām ir komanda ls ar opciju -i, kas izdrukās katra nosauktā faila ID. Dots saknes direktorijam -

$ ls -i /

tas parādīs mums nedaudz negaidītu attēlu (lai vienkāršotu izvadi, informācija par parastajiem failiem un simboliskajām saitēm saknē tiek izslēgta no izvades, un pārējie direktoriji tiek sakārtoti pēc to identifikatoriem):

2 ../ 2 ./ 2 dev/ 2 home/ 2 tmp/ 2 usr/ 2 var/ 3 cdrom/ 4 mnt/ 5 root/ 8257 dist/ 8258 bin/ 8294 proc/ 8295 sbin/ 16512 stand/ 242768 utt. boot/

No šī piemēra (kas attiecas uz tās mašīnas failu sistēmu, kurā ir rakstītas šīs rindas) ir skaidrs, ka pat 7 direktorijiem ir vienādi digitālie identifikatori, kas ir vienādi ar 2. Jautājums ir, kāda šeit ir unikalitāte?

Pirmie divi saraksta elementi ir viegli saprotami: ./ apzīmē pašreizējo direktoriju (šajā gadījumā sakni), un ../ ir pašreizējā direktorija vecākais direktorijs; un tā kā pēc definīcijas failu hierarhijā nav nekā virs saknes, pēdējais apzīmē sevi. Tāpēc nav pārsteidzoši, ka ./ un ../ ir viens un tas pats identifikators - tie ir dažādi apzīmējumi (cietās saites vai, citiem vārdiem sakot, dublēti nosaukumi) vienam un tam pašam, saknei, direktorijam.

Bet tas pats, kā šķiet no pirmā acu uzmetiena, ir jāpaskaidro direktoriju /dev, /home, /tmp, /usr, /var identifikatora nozīme. Tomēr tas ir vienkārši: tie visi ir direktoriji, kuros ir uzstādītas neatkarīgas failu sistēmas, vai nu atrodas atsevišķās ierīcēs - diska nodalījumos, piemēram, /home, /usr, /var direktorijās vai virtuālās failu sistēmās, kas netiek veidotas uz jebkura reāla diska ierīce ( /dev direktorijs ar ierīces failu sistēmu un šajā gadījumā /tmp direktorijs, kurā failu sistēma ir uzstādīta brīvpiekļuves atmiņa, kas vēl ir jāapspriež). Un kopš galda inodes- katrai failu sistēmai atšķiras, nav pārsteidzoši, ka katras no tām sakne tiek identificēta ar skaitli 2 - numerācija inodes tajos iet savā atskaites sistēmā.

Tātad montāža ir faila iekļaušana no sistēmas jebkurā no sakņu sistēmā esošajiem direktorijiem (ne vienmēr tieši saknē, tai var būt jebkura ligzdošanas pakāpe, kas parādīts tālāk). Bez tā šādas uzstādītas sistēmas direktoriji un faili ir vienkārši nepieejami. Tas ir svarīgi saprast, kad saskaraties ar tādiem izteicieniem kā "izveidot /usr failu sistēmu". No iepriekš minētā ir acīmredzams, ka tas, kas tiek izveidots (ar komandu newfs), ir vienkārši kaut kāda abstrakta failu sistēma, un tā iegūst savu “nosaukumu” tikai uzstādīšanas brīdī norādītajā direktorijā.

Interesanti, ka montāžas direktorija identifikators (saukts arī par stiprinājuma punktu) tiek atrasts tikai montāžas laikā. Lai to pārbaudītu, veiksim vienkāršu eksperimentu. Direktorijā /mnt, kas īpaši paredzēts īslaicīgi uzmontētu failu sistēmu montāžai) var redzēt trīs apakšdirektorijas - /mnt/disk, mnt/iso, /mnt/usb (tas ir manā sistēmā, es tos izveidoju savām ērtībām; Sākotnēji /mnt direktorija FreeBSD ir tukša). Kad sistēma startē, tajos nekas nav uzstādīts, un to parastajam stāvoklim jābūt tukšam. Ja paskatās uz viņu identifikatoriem, jūs varat redzēt kaut ko līdzīgu:

$ ls -i /mnt 18 disks / 24 iso / 19 usb /

Tagad paņemsim un uzstādīsim zibatmiņas disku ar USB interfeisu mapē /mnt/usb (tieši tam es to paredzēju) un atkārtosim skatīšanos. Un mēs redzam:

18 diski/ 24 iso/ 2 usb/

Tas nozīmē, ka direktoriju, kas palika tukši (/mnt/disk un /mnt/iso), identifikatori nemainījās, bet direktoriju identifikators /mnt/usb maģiski mainījās uz 2. Jo montāžas brīdī tas kļuva par sakni sava failu sistēma un atskaites punkts aprēķinam inodes visus tajā ierakstītos failus.

Nedaudz novirzīsimies un atcerēsimies par cietajām saitēm, caur kurām tas pats inode un ar to saistītajiem datu blokiem var piešķirt dažādus nosaukumus. Tagad ir skaidrs, kāpēc visiem šādiem dublētiem failiem jāatrodas vienā failu sistēmā: galu galā dažādām failu sistēmām ir sava, neatbilstoša numerācija inodes, un nav iespējams tos identificēt pēc cipariem (pretējā gadījumā, kā sistēma atšķirtu /usr un /var direktorijus no mūsu piemēra - galu galā tai nerūp failu nosaukumi). Par simboliskām saitēm, kurām ir savas inode(patiesībā gandrīz nekas, izņemot tos) ar to identifikatoriem, kas numurēti tās failu sistēmas atsauces rāmī, kurā tie atrodas, šādu ierobežojumu nav. Un simboliskās saites var atrasties jebkur (arī attālā mašīnā - ne tikai citā nodalījumā).

Tomēr atgriezīsimies pie mūsu saknes direktorija piemēra. No visa aplūkotā ir skaidrs, ka vairākas tās filiāles atrodas uz atsevišķām starpsienām un veido savas failu sistēmas (patiesībā tieši tāpēc mēs tās abas izveidojām). Un tāpēc tie visi ir jāuzstāda.

Montāžas prakse

Montāžas mērķi nodrošina mount komanda, kas tiek izpildīta automātiski sistēmas sāknēšanas laikā vai manuāli no komandrinda. Faktiski pilnā nozīmē jebkurā gadījumā automātiski tiek uzstādīta tikai saknes failu sistēma. Tam nav jābūt diskā — sākot no glābšanas kompaktdiska vai cita drošības datu nesēja, to var atrast virtuālais disks RAM.

Tomēr saknes failu sistēmas uzstādīšanas process ir tikpat neizbēgams kā sociālisma uzvara globālā mērogā: tāpat kā sociālisms, neuzvarot globālā mērogā, vienkārši zaudē spēju pastāvēt (ko mēs nesen novērojām), tā var OS pastāv bez sakņu sistēmas nevar. Operētājsistēmā Linux tas izraisa kodola panikas režīmu — aptuveni tādu stāvokli, kādā mūsu līderi iekrita pirms aptuveni 20 gadiem. Tiesa, tās izrādījās stiprākas par Linux un diezgan ātri atkopās - tātad mūs joprojām pārstartē (vai pārstartē? - bet mēs kļūstam stiprāki :)). Tomēr tas neattiecas uz montāžas problēmu, kuru es mēģināšu jums tagad iepazīstināt.

Tātad, lai uzstādītu visas failu sistēmas, izņemot saknes, jums ir jāveic dažas darbības. Vispirms apskatīsim, kā tos izdarīt manuāli, un pēc tam kā tos iemūžināt atbilstošajos konfigurācijas failos.

Tātad, mount komanda. Patiesībā šī ir vesela programmu saime, no kurām katra ir paredzēta noteikta veida failu sistēmu uzstādīšanai - ne tikai UFS, bet arī jebkurai no FreeBSD atbalstītajām failu sistēmām. To saraksts ir diezgan plašs – priekšstatu par to var iegūt, apskatot /sbin direktoriju:

$ ls -1 /sbin/mount*

ko mums atbildēs

/sbin/mount_cd9660* /sbin/mount_devfs* /sbin/mount_ext2fs* /sbin/mount_fdescfs* /sbin/mount_linprocfs* /sbin/mount_mfs* /sbin/mount_msdosfs* /sbin/mount_nfs* /sbin_mont_fsfs /sbin/mount_nullfs* /sbin/mount_procfs* /sbin/mount_std* /sbin/mount_udf* /sbin/mount_umapfs* /sbin/mount_unionfs*

Katra komanda šajā sarakstā ir atbildīga par cita veida failu sistēmas uzstādīšanu, pie dažām no kurām mēs atgriezīsimies vēlāk. Pagaidām atzīmēsim tikai pašu /sbin/mount, kas paredzēts darbam ar UFS un UFS2.

Lai to izsauktu no komandrindas, ir nepieciešami divi argumenti - montējamās ierīces nosaukums un piestiprināšanas punkts (tas ir, direktorijs, kurā jāmontē pamatā esošā failu sistēma). Ierīces nosaukumā ir jānorāda patrīcija, kas jau ir kartēta esošajā BSD slānī ar tajā izveidoto UFS2 failu sistēmu (UFS), piemēram,

$ mount /dev/ads0d /usr

pievieno failu sistēmu norādītajā nodalījumā failu koka saknes direktorijā /usr. Ja ierīcē nav izveidota failu sistēma vai tās tips nav UFS/UFS2, tiks parādīts kļūdas ziņojums, kas norāda uz nepareizu superbloku: atšķirībā no tāda paša nosaukuma Linux utilīta, FreeBSD mount komanda pati nevar atpazīt failu. sistēmas tips.

Montāžas punktam tiek izvirzītas šādas prasības: a) uzstādīšanas laikā ir jābūt direktorijam ar tādu pašu nosaukumu un b) tam jābūt pēc iespējas tukšam. Pirmais ir obligāts, bet otrais nav pilnīgi taisnība. Uzstādīšana direktorijā ar jebkuriem failiem noritēs bez problēmām (atceros, ka Linux ne tik sen tas izraisīja sistēmas avāriju), taču viss tā saturs kļūs nepieejams, līdz tas netiks atmontēts. Un, ja tajā esošajiem failiem ir nozīmīga loma jebkurā apakšsistēmā, tas var izraisīt dažādas sliktas sekas. Piemēram, ja /tmp direktorija saturs tika bloķēts, tajā ievietojot failu sistēmu, kamēr darbojas X logu sistēma, iespējams, X servera avārija. Par laimi, ja nepieciešams, varat veikt kombinētu stiprinājumu (skatīt zemāk).

Norādītajā formā montāža tiks veikta ar dažiem noklusējuma parametriem: failu sistēma tiks lasīta/rakstīta tā sauktajā režīmā. noasync (tas pats, kurā metadatu darbības tiek veiktas sinhroni, un darbības ar datiem tiek veiktas asinhroni). Šo pozīciju var mainīt, izmantojot opcijas -o vērtības. Viņu ir diezgan daudz, bet praktiski galvenie šajā posmā mums būs:

  • async - nodrošinās pilnīgi asinhronu režīmu (neskatoties uz šausmīgajiem brīdinājumiem iepriekšējos ierakstos, vēlāk runāšu par situāciju, kad tas varētu būt attaisnojams);
  • sinhronizācija - gluži pretēji, iespējojot pilnībā sinhronu režīmu (lai gan es īsti nesaprotu, kāpēc tas ir praktiski nepieciešams);
  • noatime ir ļoti noderīga opcija, kas neļauj atjaunināt faila pēdējās piekļuves laika atribūtu, kas ievērojami uzlabo veiktspēju;
  • rdonly - pievieno failu sistēmu tikai lasīšanas režīmā (dažreiz tas ir nepieciešams);
  • union ir tā pati opcija, kas ļauj veikt savienojuma pievienošanu, kurā paliek redzams iepriekšējais pievienošanas punkta direktorijas saturs; taisnība - ar dažiem ierobežojumiem - skatiet man (8) mount .

Ir vairākas citas opcijas -o vērtības, kas aizliedz uzstādītā failu sistēmā ievietot noteikta veida failus, piemēram, izpildāmos failus (-o noexec), ierīces failus (-o nodev) vai failus ar - sauca. mazliet pašnāvības. Tomēr tiem ir praktiska nozīme galvenokārt serveru administratoriem un kalpo drošības nolūkos. Galddatorā parastais montāžas veids būtu aptuveni šāds:

$ mount -o noatime /dev/ads0d /usr; $ mount -o noatime /dev/ads0e /var; $ mount -o noatime /dev/ads0f /home

Viss iepriekš minētais attiecas tikai uz FreeBSD failu sistēmu montāžu. Tomēr praksē bieži vien ir nepieciešams iekļaut cita veida failu sistēmas savā direktoriju kokā. Īpaši bieži tas ir nepieciešams ISO9660 (parastā failu sistēma visiem kompaktdiskiem, izņemot Mac) un dažāda veida FAT. Šajā gadījumā attiecīgā mount komanda ir skaidri jāizsauc, piem.

$ mount_cd9660 /dev/acd0 /cdrom

kompakta montāžai, vai

$ mount_msdosfs /dev/ad## /mnt

jebkura veida FAT (ieskaitot FAT32, taču to var izdarīt arī netieši, mount komandai norādot opciju -t file_system_type).

$ mount -t ext2fs /dev/ad## /mnt/linux

mounts fails Linux sistēma(ja atbilstošā funkcija ir iekļauta kodolā). Šajā gadījumā BSD nodalījumu standarta stiprinājums tiek vienkārši aizstāts ar komandu /mount_ext2fs, kas paredzēta ext2fs nodalījumu pievienošanai (un arī ext3fs - bet, protams, bez žurnāla funkcijām). Tas ir, forma

$ mount -t fstype ... ...

būs pilnīgs komandas ekvivalents

$mount_fstype ... ...

Visām operācijām, kas saistītas ar failu sistēmu montāžu (tostarp uz noņemamo datu nesēju) FreeBSD, ir nepieciešamas superlietotāja tiesības. Opcijas -o vērtības šeit, atšķirībā no mount komandas Linux versijas, neietver -o lietotāja parametru, kas ļauj montēt parastajiem lietotājiem. Tiesa, ir vairāki veidi, kā to apiet, kā aprakstīts īpašā piezīmē.

Automātiskās montāžas iestatīšana

Tomēr praksē manuāla montāža tiek izmantota tikai reti izmantotām failu sistēmām. Visas failu sistēmas, kas ir fundamentāli svarīgas FreeBSD darbībai, tiek montētas automātiski sistēmas startēšanas laikā, un bieži lietotās tiek montētas pusautomātiskā, tā teikt, režīmā.

Automātiskai montāžai procesa laikā tiek palaista montāžas programma. bootstrap no inicializācijas skriptiem. Tas meklē savu konfigurācijas failu - /etc/fstab un pievieno visu, ko tajā atrod, ar dažiem izņēmumiem (apspriests tālāk).

Pats fails /etc/fstab tiek ģenerēts automātiski, kad ir instalēts FreeBSD, ieskaitot visas failu sistēmas, kas nepieciešamas, lai nodrošinātu dzīvību. Tomēr nākotnē to varēs rediģēt manuāli, lai pievienotu jaunas ierīces montāžai vai papildu opcijas jau iespējotām ierīcēm.

Fails /etc/fstab ir vienkārša datu bāze teksta formātā(lauki, kas atdalīti ar atstarpēm vai tabulēšanas zīmēm), tostarp šādi lauki:

  • Ierīce - tās ierīces faila nosaukums, kurā atrodas failu sistēma, līdzīgs mount komandas pirmajam argumentam, ja to lieto manuāli;
  • Mountpoint - mount point (atbilst mount komandas otrajam argumentam);
  • FStype - failu sistēmas tips, kas norādīts arī kā opcijas -t vērtība;
  • Opcijas - papildu montāžas iespējas, līdzīgas opcijas -o vērtībām;
  • Izgāztuve - izpildes nosacījumi Rezerves kopija failu sistēmas utilīta dump utilīta;
  • Pass# - nosacījumi failu sistēmas pārbaudei ar fsck utilītu.

Tikko instalētā FreeBSD /etc/fstab obligāti ietvers šādus ierakstus (piemērs galvenā diska pirmajai daļai 1. IDE kanālā):

# Ierīces piestiprināšanas punkta FStype opcijas Dump Pass# /dev/ad0s1a / ufs rw 1 1 /dev/ad0s1b nav swap sw 0 0

Ja sekojat saprātīgu cilvēku ieteikumiem (un sysinstall noklusējuma iestatījumiem) un saknē atlasāt dažus failu sistēmas atzarus, ieraksti, piemēram,

/dev/ad0s1d /var ufs rw 0 0 /dev/ad0s1e /usr ufs rw 0 0 /dev/ad0s1f /tmp ufs rw 0 0

/dev/ad0s1g /home ufs rw 0 0

atbildīgs par failu sistēmu ar lietotāja mājas direktorijiem.

Acīmredzot laukā Opcijas varat pievienot visas pieejamās (un saprātīgās) opcijas -o vērtības (atdalītas ar komatiem, bez atstarpēm), piemēram, noatime visām failu sistēmām un /tmp - arī async , jo šī direktorija saturs pēc pārstartēšanas nav jāsaglabā.

Iepriekš minētais attiecas uz failu sistēmām, kas tiek montētas automātiski startēšanas laikā. Taču neviens netraucē veikt ierakstus /etc/fstab sistēmām, kuras ik pa laikam tiek pieslēgtas - šajā gadījumā tās var montēt pēc vienkāršotas shēmas (to es iepriekš domāju ar pusautomātisko režīmu). Tātad CD diskdzinī varat pievienot rindiņu (patiesībā tā tiek parādīta automātiski, ģenerējot /etc/fstab failu, ja CD tika atlasīts kā sysinstall instalācijas avots)

/dev/acd0 /cdrom cd9660 ro,noauto 0 0

kurā opcijas, kā jūs varētu nojaust, nosaka atteikšanos montēt startēšanas laikā (noauto) un tikai lasīšanas režīmu (ro). Pēc tam, lai uzstādītu kompaktdisku, pietiks norādīt tikai montāžas punktu -

$mount/cdrom

vai. gluži pretēji, ierīces faila nosaukums

$ mount /dev/acd0

Līdzīgus ierakstus var veikt visiem noņemamajiem diskdziņiem (Zip, USB diskdziņi, pat disketes) un nodalījumiem, kas nav BSD (FAT vai Ext2fs). Starp citu, failu sistēmas var montēt, izmantojot vienkāršotu shēmu uzreiz pēc izmaiņu veikšanas failā /etc/fstab, negaidot mašīnas atsāknēšanu.

Nomontēšana

Pirms iekārtas izslēgšanas vai restartēšanas visas iesaistītās failu sistēmas ir jāatvieno. Pēc graciozas izslēgšanas tas tiek darīts automātiski, kā rezultātā katra rakstāmā failu sistēma saņem tīru atvienošanas bitu, kas ierakstīts savā superblokā. Šī bita klātbūtne neļauj fsck utilītai pārbaudīt failu sistēmu konsekvenci nākamajā sistēmas palaišanas reizē.

Tomēr vairākos gadījumos (piemēram, pieslēdzot vai atvienojot Soft Updates mehānismu vai veicot integritātes pārbaudi), rodas nepieciešamība manuāli atvienot (un atkārtoti savienot) failu sistēmas, kurām tiek izmantota komanda umount. Tam nepieciešams viens arguments - no direktoriju koka "noņemtās" failu sistēmas pievienošanas punkta norādīšana, piemēram:

$umount/tmp

vai, tāpat kā pusautomātiskās montāžas gadījumā, “izslēgšanas” ierīces faila nosaukums:

$ umount /dev/ad#s#?

Varat atvienot vairākas failu sistēmas ar vienu rindiņu:

$ umount /usr /var /home

Vai arī varat — visas pievienotās failu sistēmas vai visas failu sistēmas, kas norādītas /etc/fstab failā (izņemot sakni), kurām būs nepieciešamas opcijas

$ summa -A

$ summa -a

attiecīgi. Ir iespējams arī atvienot noteikta veida failu sistēmas, norādot opcijas -t vērtības. Jā, komanda

$ umount -t ufs

atvienos tikai BSD nodalījumus, neietekmējot CD un visu pārējo, kas ir saistīts ar sistēmu.

Failu sistēmas nedrīkst tikt izmantotas atvienošanas laikā, tas ir, nedrīkst piekļūt tajās esošajiem failiem. Tātad atrašanās jebkurā failu sistēmas direktorijā ir pietiekams iemesls, lai atteiktu to atvienot (ar ziņojumu, piemēram, ierīce aizņemta), tāpēc neviena no iepriekš minētajām komandām nevarēs atvienot saknes failu sistēmu. Iemesls atvienošanas atteikumam būs datu faila nolasīšana, ko veic jebkura programma - tāpat kā faila dzēšanas gadījumā, faila deskriptors, kas atvērts ar jebkuru procesu, to neļaus.

Tomēr jūs varat arī atmontēt izmantoto failu sistēmu - lai to izdarītu, jums būs jāizdod komanda umount ar opciju -f (no piespiedu - tas ir, ar spēku). Tiesa, tas var izraisīt kļūdas, tāpēc labāk to neizmantot, ja vien tas nav absolūti nepieciešams. Un piespiedu atvienošanas opcija neietekmēs saknes failu sistēmu.

Lielapjoma stiprinājums

Lai turpinātu darbu pēc zema līmeņa operāciju veikšanas failu sistēmās, tās būs jāmontē atpakaļ. To var izdarīt ne tikai bez pārstartēšanas, bet arī bez garlaicīgas individuālas montāžas. Vienkārši izmantojiet opciju -a:

$mount -a

caur kuru tiks montētas visas failu sistēmas, kurām ir ieraksti /etc/fstab. Šajā gadījumā tiks mēģināts uzstādīt tos, kas ir apzīmēti ar noauto karogu. Lai no tā izvairītos, varat sīkāk definēt failu sistēmas tipu. Tas ir, komanda

$ mount -a -t ufs

montēs tikai BSD nodalījumus, neiejaucoties kompaktdiskus vai zibatmiņas diskus. Vai, gluži pretēji, jūs varat izslēgt no globālā montāžas procesa dažas failu sistēmas, kas norādītas mapē /etc/fstab, piemēram, pašlaik nevajadzīgos FAT:

$ mount -a -t nomsdosfs

Preambula noslēguma vietā

Starp citu, komanda mount bez opcijām un argumentiem (un šajā formā, atšķirībā no visiem iepriekš apskatītajiem gadījumiem, to var dot parasts lietotājs) parādīs pašlaik pievienoto failu sistēmu sarakstu, norādot pievienošanas punktu, tā nosacījumus un darbības režīms. Piemēram, mašīnai, kurā ir rakstītas šīs rindas, tās izvade izskatīsies šādi:

/dev/ad0s1a on / (ufs, local, noatime, soft-updates) devfs uz /dev (devfs, local) /dev/ccd0e uz /var (ufs, local, noatime, soft-updates) /dev/ccd1e on / usr (ufs, local, noatime, soft-updates) /dev/ccd2e vietnē /home (ufs, local, noatime, soft-updates) /dev/md0 uz /tmp (ufs, local, noatime, async)

Pirmajā izvades rindā redzams, ka /dev/ad0s1a nodalījums ir uzstādīts mūsu saknes direktorijā, tajā ir UFS failu sistēma (konkrēti šajā gadījumā - UFS2, bet mount komandas izvadā tie neatšķiras) ar Soft Updates. mehānisms ir iespējots, ir lokāls (tas ir, atrodas šīs iekārtas diskā - tīkla diskdziņi arī pievienots ar komandu mount), un uz to neattiecas atribūta atime atjaunināšana.

$ vairāk /etc/fstab /dev/ad0s1b none swap sw 0 0 /dev/ar0s1b nav swap sw 0 0 /dev/ad0s1a / ufs rw,noatime 1 1 /dev/ccd0e /var ufs rw,noatime 2 2 /dev/ ccd1e /usr ufs rw,noatime 2 2 /dev/ccd2e /home ufs rw,noatime 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 /dev/da0s1 /mnt/usb ext2fs rw,noauto,0 /time dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

tad mēs redzēsim, ka viena no izvades līnijām

Devfs vietnē /dev (devfs, vietējais)

Viņa ierakstos vispār nav sarakstes. Kas ir šīs ierīces un failu sistēmas?

Izmantojot komandas, varat mainīt failu un direktoriju piekļuves tiesības un īpašnieku chmod Un čown. Maska tiesību iestatīšanai uz izveidotos failus, var mainīt globāli, in /etc/profils Linux un /etc/login.conf priekš FreeBSD. Parasti noklusējuma maska 022 . Nozīme umask atņemts no 777 , tāpēc atļaujām būs nozīme 755 . izpildītājs - izpilde atļauta lasīt - lasīšanas atļauja rakstīt - rakstīšanas atļauja SUID bits - faila atribūts kopā ar izpildāmā faila atribūtu ļauj izpildīt failu ar faila īpašnieka faktisko UID, nevis ar to, kurā darbojas fails. 1 --x izpildīt # Atļaujas 764 = izpildīt/lasīt/rakstīt | lasīt/rakstīt | lasīt 2 -w- rakstiet # Priekš: |-- Īpašnieks --| |-Grupa-| |Cits| 4 r-- lasīt ugo=a u = lietotājs, g = grupa, o = citi, a = visi# chmod MODE[,MODE] FILE # REŽĪMS ir šāda forma: *([-+=]()) # chmod 640 /var/log/maillog # Iestatiet atļaujas vienādas -rw-r----- # chmod u=rw,g=r,o= /var/log/maillog # Tas pats, kas iepriekš # chmod -R o-r /home/* # Rekursīvi mainiet atļaujas, neļaujiet lasīt Cits # chmod u+s /ceļš/uz/prog # Uzstādīt SUID bits uz izpildāmo failu (šeit esiet piesardzīgs, jums ir jāsaprot, ko darāt)# atrast / -perm -u+s -print # Atrodiet visas programmas, kurās ir instalēta SUID mazliet# chown user:group /ceļš/uz/failu # Iestatiet lietotāju un grupu kā faila īpašnieku# chgrp grupa /ceļš/uz/failu # Mainiet grupu, kurai pieder fails# chmod 640 `atrast ./ -type f -print` # Mainiet atļaujas uz 640 visiem failiem# chmod 751 `atrast ./ -type d -print` # Mainiet atļaujas uz 751 visiem direktorijiem

Diska informācija

# diskinfo -v /dev/ad2 # Skatīt diska informāciju ( sektors/izmērs) FreeBSD# hdparm -I /dev/sda # Informācija par IDE/ATA disks (Linux)# fdisk /dev/ad2 # Rādīt mainīt diska nodalījumus# smartctl -a /dev/ad2 # Parādīt GUDRS diska informācija

Notiek ielāde

FreeBSD

Lai ielādētu veco kodolu ārkārtas situācijā, piemēram, pēc neveiksmīgas uzbūves un jauna instalēšanas, apturiet lejupielādi, atpakaļskaitīšanas laikā nospiežot 6, lai nokļūtu komandrindas uzvednē. # izlādēt # ielādēt kernel.old # boot

Montāžas punkti, diska izmantošana

#mount | kolonna -t # Rādīt pievienotās failu sistēmas#df # Parādiet brīvās vietas un uzstādīto ierīču daudzumu# cat /proc/partitions # Rādīt visus reģistrētos nodalījumus (Linux)

Kataloga informācija

# du -sh * # Direktoriju izmēri kā saraksts# du -csh # Pašreizējā direktorija kopējais apjoms# du -ks * | kārtot -n -r # Katalogu saraksts, kas sakārtots pēc lieluma kilobaitos# ls -lSr # Katalogu saraksts, apgrieztā šķirošana

Kurš kādus failus atvēra

Dažreiz ir nepieciešams noskaidrot, kurš fails ir bloķējis nodalījumu, izraisot komandu umount dod atbilstošo kļūdu. # umount /home/ umount: atvienot no /home # Nav iespējams atvienot nodalījumu līdz /mājas bloķēts neizdevās: ierīce ir aizņemta

FreeBSD un lielākā daļa Unix līdzīgu sistēmu

# fstat -f /mājas # piestiprināšanas punktam# fstat -p PID # pieteikumam ar PID# fstat -u lietotājs # lietotājvārdam Atrast atver failu Priekš Xorg: # ps cirvis | grep Xorg | awk "(print $1)" 1252 # fstat -p 1252 LIETOTĀJA CMD PID FD MOUNT INUM MODE SZ|DV R/W sakne Xorg 1252 sakne / 2 drwxr-xr-x 512 r root Xorg 1252 text /usr 216016 -rws x--x 1679848 r saknes Xorg 1252 0 /var 212042 -rw-r--r-- 56987 w Atrast failu ar inum 212042 direktorijā /var to var izdarīt: # atrast -x /var -inum 212042 /var/log/Xorg.0.log

Linux

Atrodiet atvērtu failu direktorijā, izmantojot kausētājs vai lsof: # fuser -m /mājas # Procesu saraksts, kuriem ir piekļuve /mājas # lsof /home KOMANDA PID LIETOTĀJA FD TIPA IERĪCES IZMĒRS MOZGLA NOSAUKUMS tcsh 29029 eedcoba cwd DIR 0,18 12288 1048587 /home/eedcoba (guam:/home) lsof 29140 cw.881dircoba2d.8 7 /home/eedco ba (guama: /home) Atrast pēc PID pielietojumi: ps cirvis | grep Xorg | awk "(print $1)" 3324 # lsof -p 3324 KOMANDA PID LIETOTĀJA FD TIPA IERĪCES IZMĒRS MOZGLA NOSAUKUMS Xorg 3324 sakne 0w REG 8.6 56296 12492 /var/log/Xorg.0.log Pēc faila nosaukuma: /var ls /Xorg.0.log KOMANDA PID LIETOTĀJA FD TIPA IERĪCES IZMĒRS MOZGLA NOSAUKUMS Xorg 3324 sakne 0w REG 8.6 56296 12492 /var/log/Xorg.0.log

Failu sistēmu montāža/pārinstalēšana

Piemēram CD ROM, reģistrēts /etc/fstab: # mount /cdrom Vai arī varat atrast ierīci /dev vai izejā dmesg

FreeBSD

# mount -v -t cd9660 /dev/cd0c /mnt # Uzstādiet disku CD ROM(pirmā metode)# mount_cd9660 /dev/wcd0c /cdrom # Uzstādiet disku CD ROM(otrā metode)# mount -v -t msdos /dev/fd0c /mnt # Diskete Rakstīt uz /etc/fstab: # Ierīces stiprinājuma punkta FStype opcijas Dump Pass# /dev/acd0 /cdrom cd9660 ro,noauto 0 0 Ļaut lietotājiem pievienot diskus: # sysctl vfs.usermount=1 # Vai ievadiet rindu "vfs.usermount=1" mapē /etc/sysctl.conf

Linux

# mount -t auto /dev/cdrom /mnt/cdrom # Tipiska diska pievienošanas komanda CD ROM # mount /dev/hdc -t iso9660 -r /cdrom # Uzstādiet disku IDE # mount /dev/scd0 -t iso9660 -r /cdrom # Uzstādiet disku SCSI CD ROM# mount /dev/sdc0 -t ntfs-3g /windows # Uzstādiet disku SCSI Reģistrēties /etc/fstab: /dev/cdrom /media/cdrom subfs noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec 0 0

FreeBSD nodalījuma uzstādīšana ar Linux

Apskatiet sadaļas numuru fdisk, parasti tas ir saknes nodalījums, bet tas var būt arī citā BSDšķēle. Ja FreeBSD nodalījumā ir daudz slāņu, tie nebūs redzami cauri fdisk, bet tos var atrast dev/sda* vai /dev/hda*. # fdisk /dev/sda # Atrodiet FreeBSD nodalījumu/dev/sda3 * 5357 7905 20474842+ a5 FreeBSD # mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt /dev/sda10 = /tmp; /dev/sda11 /usr # Vēl viena daļa

Elektroinstalācija

Uzstādiet ierīci atpakaļ, to vispirms neatvienojot, piemēram, lai fsck# mount -o remount,ro / # Linux # mount -o ro / # FreeBSD Kopēt datu straumi no CD ROM"un uz failu ISO attēls. # dd if=/dev/cd0c of=file.iso

Mijmaiņas nodalījuma izveide lidojuma laikā

Pieņemsim, ka jums ir jāpalielina mijmaiņas nodalījums 2 gigabaits, /swap2gb(operētājsistēmai Linux) # dd if=/dev/zero of=/swap2gb bs=1024k count=2000 # mkswap /swap2gb # Izveidot mijmaiņas vietu # swapon /swap2gb # Iespējot mijmaiņu, tagad to var izmantot# swapoff /swap2gb # Atspējot swap # rm /swap2gb

SMB nodalījuma uzstādīšana

CIFS- Kopēja interneta failu sistēma MVU- servera ziņojumu bloks Pieņemsim, ka jums ir jāpiekļūst koplietotai MVU sadaļā myshare serverī smbserveris, izsauktā adrese Windows mašīna gribu \\smbserver\myshare\. Mēs to uzliksim /mnt/smbshare. Neaizmirsti par cifs Nepieciešama IP adrese vai domēna nosaukums.

Linux

# smbclient -U lietotājs -I 192.168.16.229 -L //smbshare/ # Uzskaitiet koplietojumus # mount -t smbfs -o username=winuser //smbserver/myshare /mnt/smbshare # mount -t cifs -o lietotājvārds=winuser password=winpwd //192.168.16.229/myshare /mnt/share Papildus pakotne mount.cifsļauj, piemēram, saglabāt privilēģijas failā /home/user/.smb: lietotājvārds=winuser parole=winpwd Un tagad mēs pievienojam: # mount -t cifs -o credentials=/home/user/.smb //192.168.16.229/myshare /mnt/smbshare

FreeBSD

Izmantojiet atslēgu -Es lai iestatītu IP adresi (vai DNS); smbserveris, tas ir Windows nosaukums. # smbutil skats -I 192.168.16.229 //winuser@smbserver # Kopīgoto resursu saraksts# mount_smbfs -I 192.168.16.229 //winuser@smbserver/myshare /mnt/smbshare

Uzmontēt attēlu

Linux cilpa atpakaļ

# mount -t iso9660 -o cilpas fails.iso /mnt # Pievienojiet kompaktdiska attēlu# mount -t ext3 -o cilpa fails.img /mnt # Pievienojiet attēlu ar failu sistēmu ext3

FreeBSD

Izmantojot md- atmiņas ierīce (ja nepieciešams, izgatavojiet kldload md.ko): # mdconfig -a -t vnode -f file.iso -u 0 # mount -t cd9660 /dev/md0 /mnt # umount /mnt; mdconfig -d -u 0 # Notīrīt atmiņas ierīci Vai izmantojot pseido ierīci ( VN, virtuālais mezgls): # vnconfig /dev/vn0c file.iso; mount -t cd9660 /dev/vn0c /mnt # umount /mnt; vnconfig -u /dev/vn0c # Notīrīt pseido ierīci

ISO attēla izveide un ierakstīšana

CD vai DVD kopēsim pēc sektora. # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc Izmantot mkisofs lai izveidotu attēlu no faila direktorijā. Lai pārvarētu faila nosaukuma ierobežojumus, izmantojiet opciju -r, ieskaitot paplašinājumu RockRidžs, galvenais par UNIX sistēmas, -Dž ietilpst Džolieta, ko izmanto Microsoft, -Lļauj ISO9660 vārdi, kas sākas ar punktu. # mkisofs -J -L -r -V NOSAUKUMS -o imagefile.iso /path/to/dir uz FreeBSD, mkisofs var instalēt no /usr/ports/sysutils/cdrtools.

CD/DVD ISO attēlu ierakstīšana

FreeBSD

FreeBSD netiek instalēts DMA ieslēgts ATAPI ierīcēm, to var izdarīt, izmantojot mainīgo sysctl vai failā /boot/loader.conf, šādi ieraksti. hw.ata.ata_dma="1" hw.ata.atapi_dma="1" Izmantojiet burncd ATAPI ierīcēm ( burncd, standarta programma, daļa no bāzes sistēmas) un cdrecord(no /usr/ports/sysutils/cdrtools) SCSI ierīcēm. # burncd -f /dev/acd0 datu imagefile.iso fixate # ATAPI ierīcēm# cdrecord -scanbus # Atrast ierakstītāju # cdrecord dev=1,0,0 imagefile.iso

Linux

Izmantojiet to tāpat cdrecord, kā aprakstīts iepriekš. Turklāt varat izmantot vietējo ATAPI saskarni: # cdrecord dev=ATAPI -scanbus Ieraksts, kā aprakstīts iepriekš.

dvd+rw-rīki

Paketē dvd+rw-tools (FreeBSD: ports/sysutils/dvd+rw-tools) ir visas funkcionalitātes, kas nepieciešamas darbam ar DVD, kā arī growisofs, CD vai DVD ierakstīšanai. Dokumentāciju ar piemēriem var atrast FreeBSD rokasgrāmatas 18.7. nodaļā # -dvd-compat aizver disku# growisofs -dvd-compat -Z /dev/dvd=imagefile.iso # Uzrakstiet esošo iso attēls # growisofs -dvd-compat -Z /dev/dvd -J -R /p/to/data # Rakstiet tieši

Konvertējiet attēlu no Nero .nrg faila uz .iso failu

Nero attēlam pievieno 300 kb galveni, kuru var apgriezt, izmantojot dd. # dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300

Konvertējiet bin/cue attēlu uz .iso

To var izdarīt, izmantojot nelielu programmu bchunk. FreeBSD to var atrast portos /usr/ports/sysutils/bchunk. # bchunk imagefile.bin imagefile.cue imagefile.iso

Attēla izveide no faila

Piemēram, 1 GB nodalījums izmanto failu /usr/vdisk.img. Šajā gadījumā mēs izmantojam atslēgu -u 0, bet skaitlis var būt jebkurš.

FreeBSD

# dd if=/dev/random of=/usr/vdisk.img bs=1K count=1M # mdconfig -a -t vnode -f /usr/vdisk.img -u 0 # Izveidojiet ierīci /dev/md1 # bsdlabel -w /dev/md0 # newfs /dev/md0c # mount /dev/md0c /mnt # umount /mnt; mdconfig -d -u 0; rm /usr/vdisk.img # Notīrīt md No faila izveidoto attēlu var uzstādīt sistēmas sāknēšanas laikā, ierakstot rindiņu uz /etc/rc.conf Un /etc/fstab. Varat pārbaudīt, vai iestatījumi ir pareizi, izmantojot komandu /etc/rc.d/mdconfig start(pēc ierīces noņemšanas md0 izmantojot komandu # mdconfig -d -u 0). Ņemiet vērā, ka automātiskā attēla montāža darbosies tikai tad, ja attēla fails NAV saknes nodalījumā, jo skripts /etc/rc.d/mdconfig veic agrīnā sāknēšanas stadijā, kad saknes nodalījums vēl nav ierakstāms. Attēli, kas atrodas ārpus saknes nodalījuma, vēlāk tiks montēti ar skriptu /etc/rc.d/mdconfig2.
/boot/loader.conf: md_load="JĀ" /etc/rc.conf: mdconfig_md0="-t vnode -f /usr/vdisk.img" # /usr nav saknes nodalījumā/etc/fstab: (0 0 beigās, ļoti svarīgi, tas norādīs fsck ignorēt ierīces pārbaudi, jo tā vēl neeksistē) /dev/md0 /usr/vdisk ufs rw 0 0
Turklāt pēc tam varat palielināt attēla izmēru, piemēram, par 300 MB. #umount/mnt; mdconfig -d -u 0 # dd if=/dev/zero bs=1m count=300 >> /usr/vdisk.img # mdconfig -a -t vnode -f /usr/vdisk.img -u 0 # growfs /dev /md0 # mount /dev/md0c /mnt #Tagad failu nodalījums 300 MB vairāk

Linux

# dd if=/dev/zero of=/usr/vdisk.img bs=1024k count=1024 # mkfs.ext3 /usr/vdisk.img # mount -o cilpa /usr/vdisk.img /mnt # umount /mnt; rm /usr/vdisk.img # Notīrīt

Linux un Lostup

/dev/zero daudz ātrāk nekā nejaušība, bet mazāk droša šifrēšanai. # dd if=/dev/urandom of=/usr/vdisk.img bs=1024k count=1024 # losstup /dev/loop0 /usr/vdisk.img # Izveidot /dev/loop0 # mkfs.ext3 /dev/loop0 # mount /dev/loop0 /mnt # losstup -a # Pārbaudiet # umount /mnt # losstup -d /dev/loop0 # Atvienot # rm /usr/vdisk.img

Failu sistēmas izveide atmiņā

Failu sistēma atmiņā ir ļoti ātrs, ir jēga to izmantot lietojumprogrammām ar augstu diska IO. Izveidosim 64 MB lielu nodalījumu un uzstādīsim to iekšā /memdisk:

FreeBSD

# mount_mfs -o rw -s 64M md /memdisk # umount /memdisk; mdconfig -d -u 0 # Skaidrs md ierīci md /memdisk mfs rw,-s64M 0 0 # rakstīt /etc/fstab

Linux

# mount -t tmpfs -osize=64m tmpfs /memdisk

Diska veiktspēja

Lasi un raksti 1 GB failu sadaļā ad4s3c (/mājas) # laiks dd if=/dev/ad4s3c of=/dev/null bs=1024k count=1000 # time dd if=/dev/zero bs=1024k count=1000 of=/home/1Gb.file # hdparm -tT / dev/hda # Tikai Linux

Es atklāju virkni mini rokasgrāmatu "tiem, kas nezina, kā izmantot meklēšanu un uzdot stulbus jautājumus". Šodienas tēma ir disku montāža un atvienošana FreeBSD.

Tāpēc mēs vēlamies piekļūt datiem papildu cietajā diskā vai zibatmiņas diskā. Lai to izdarītu, mums tas ir jāsavieno (jāpievieno) tukšam direktorijam, pēc kura mēs varēsim piekļūt datiem šajā diskā mūsu izveidotajā / iepriekš esošajā mapē. (SVARĪGI: nemontējiet disku jau aizņemtos direktorijos, jūs saņemsiet sava diska saturu, piemēram, konfigurācijas failu mapes satura vietā padomājiet par sekām paši;))

Vispirms izveidojiet tukšu mapi. Iedomāsimies, ka lietotājs shitus vēlas savienot disku ar jaunu direktoriju, ko sauc par pron. Lai to izdarītu, viņš savā mājas direktorijā izveido jaunu mapi (iespējams, drošākā vieta).

Mkdir /home/shitus/pron Nākamais solis ir izveidot savienojumu cietais disks uz stiprinājuma punktu (mēs tikko izveidojām mapi). Visas ierīces savā sistēmā varat atrast mapē /dev/. Manā gadījumā es vēlos savienot savu ierīci /dev/da2 ar mapi /home/shitus/pron

Uzstādiet /dev/da2 /home/shitus/pron Tagad varat apskatīt diska saturu iepriekš minētajā direktorijā.

Kā savienot citas failu sistēmas, kas nav BSD

Manā gadījumā mums ir USB disks ar Fat32 failu sistēmu. Tādējādi, uzstādot uz BSD, skaidri jānorāda izmantotās failu sistēmas veids.

Mount -t msdosfs /dev/da2s1 /home/shitus/pron/

Par citām failu sistēmām varat skatīt FreeBSD dokumentāciju, es nedošu saiti, jo Google ir viss.

Kā atvienot/atmontēt failu sistēmu

Pieņemsim, ka vēlaties atvienot/noņemt pievienoto failu ierīci. Tam var būt daudz iemeslu, galvenokārt tas tiek darīts, ja vēlaties dzēst disku vai atkārtoti savienot to ar citu stiprinājuma punktu. Komanda ir ļoti vienkārša -

Uzņemt /home/shitus/pron/

Pārliecinieties, vai šīs komandas izpildes laikā neatrodaties šajā mapē, pretējā gadījumā rezultāts būs nulle.

Ja vēlaties uzstādīt disku sistēmas startēšanas laikā, tas ir jāreģistrē failā /etc/fstab tāpat kā tur jau reģistrētie. Vairāk par to var lasīt arī dokumentācijā, vai kādreiz es par to uzrakstīšu simto reizi.

Tie ir jāuzstāda, un, kad visas nepieciešamās darbības ir pabeigtas, tie ir jānoņem. Parasti pievienošanai/atmontēšanai tiek izmantotas komandas mount(8) / umount(8), un neviens nedomā par šo darbību automatizāciju. Manuprāt, šī nav optimālākā pieeja, īpaši ņemot vērā to, ka sastāvs operētājsistēma FreeBSD ietver īpašu automount dēmonu.

Problēmas formulēšana

FreeBSD amd(8) operētājsistēmas automātiskās pievienošanas dēmons ir paredzēts, lai caurspīdīgi uzstādītu absolūti visas failu sistēmas, kad tiek piekļūts tajās esošajiem failiem un mapēm, kā arī lai pēc tam atvienotu šīs failu sistēmas, ja noteiktu laika periodu nenotiek nekādas darbības. Šis raksts ir par amd konfigurēšanu, lai automātiski uzstādītu failu sistēmas, ko eksportē NFS serveri, un koplietotās mapes, ko nodrošina SMB serveri. Turklāt tajā ir aprakstīta amd diagnostika, izmantojot utilītu amq(8), un sava žurnāla piešķiršana, izmantojot regulāri līdzekļi syslogd(8) un newsyslog(8) žurnālu pārvaldība.

Sākotnējie dati

Lai atrisinātu izskatāmo problēmu, nav papildu programmatūra, tomēr jums būs jāizveido tāda, kas ļauj root lietotājam uzstādīt atlasītos SMB serveru nodrošinātos koplietojumus, neievadot paroli.

Automātiska NFS failu sistēmu montāža

Lai nodrošinātu automātisku NFS failu sistēmu montāžu, vienkārši pievienojiet /etc/rc.conf failam šādu rindiņu:

Amd_enable="JĀ"

un sāciet amd ar komandu /etc/rc.d/amd start . Pēc noklusējuma amd izmantos alternatīvo mapi /.amd_mnt, ziņos par tās statusu syslog dēmonu sadaļai un ļaus NFS failu sistēmas montēt vietējās failu sistēmas mapēs /host un /net saskaņā ar montāžas karti /etc/amd .map (šī montāžas karte ir iekļauta FreeBSD operētājsistēmā un satur noteikumus, kas nosaka, kā NFS failu sistēmas var pievienot un atmontēt, izmantojot tīkla resursdatora failu sistēmu). Ja iztulkosim teikto cilvēku valodā, tad uzreiz pēc amd palaišanas varēsiet piekļūt koplietošanas failu sistēmai, ko eksportē NFS serveris nfsserver kā parastā lokālā mape ar nosaukumu /host/nfsserver/share vai /net/nfsserver/ dalīties. Jebkurai šādai piekļuvei un vajadzīgā failu sistēma nav pievienoto failu sistēmu sarakstā, amd izveidos piestiprināšanas punktu /.amd_mnt/nfsserver/host/share, pievienos tai koplietojamo failu sistēmu, izveido mapi /host/nfsserver. vai /net/nfsserver un pievienojiet tam simbolisku saiti uz iepriekš minēto pievienošanas punktu. Ja /host/nfsserver/share vai /net/nfsserver/share netiek izmantots 5 minūtes, amd atvienos koplietojamo failu sistēmu un pēc tam izdzēsīs esošo nevajadzīgās mapes un simboliska saite.

SMBFS failu sistēmu automātiska montāža

Lai iespējotu SMBFS failu sistēmu automātisku montāžu, jums būs jāizveido viena vai vairākas papildu montāžas kartes, no kurām katrā jāietver noteikumi, kuru pamatā ir programmas failu sistēmas izmantošana. Lai varētu piekļūt koplietotajām mapēm, izmantojot veidņu nosaukumus, piemēram, /smbfs/smbserver/share, katram SMB serverim ir jāpiešķir atsevišķa montāžas karte. Piemēram, lai norādītu pievienošanas noteikumus koplietotajām mapēm share1 un share2, ko nodrošina SMB serveris smbserver, varat izveidot pievienošanas karti ar nosaukumu /etc/amd.map-smbserver (Varat mainīt vārds pēc savas gaumes) un pievienojiet tai rindas:

Share1 type:=program;fs:=$(autodir)/$(path);mount:="/sbin/mount mount -t smbfs \\\/\\\/user@smbserver/share1 $(fs)"; share2 type:=program;fs:=$(autodir)/$(path);mount:="/sbin/mount mount -t smbfs \\\/\\\/user@smbserver/share2 $(fs)";

Norādītie noteikumi liks amd montēt koplietotās mapes montēšanas punktā $(autodir) (mainīgais $(autodir) satur alternatīvās mapes nosaukumu) ar komandām /sbin/mount -t smbfs //user@smbserver/share ... . Ja nav opcijas umount vai unmount, ir jāizmanto noklusējuma atvienošanas komandas umount $(fs) (mainīgais $(fs) satur pievienošanas punkta nosaukumu).
Lai saistītu izveidoto montāžas karti ar pievienošanas punktu /smbfs/smbserver, failam /etc/rc.conf jāpievieno šāda rinda:

Amd_flags="$amd_flags /smbfs/smbserver /etc/amd.map-smbserver"

un restartējiet amd ar komandu /etc/rc.d/amd restart . Tūlīt pēc šo darbību veikšanas jūs kā parasti varēsit piekļūt koplietotajām mapēm share1 un share2, ko nodrošina SMB serveris smbserver vietējās mapes/smbfs/smbserver/share1 un /smbfs/smbserver/share2 .

amd stāvokļa analīze, izmantojot utilītu amq

Lai ātri uzzinātu pašreizējo amd stāvokli, varat izmantot komandu amq -m, kas ir paredzēta, lai parādītu pievienoto failu sistēmu sarakstu, ieskaitot saišu skaitu uz katru no tām un informāciju par montāžas kļūdām, kaut kas līdzīgs šim :

"root" root 1. vietējais resursdators ir izveidots /etc/amd.map /host toplvl 1 vietējais resursdators ir izveidots /etc/amd.map /net toplvl 1 localhost ir izveidots /etc/amd.map-smbserver /smbfs/smbserver toplvl 1 localhost ir up nfsserver:/host/nfsserver /.amd_mnt/nfsserver 1. resursdators nfsserver ir uz augšu mount -t smbfs //user@smbserver/share1 ... /.amd_mnt/smbfs/smbserver/share1 programma 1 localhost ir izveidota

Šīs tabulas pirmajā slejā ir iekļauts montēšanas punktu pievienošanas kartes nosaukums vai montēšanas opcijas montētām failu sistēmām, otrā ir pievienošanas punkta nosaukums, trešā ir amd failu sistēmas tips, ceturtā ir saišu skaits. pievienošanas punktam vai failu sistēmai, piektais ir tā datora nosaukums, kurā atrodas failu sistēma, sestais ir pievienošanas punkta vai failu sistēmas statuss, septītais ir pievienošanas kļūdu ziņojumi (ja kļūdu nav, septītā kolonna netiek rādīta). Tā kā amd un tā palaitais rpcbind(8) atbalsta TCP iesaiņotājus, komandas amq -m izpilde var izraisīt kļūdas ziņojumus, kas līdzīgi tālāk norādītajam:

Amq: localhost: RPC: Porta kartētāja kļūme - RPC: Autentifikācijas kļūda amq: localhost: RPC: Autentifikācijas kļūda; kāpēc = neizdevās (neprecizēta kļūda)

Lai novērstu šīs kļūdas, failam /etc/hosts.allow jāpievieno noteikumi, kas ļauj piekļūt amd un rpcbind no localhost:

Amd: 127.0.0.1: atļaut amd: ALL: liegt rpcbind: 127.0.0.1: atļaut rpcbind: ALL: liegt

Nodrošina amd ar savu žurnālu

Noklusējuma startēšanas opcijas failā /etc/defaults/rc.conf liek amd ziņot par savu statusu syslog dēmonu sadaļai. Ja vēlaties nodrošināt amd atsevišķu žurnālu ar nosaukumu /var/log/amd.log , šie ziņojumi būs jānovirza uz citu syslog sadaļu (manā gadījumā lokālo 6) un attiecīgi jāmaina syslogd dēmona konfigurācija.
Ņemot vērā visas šajā rakstā aprakstītās izmaiņas konfigurācijas failos, lai novirzītu amd ziņojumus uz žurnālu /var/log/amd.log, vispirms ir jāmaina mainīgā amd_flags definīcija failā /etc/rc. conf failu uz šo formu:

Amd_flags="-a /.amd_mnt -l syslog:local6 /host /etc/amd.map /net /etc/amd.map /smbfs/smbserver1 /etc/amd.map-smbserver1"

un restartējiet amd ar komandu /etc/rc.d/amd restart, un, otrkārt, pievienojiet rindiņu failam /etc/syslog.conf:

Local6.* /var/log/amd.log

izveidojiet tukšu žurnālu ar touch /var/log/amd.log komandu un restartējiet syslogd ar /etc/rc.d/syslogd restart komandu.
Lai novērstu amd žurnāla augšanu, jums jāiespējo tā rotācija, izmantojot utilītu newsyslog. Piemēram, lai katru dienu saīsinātu /var/log/amd.log žurnālu, vienlaikus saglabājot septiņas iepriekšējās kopijas, kas saspiestas ar arhivētāju bzip2(1), failam /etc/newsyslog.conf jāpievieno šāda rinda:

/var/log/amd.log 644 7 * @T00 JC

Secinājums

Pēc šajā rakstā aprakstīto darbību veikšanas jums vairs nebūs jāuztraucas par NFS un SMBFS failu sistēmu pievienošanu un atvienošanu. Ceru, ka šī iespēja jums noderēs un noteikti pievērsiet uzmanību amd.

no

FHS standarts sākotnēji tika izstrādāts, lai organizētu daudzu Linux izplatījumu direktoriju struktūru. Un tikai vēlāk tas tika pielāgots citām Unix līdzīgām sistēmām (ieskaitot BSD klanu). Tomēr tieši FreeBSD direktoriju hierarhija var kalpot par piemēru priekšzīmīgai FHS gara ievērošanai. Un burtiski atsevišķas novirzes tajā no tā burta vienmēr ir funkcionāli noteiktas.

FHS standarts balstās uz diviem pamatprincipiem: skaidra koplietojamo un nekoplietoto direktoriju nodalīšana failu hierarhijā, no vienas puses, un nemainīga un mainīga, no otras puses.

Kontrasts starp koplietotajiem un nedalītajiem direktorijiem ir saistīts ar Unix raksturīgo tīkla raksturu kopumā un jo īpaši FreeBSD. Tas ir, ar lokālo mašīnu saistītie dati (piemēram, tās ierīču konfigurācijas faili) jāatrodas direktorijos, kas ir atsevišķi no tiem, kuru dati ir pieejami no citām iekārtām tīklā, lokālā vai globālā (kuru piemērs ir ne tikai lietotājs datus, bet arī programmas).

Nemainīgo un mainīgo direktoriju kontrasta būtību var viegli izskaidrot ar piemēru. Tādējādi vienādām lietotāju programmām pēc savas būtības ir jābūt nemaināmām (pareizāk sakot, modificēšanai pieejamām tikai sistēmas administratoram, bet ne pašam lietotājam, kurš tās izmanto savā darbā). Tajā pašā laikā šīs programmas darbības laikā ģenerē ne tikai datu failus, teiksim, tekstus vai attēlus (to mainīgais raksturs ir skaidrs bez komentāriem), bet visu veidu pakalpojumu informāciju, piemēram, žurnālfailus, pagaidu failus un patīk). Kurus vajadzētu sagrupēt direktorijās, kas ir atdalīti no reālajiem programmu izpildāmajiem failiem, bibliotēkām, konfigurācijas failiem utt., kas nepieciešami to palaišanai.

Stingra koplietojamo un nekoplietojamo, nemainīgo un nemaināmo direktoriju atdalīšanas koncepcijas ievērošana ļauj vienā kokam līdzīgā failu hierarhijā fiziski izolēt tā atsevišķos zarus, tas ir, neatkarīgu failu sistēmu veidā, kas atrodas izolētas ierīces (diski, diska šķēles, nodalījumi; vispārīgā gadījumā un uz attāliem, tīklam pieslēgtiem datu nesējiem, bet tas netiks apspriests tagad). Tam ir daudz iemeslu - ātruma palielināšana, uzticamības palielināšana un vienkārši ērtības apsvērumi, taču mēs par tiem tagad nerunāsim. Jo tagad mums ir svarīgi tikai tas, ka šie failu koka zari ir jāiekļauj kopējā failu sistēmā.

Iepriekšējā piezīmē bija teikts, ka katru failu (ieskaitot direktoriju) sistēma atpazīst nevis pēc tā nosaukuma, bet gan pēc tā ieraksta unikālā identifikatora inodes tabulā. Ir rīki, lai skatītu šos failu ID. Viena no tām ir komanda ls ar opciju i, kas izdrukās katra nosauktā faila ID. Dota saknes direktorijai - $ ls -i

tas parādīs mums nedaudz negaidītu attēlu (vienkāršības labad informācija par parastajiem failiem un simboliskajām saitēm saknē tiek izslēgta no izvades, un atlikušie direktoriji tiek sakārtoti pēc to identifikatoriem) 2 ../ 2 ./ 2 dev/ 2 home / 2 tmp/ 2 usr/ 2 var/ 3 cdrom/ 4 mnt/ 5 root/ 8257 dist/ 8258 bin/ 8294 proc/ 8295 sbin/ 16512 stand/ 24768 etc/ 24776 boot/

No šī piemēra (kas attiecas uz tās mašīnas failu sistēmu, kurā ir rakstītas šīs rindas) ir skaidrs, ka pat 7 direktorijiem ir vienādi digitālie identifikatori, kas ir vienādi ar 2. Jautājums ir, kāda šeit ir unikalitāte?

Pirmie divi saraksta elementi ir viegli saprotami: ./ apzīmē pašreizējo direktoriju (šajā gadījumā sakni) un ../ pašreizējā direktorija vecākdirektoriju; un tā kā pēc definīcijas failu hierarhijā nav nekā virs saknes, tas apzīmē sevi. Tāpēc nav pārsteidzoši, ka ./ un ../ ir viens un tas pats identifikators - tie ir dažādi apzīmējumi (cietās saites vai citādi dublēti nosaukumi) vienam saknes direktorijam.

Bet tas pats, kā šķiet no pirmā acu uzmetiena, ir jāpaskaidro direktoriju /dev, /home, /tmp, /usr, /var identifikatora nozīme. Tomēr tas ir vienkārši: tie visi ir direktoriji, kuros ir uzstādītas neatkarīgas failu sistēmas, vai nu atrodas atsevišķās ierīcēs - diska nodalījumos, piemēram, /home, /usr, /var direktorijās vai virtuālās failu sistēmās, kas netiek veidotas uz jebkura reāla diska ierīce ( /dev direktorijs ar ierīces failu sistēmu un šajā gadījumā direktorijs /tmp, kurā ir uzstādīta RAM failu sistēma, kas tiks apspriests vēlāk). Un tā kā inodes tabula katrai failu sistēmai ir atšķirīga, nav pārsteidzoši, ka katras no tām sakne tiek identificēta ar skaitli 2, tajās esošās inodes ir numurētas savā atsauces sistēmā.

Tātad montāža ir faila iekļaušana no sistēmas jebkurā no sakņu sistēmā esošajiem direktorijiem (ne vienmēr tieši saknē, tai var būt jebkura ligzdošanas pakāpe, kas parādīts tālāk). Bez tā šādas uzstādītas sistēmas direktoriji un faili ir vienkārši nepieejami. Tas ir svarīgi saprast, kad saskaraties ar tādiem izteicieniem kā “izveidot /usr failu sistēmu”. No iepriekš minētā ir acīmredzams, ka tas, kas tiek izveidots (ar komandu newfs), ir vienkārši noteikta abstrakta failu sistēma, un tā iegūst savu “nosaukumu” tikai tajā brīdī, kad to ievieto norādītajā direktorijā.

Interesanti, ka montāžas direktorija identifikators (saukts arī par stiprinājuma punktu) tiek atrasts tikai montāžas laikā. Lai to pārbaudītu, veiksim vienkāršu eksperimentu. Direktorijā /mnt, kas īpaši paredzēts īslaicīgi uzstādītu failu sistēmu montāžai, var redzēt trīs apakšdirektorijas /mnt/disk, mnt/iso, /mnt/usb (tas ir manā sistēmā, es tos izveidoju savām ērtībām; sākotnēji /mnt direktorijs, kas atradās FreeBSD, ir tukšs). Kad sistēma startē, tajos nekas nav uzstādīts, un to parastajam stāvoklim jābūt tukšam. Ja paskatās uz viņu identifikatoriem, jūs varat redzēt kaut ko līdzīgu: $ ls -i1 /mnt 16:46 ttyp0 18 disk/ 24 iso/ 19 usb/

Tagad paņemsim un uzstādīsim zibatmiņas disku ar USB interfeisu mapē /mnt/usb (tieši tam es to paredzēju) un atkārtosim skatīšanos. Un mēs redzam: 18 diski / 24 iso / 2 usb /

Tas nozīmē, ka direktoriju, kas palika tukši (/mnt/disk un /mnt/iso), identifikatori nemainījās, bet direktoriju identifikators /mnt/usb maģiski mainījās uz 2. Jo montāžas brīdī tas kļuva par sakni savu failu sistēmu un atskaites punktu visu tajā ierakstīto failu inodes aprēķināšanai.

Nedaudz atkāpsimies un atcerēsimies par cietajām saitēm, caur kurām vienai un tai pašai inodei un ar to saistītajiem datu blokiem var piešķirt dažādus nosaukumus. Tagad ir skaidrs, kāpēc visiem šādiem dublētiem failiem jāatrodas vienā failu sistēmā: galu galā dažādām failu sistēmām ir sava, nesakrītoša inodes numerācija, un tos nav iespējams identificēt pēc cipariem (pretējā gadījumā kā sistēma to darītu galu galā atšķirt direktorijus /usr un /var no mūsu piemēra, galu galā viņai nerūp failu nosaukumi). Simboliskām saitēm, kurām ir savas inodes (faktiski un nekas, izņemot tās) ar saviem identifikatoriem, kas numurētas tās failu sistēmas atsauces sistēmā, kurā tās atrodas, šādu ierobežojumu nav. Un simboliskās saites var atrasties jebkur (tostarp attālā mašīnā, ne tikai citā nodalījumā).

Tomēr atgriezīsimies pie mūsu saknes direktorija piemēra. No visa aplūkotā ir skaidrs, ka vairākas tās filiāles atrodas uz atsevišķām starpsienām un veido savas failu sistēmas (patiesībā tieši tāpēc mēs tās abas izveidojām). Un tāpēc tie visi ir jāuzstāda.9. Montāžas prakse

Montāžas mērķi nodrošina mount komanda, kas tiek izpildīta automātiski sistēmas sāknēšanas laikā vai manuāli no komandrindas. Faktiski pilnā nozīmē jebkurā gadījumā automātiski tiek uzstādīta tikai saknes failu sistēma. Tam nav jābūt diskā, startējot no glābšanas kompaktdiska vai cita drošības datu nesēja, to var atrast RAM virtuālajā diskā. Tomēr saknes failu sistēmas uzstādīšanas process ir tikpat neizbēgams kā sociālisma uzvara globālā mērogā: tāpat kā sociālisms, neuzvarot globālā mērogā, vienkārši zaudē spēju pastāvēt (ko mēs nesen novērojām), tā var OS pastāv bez sakņu sistēmas nevar. Operētājsistēmā Linux tas izraisa kodola panikas režīmu aptuveni tādā stāvoklī, kādā mūsu līderi iekļuva pirms 20 gadiem. Tiesa, tie izrādījās spēcīgāki par Linux un diezgan ātri atkopās, tāpēc joprojām mūs pārstartē (vai pārstartē? bet mēs kļūstam stiprāki :)). Tomēr tas neattiecas uz montāžas problēmu, kuru es mēģināšu jums tagad iepazīstināt.

Tātad, lai uzstādītu visas failu sistēmas, izņemot saknes, jums ir jāveic dažas darbības. Vispirms apskatīsim, kā tos izdarīt manuāli, un pēc tam kā tos iemūžināt atbilstošajos konfigurācijas failos.

Tātad, mount komanda. Faktiski šī ir vesela programmu saime, no kurām katra ir paredzēta noteikta veida failu sistēmu uzstādīšanai - ne tikai UFS, bet arī jebkurai no FreeBSD atbalstītajām failu sistēmām. To saraksts ir diezgan plašs, priekšstatu par to var iegūt, apskatot /sbin direktoriju: $ ls /sbin/mount*;

kas mums sniegs atbildi /sbin/mount /sbin/mount_msdosfs /sbin/mount_smbfs /sbin/mount_cd9660 /sbin/mount_nfs /sbin/mount_std /sbin/mount_devfs /sbin/mount_ntfs /sbin/mount_udf /sbin/mount_sbinfft2fs / sbin/mount_umapfs /sbin/mount_fdescfs /sbin/mount_nwfs /sbin/mount_unionfs /sbin/mount_linprocfs /sbin/mount_portalfs /sbin/mount_mfs /sbin/mount_procfs

Katra komanda šajā sarakstā ir atbildīga par cita veida failu sistēmu, pie dažām no kurām mēs atgriezīsimies vēlāk. Pagaidām atzīmēsim tikai pašu /sbin/mount, kas paredzēts darbam ar UFS un UFS2.

Lai to izsauktu no komandrindas, ir nepieciešami divi argumenti: montējamās ierīces nosaukums un piestiprināšanas punkts (tas ir, direktorijs, kurā jāmontē pamatā esošā failu sistēma). Ierīces nosaukumam ir jānorāda patrīcija, kas jau ir kartēta esošajā BSD slānī ar tajā izveidoto UFS2 failu sistēmu (UFS), piemēram, $ mount /dev/ads0d /usr

pievieno failu sistēmu norādītajā nodalījumā failu koka saknes direktorijā /usr. Ja ierīcē nav izveidota failu sistēma vai tās tips nav 4.2BSD, tiks parādīts kļūdas ziņojums, kas norāda uz nepareizu superbloku: atšķirībā no tāda paša nosaukuma Linux utilīta, FreeBSD mount komanda pati nevar atpazīt failu sistēmu. veids.

Montāžas punktam tiek izvirzītas šādas prasības: a) uzstādīšanas laikā ir jābūt direktorijam ar tādu pašu nosaukumu un b) tam jābūt pēc iespējas tukšam. Pirmais ir obligāts, bet otrais nav pilnīgi nepieciešams. Uzstādīšana direktorijā ar jebkuriem failiem noritēs bez problēmām (atceros, ka Linux ne tik sen tas izraisīja sistēmas avāriju), taču viss tā saturs kļūs nepieejams, līdz tas netiks atmontēts. Un, ja tajā esošajiem failiem ir nozīmīga loma jebkurā apakšsistēmā, tas var izraisīt dažādas sliktas sekas. Piemēram, ja /tmp direktorija saturs tika bloķēts, tajā ievietojot failu sistēmu, kamēr darbojas X logu sistēma, iespējams, X servera avārija. Par laimi, ja nepieciešams, varat veikt kombinētu stiprinājumu (skatīt zemāk).

Norādītajā formā montāža tiks veikta ar dažiem noklusējuma parametriem: failu sistēma tiks lasīta/rakstīta tā sauktajā režīmā. noasync (tas pats, kurā metadatu darbības tiek veiktas sinhroni, un darbības ar datiem tiek veiktas asinhroni). Šo pozīciju var mainīt, izmantojot opciju -o. To ir diezgan daudz, bet praktiski galvenie mums šajā posmā būs:

  • async nodrošinās pilnīgi asinhronu režīmu (neskatoties uz šausmīgajiem brīdinājumiem iepriekšējos ierakstos, vēlāk runāšu par situāciju, kad tas var būt attaisnojams);
  • sinhronizācija, gluži pretēji, ļauj pilnībā sinhronizēt režīmu (lai gan es īsti nesaprotu, kāpēc tas ir praktiski nepieciešams);
  • noatime ir ļoti noderīga opcija, kas neļauj atjaunināt pēdējo failu piekļuves laika atribūtu, kas ievērojami uzlabo veiktspēju;
  • rdonly pievieno failu sistēmu tikai lasīšanas režīmā (dažreiz tas ir nepieciešams);
  • union tā pati opcija, kas ļauj veikt savienojuma pievienošanu, kurā paliek redzams iepriekšējais pievienošanas punktu direktorijas saturs; taisnība ar dažiem ierobežojumiem skatiet man (8) mount.

Ir vairākas citas opcijas -o vērtības, kas aizliedz uzstādītā failu sistēmā ievietot noteikta veida failus, piemēram, izpildāmos failus (-o noexec), ierīces failus (-o nodev) vai failus ar - sauca. bitu (-o nosuid), taču tiem ir praktiska nozīme galvenokārt serveru administratoriem un tie kalpo drošības nolūkos. Galddatorā parastais montāžas veids būtu apmēram šāds: $ mount -o noatime /dev/ads0d /usr; $ mount -o noatime /dev/ads0e /var; $ mount -o noatime /dev/ads0f /home

Viss iepriekš minētais attiecas tikai uz FreeBSD failu sistēmu montāžu. Tomēr praksē bieži vien ir nepieciešams iekļaut cita veida failu sistēmas savā direktoriju kokā. Īpaši bieži tas ir nepieciešams ISO9660 (parastā failu sistēma visiem kompaktdiskiem, izņemot Mac) un dažāda veida FAT. Šajā gadījumā attiecīgā mount komanda ir skaidri jāizsauc, piemēram, $ mount_cd9660 /dev/acd0 /cdrom

lai uzstādītu kompakto, vai $ mount_msdosfs /dev/ad## /mnt

jebkura veida FAT (ieskaitot FAT32), taču to var izdarīt netieši, mount komandai norādot opciju -t file_system_type. Tādējādi komanda $ mount -t ext2fs /dev/ad## /mnt/linux

pievieno Linux failu sistēmu (ja atbilstošā funkcija ir iekļauta kodolā). Šajā gadījumā BSD nodalījumu standarta stiprinājums tiek vienkārši aizstāts ar komandu /mount_ext2fs, kas paredzēta ext2fs nodalījumu pievienošanai (un arī ext3fs, bet, protams, bez žurnāla funkcijām). Tas ir, forma $mount -t fstype ... ...

būs precīzs komandas $mount_fstype ekvivalents... ...

Visām operācijām, kas saistītas ar failu sistēmu montāžu (tostarp uz noņemamo datu nesēju) FreeBSD, ir nepieciešamas superlietotāja tiesības. Opcijas -o vērtības šeit, atšķirībā no mount komandas Linux versijas, neietver lietotāja parametru, kas ļauj montēt parastajiem lietotājiem. Tiesa, ir vairāki veidi, kā to apiet, taču nav pareizi par tiem runāt tagad

Tomēr praksē manuāla montāža tiek izmantota tikai reti izmantotām failu sistēmām. Visas failu sistēmas, kas ir fundamentāli svarīgas FreeBSD darbībai, tiek montētas automātiski sistēmas startēšanas laikā, un bieži lietotās tiek montētas pusautomātiskā, tā teikt, režīmā.

Automātiskajai montāžai montēšanas programma tiek palaista sāknēšanas procesa laikā no inicializācijas skriptiem. Tas meklē savu konfigurācijas failu /etc/fstab un pievieno visu, ko tajā atrod, ar dažiem izņēmumiem (apspriests tālāk).

Pats fails /etc/fstab tiek ģenerēts automātiski, kad ir instalēts FreeBSD, ieskaitot visas failu sistēmas, kas nepieciešamas, lai nodrošinātu dzīvību. Tomēr nākotnē to varēs rediģēt manuāli, lai pievienotu jaunas ierīces montāžai vai papildu opcijas jau iespējotām ierīcēm.

Fails /etc/fstab ir vienkārša datu bāze teksta formātā (lauki, kas atdalīti ar atstarpēm vai tabulēšanas zīmēm), ietverot šādus laukus:

  • Ierīces faila nosaukums, kurā atrodas failu sistēma, līdzīgs mount komandas pirmajam argumentam, ja to lieto manuāli;
  • Mountpoint mount point (atbilst mount komandas otrajam argumentam);
  • FStype failu sistēmas tips, kas norādīts arī kā opcijas -t vērtība;
  • Opcijas papildu montāžas iespējas, līdzīgas opcijas -o vērtībām;
  • Dump nosacījumi failu sistēmas dublēšanas veikšanai, izmantojot dump utilītu;
  • Izpildi # nosacījumus failu sistēmas pārbaudei, izmantojot utilītu fsck.

Svaigi instalētā FreeBSD /etc/fstab obligāti ietvers šādus ierakstus (piemērs galvenā diska pirmajai daļai 1. IDE kanālā): # Ierīces piestiprināšanas punkta FStype opcijas Dump Pass# /dev/ad0s1a / ufs rw 1 1 / dev/ad0s1b none swap sw 0 0

Ja sekojat saprātīgu cilvēku ieteikumiem (un sysinstall noklusējuma iestatījumiem) un saknē atlasāt dažus failu sistēmas atzarus, tādi ieraksti kā /dev/ad0s1d /var ufs rw 0 0 /dev/ad0s1e / tiks pievienoti tiem, kas uzskaitīti. (automātiski atzīmējot šķēli, izmantojot sysinstall) usr ufs rw 0 0 /dev/ad0s1f /tmp ufs rw 0 0

atbildīgs par failu sistēmu ar lietotāja mājas direktorijiem.

Acīmredzot laukā Opcijas varat pievienot visas pieejamās (un saprātīgās) opcijas -o vērtības (atdalītas ar komatiem, bez atstarpēm), piemēram, noatime visām failu sistēmām un /tmp arī async, jo šī direktorija saturs pēc pārstartēšanas netiek saglabāts.

Iepriekš minētais attiecas uz failu sistēmām, kas tiek montētas automātiski startēšanas laikā. Taču neviens netraucē veikt ierakstus /etcfstab sistēmām, kuras ik pa laikam tiek pieslēgtas - šajā gadījumā tās var montēt pēc vienkāršotas shēmas (to es iepriekš domāju ar pusautomātisko režīmu). Tātad CD diskdzinī varat pievienot rindu (patiesībā tā automātiski parādās, kad tiek ģenerēts /etc/fstab fails) /dev/acd0 /cdrom cd9660 ro,noauto 0 0

kurā opcijām, kā jūs varētu nojaust, ir jāatsakās uzstādīt startēšanas laikā (noauto) un tikai lasīšanas režīmā (ro). Pēc tam, lai uzstādītu kompaktdisku, pietiks norādīt tikai pievienošanas punktu - $ mount /cdrom

Līdzīgus ierakstus var veikt visiem noņemamajiem diskdziņiem (Zip, USB diskdziņi, pat disketes) un nodalījumiem, kas nav BSD (FAT vai Ext2fs). Starp citu, jūs varat pievienot failu sistēmas, izmantojot vienkāršoto shēmu uzreiz pēc izmaiņu veikšanas failā /etc/fstab, negaidot, kamēr iekārta tiks atsāknēta

Pirms iekārtas izslēgšanas vai restartēšanas visas iesaistītās failu sistēmas ir jāatvieno. Pareizi izslēdzot, tas tiek darīts automātiski, kā rezultātā katra no rakstāmajām failu sistēmām (vai drīzāk, nodalījums, kas to nes) savā superblokā saņem tīru atvienošanas bitu.

Tomēr vairākos gadījumos (piemēram, pieslēdzot vai atvienojot Soft Updates mehānismu vai veicot integritātes pārbaudi), rodas nepieciešamība manuāli atvienot (un atkārtoti savienot) failu sistēmas, kurām tiek izmantota komanda umount. Tam nepieciešams viens arguments: failu sistēmas pievienošanas punkts, kas jānoņem no direktoriju koka, piemēram: $ umount /tmp

Varat atvienot vairākas failu sistēmas ar vienu rindiņu: $ umount /usr /var /home

Vai arī varat visas pievienotās failu sistēmas vai visas failu sistēmas, kas norādītas failā /etc/fstab (izņemot sakni), kam nepieciešamas opcijas $ umount -A

vai $umount -a

attiecīgi. Ir iespējams arī atvienot noteikta veida failu sistēmas, norādot opcijas -t vērtības. Tātad, komanda $ umount -t ufs

atvienos tikai BSD nodalījumus, neietekmējot CD un visu pārējo, kas ir saistīts ar sistēmu.

Failu sistēmas nedrīkst tikt izmantotas atvienošanas laikā, tas ir, nedrīkst piekļūt tajās esošajiem failiem. Tātad atrašanās jebkurā failu sistēmas direktorijā ir pietiekams iemesls, lai atteiktu to atvienot (ar ziņojumu, piemēram, ierīce aizņemta), tāpēc neviena no iepriekš minētajām komandām nevarēs atvienot saknes failu sistēmu. Bet datu faila lasīšana, izmantojot jebkuru programmu, nav iemesls, lai atteiktos atvienot sistēmu, kurā tiek mitināts šis fails (galu galā, vispārīgā gadījumā saziņa starp failu atmiņā un failu diskā notiek tikai izmaiņu ierakstīšanas laikā.

Tomēr, lai to izdarītu, varat arī atvienot izmantoto failu sistēmu, jums būs jāizdod komanda umount ar opciju -f. Tiesa, tas var izraisīt kļūdas, tāpēc labāk to neizmantot, ja vien tas nav absolūti nepieciešams. Un piespiedu atvienošanas opcija neietekmēs saknes failu sistēmu

Lai turpinātu darbu pēc zema līmeņa operāciju veikšanas failu sistēmās, tās būs jāmontē atpakaļ. To var izdarīt ne tikai bez pārstartēšanas, bet arī bez garlaicīgas individuālas montāžas. Vienkārši izmantojiet opciju -a: $ mount -a

caur kuru tiks montētas visas failu sistēmas, kurām ir ieraksti /etc/fstab. Šajā gadījumā tiks mēģināts uzstādīt tos, kas ir apzīmēti ar noauto karogu. Lai no tā izvairītos, varat sīkāk definēt failu sistēmas tipu. Tas ir, komanda $ mount -a -t ufs

montēs tikai BSD nodalījumus, neiejaucoties kompaktdiskus vai zibatmiņas diskus. Vai, gluži pretēji, jūs varat izslēgt no globālā montāžas procesa dažas failu sistēmas, kas norādītas mapē /etc/fstab, piemēram, pašlaik nevajadzīgos FAT: $ mount -a -t nomsdosfs Preambula, nevis secinājums.

Starp citu, komanda mount bez opcijām un argumentiem (un šajā formā, atšķirībā no visiem iepriekš apskatītajiem gadījumiem, to var dot parasts lietotājs) parādīs pašlaik pievienoto failu sistēmu sarakstu, norādot pievienošanas punktu, tā nosacījumus un darbības režīms. Piemēram, mašīnai, kurā ir rakstītas šīs rindas, izvade izskatīsies šādi: /dev/ad0s1a on / (ufs, local, noatime, soft-updates) devfs on /dev (devfs, local) /dev/ccd0e uz /var (ufs, local, noatime, soft-updates) /dev/ccd1e uz /usr (ufs, local, noatime, soft-updates) /dev/ccd2e vietnē /home (ufs, local, noatime, soft-updates) /dev/ md0 uz /tmp (ufs, vietējais, noatime, async)

Pirmā izvades rinda parāda, ka /dev/ad0s1a nodalījums ir uzstādīts mūsu saknes direktorijā, tajā ir UFS failu sistēma (konkrēti šajā gadījumā UFS2, bet mount komandas izvadā tie neatšķiras) ar Soft Updates. mehānisms ir iespējots, ir lokāls (tas ir, atrodas šīs mašīnas diskā; tīkla diskdziņi ir pievienoti arī ar komandu mount) un nav pakļauti atime atribūta atjaunināšanai.

Bet tad ir rindas ierīcēm un failu sistēmām, kas iepriekšējos stāstos netika apspriestas. Turklāt, ja skatāmies uz /etc/fstab failu, kas atbilst pašreizējai konfigurācijai: $ more /etc/fstab /dev/ad0s1b none swap sw 0 0 /dev/ar0s1b none swap sw 0 0 /dev/ad0s1a / ufs rw, noatime 1 1 /dev/ccd0e /var ufs rw,noatime 2 2 /dev/ccd1e /usr ufs rw,noatime 2 2 /dev/ccd2e /home ufs rw,noatime 2 2 /dev/acd0 /cdrom cd9660 ro,no 0 / dev/da0s1 /mnt/usb ext2fs rw,noauto,noatime 0 0 /dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

tad mēs redzēsim, ka vienai no izvades rindām (devfs uz /dev (devfs, local) starp tās ierakstiem vispār nav atbilstības. Kādas ierīces un failu sistēmas tās ir?

Kas attiecas uz tādām ierīcēm kā /dev/ccd0? Pagaidām tikai teikšu, ka tie ir programmatūras RAID masīvi (par tiem sīkāk runāsim vēlāk). Bet devfs un mfs ir virtuālas failu sistēmas, kas tiks apspriestas tieši nākamajā piezīmē.



 


Lasīt:



Programmas Samsung Galaxy viedtālruņiem Programmas Samsung viedtālruņiem

Programmas Samsung Galaxy viedtālruņiem Programmas Samsung viedtālruņiem

Samsung DeX platforma ļauj Galaxy ierīču īpašniekiem tās savienot ar ārējiem monitoriem un izmantot kā personālo datoru....

Fona attēls Kā ievietot fonu html lapā

Fona attēls Kā ievietot fonu html lapā

Īsa informācija CSS versijas Vērtības url Vērtība ir ceļš uz grafisko failu, kas norādīts struktūrā...

Koplietotas mapes piekļuves iestatīšana tīklā sistēmā Windows

Koplietotas mapes piekļuves iestatīšana tīklā sistēmā Windows

Kā jau teicām iepriekšējos rakstos, lokālajam tīklam ir daudz noderīgu funkciju, papildus kopīgas piekļuves internetam organizēšanai. IN...

Rambler — meklētājprogramma, kas vairs nepastāv (no tās ziedu laikiem līdz pagrimumam)

Rambler — meklētājprogramma, kas vairs nepastāv (no tās ziedu laikiem līdz pagrimumam)

Mediju portāls Rambler.ru ir ārkārtīgi populārs gan Krievijā, gan citās NVS valstīs. Pateicoties tam, ka šeit vienā...

plūsmas attēls RSS