Freebsd-ը տեղադրում է միջնորմներն իրենց պիտակներով: FreeBSD. Ավտոմատ տեղադրեք NFS և SMBFS ֆայլային համակարգեր AMD-ով: Փոխարկեք պատկերը Nero.nrg ֆայլից .iso ֆայլի

FHS ստանդարտը ի սկզբանե նախագծվել էր Linux-ի բազմաթիվ բաշխումների գրացուցակի կառուցվածքը պարզեցնելու համար: Եվ միայն ավելի ուշ այն հարմարեցվեց Unix-ի նման այլ համակարգերի համար (ներառյալ BSD կլանը): Այնուամենայնիվ, հենց FreeBSD գրացուցակի հիերարխիան կարող է ծառայել որպես FHS-ի ոգուն օրինակելի հավատարմության օրինակ: Եվ բառացիորեն նրա տառից շեղումները միշտ ֆունկցիոնալորեն պայմանավորված են։

FHS ստանդարտը հիմնված է երկու հիմնարար սկզբունքների վրա՝ մի կողմից համօգտագործվող և չհամօգտագործվող դիրեկտորիաների ֆայլերի հիերարխիայի հստակ տարանջատում, մյուս կողմից՝ անփոփոխ և փոփոխական:

Համօգտագործվող և ոչ համօգտագործվող դիրեկտորիաների միջև հակադրությունը պայմանավորված է Unix-ի ընդհանուր ցանցային բնույթով և մասնավորապես FreeBSD-ով: Այսինքն, տեղական մեքենայի հետ կապված տվյալները (օրինակ՝ դրա սարքերի կազմաձևման ֆայլերը) պետք է տեղակայվեն դիրեկտորիաներում, որոնց տվյալները հասանելի են ցանցի այլ մեքենաներից՝ տեղական կամ գլոբալ (որի օրինակը ոչ միայն օգտվողի տվյալներն են։ , այլ նաև ծրագրեր)։

Անփոփոխ և փոփոխվող դիրեկտորիաների հակադրության էությունը հեշտ է բացատրել օրինակով։ Այսպիսով, նույն օգտատերերի ծրագրերն իրենց բնույթով պետք է լինեն անփոփոխ (ավելի ճիշտ՝ փոփոխման համար հասանելի լինեն միայն համակարգի ադմինիստրատորին, բայց ոչ հենց օգտատիրոջը, ով դրանք օգտագործում է իր աշխատանքում): Միևնույն ժամանակ, այս ծրագրերն իրենց աշխատանքի ընթացքում առաջացնում են ոչ միայն տվյալների ֆայլեր, ասենք, տեքստեր կամ պատկերներ (դրանց փոփոխական բնույթը պարզ է առանց մեկնաբանությունների), այլ բոլոր տեսակի ծառայությունների տեղեկություններ, ինչպիսիք են մատյան ֆայլերը, ժամանակավոր ֆայլերը և այլն): Որոնք պետք է խմբավորվեն դիրեկտորիաներում, որոնք առանձնացված են դրանց գործարկման համար անհրաժեշտ ծրագրերի, գրադարանների, կազմաձևման ֆայլերի և այլնի իրական գործարկվող ֆայլերից:

Համօգտագործվող և ոչ համօգտագործվող, անփոփոխ և անփոփոխ դիրեկտորիաների միմյանցից բաժանելու հայեցակարգին խստորեն հետևելը թույլ է տալիս մեկ ծառանման ֆայլերի հիերարխիայի շրջանակներում ֆիզիկապես մեկուսացնել իր առանձին ճյուղերը, այսինքն՝ անկախ ձևով: ֆայլային համակարգերտեղակայված մեկուսացված սարքերի վրա (սկավառակներ, սկավառակի կտորներ, միջնորմներ ընդհանուր դեպքև հեռավոր, ցանցին միացված կրիչների վրա, բայց դա այժմ չի քննարկվի): Դրա համար կան բազմաթիվ պատճառներ և կատարողականի բարձրացում, և հուսալիության բարձրացում, և պարզապես հարմարության նկատառումներ, բայց մենք հիմա դրանց մասին չենք խոսի: Քանի որ հիմա մեզ համար միակ կարևոր բանն այն է, որ ֆայլերի ծառի այս ճյուղերը պետք է ներառվեն ընդհանուր ֆայլային համակարգում:

Նախորդ նշումն ասում էր, որ ցանկացած ֆայլ (ներառյալ գրացուցակը) համակարգի կողմից ճանաչվում է ոչ թե իր անունով, այլ inodes աղյուսակում իր մուտքի եզակի նույնացուցիչով: Այս ֆայլերի նույնացուցիչները դիտելու միջոցներ կան: Դրանցից մեկը i տարբերակով ls հրամանն է, որը կցուցադրի յուրաքանչյուր անվանված ֆայլի ID-ները: Տրված է արմատային գրացուցակի համար՝ $ ls -i

այն մեզ ցույց կտա մի փոքր անսպասելի պատկեր (պարզության համար սովորական ֆայլերի և արմատային հղումների մասին տեղեկատվությունը բացառված է ելքից, իսկ մնացած գրացուցակները դասավորված են ըստ իրենց նույնացուցիչների) 2 ../ 2 ./ 2 dev/ 2 տուն / 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/

Այս օրինակից (կապված մեքենայի ֆայլային համակարգի հետ, որի վրա գրված են այս տողերը) կարելի է տեսնել, որ 7 գրացուցակներ ունեն նույն թվային նույնացուցիչները, որոնք հավասար են 2-ի: Հարցն այն է, թե որն է այստեղ եզակիությունը:

Ցանկի առաջին երկու տարրերը հեշտ է հասկանալ. և քանի որ, ըստ սահմանման, ֆայլի հիերարխիայում արմատից վերև ոչինչ չկա, այն ինքնին կանգնած է: Ուստի զարմանալի չէ, որ ./-ն և ../-ն ունեն նույն նույնացուցիչը. դրանք տարբեր նշանակումներ են (կոշտ հղումներ կամ, այլ կերպ ասած, կրկնօրինակ անուններ) նույն արմատային գրացուցակի համար:

Բայց նույնը, ինչպես թվում է առաջին հայացքից, նույնացուցիչի արժեքը /dev, /home, /tmp, /usr, /var դիրեկտորիաների համար բացատրություն է պահանջում։ Այնուամենայնիվ, դա պարզ է. դրանք բոլորը դիրեկտորիաներ են, որոնց վրա տեղադրված են կամ տեղակայված են անկախ ֆայլային համակարգեր անհատական ​​սարքերսկավառակի միջնորմներ, ինչպիսիք են /home, /usr, /var գրացուցակները կամ վիրտուալ ֆայլային համակարգերը, որոնք չեն կառուցվում որևէ իրական սկավառակի սարքի վրա (սարքի ֆայլային համակարգով /dev գրացուցակը և, այս դեպքում, /tmp գրացուցակը, որտեղ տեղադրված է ֆայլային համակարգը): համակարգում պատահական մուտքի հիշողություն, որը դեռ պետք է քննարկվի): Եվ քանի որ ինոդների աղյուսակը տարբերվում է յուրաքանչյուր ֆայլային համակարգի համար, զարմանալի չէ, որ դրանցից յուրաքանչյուրի արմատը նույնականացվում է 2 թվով, որոնցում գտնվող ինոդները համարակալված են իրենց սեփական տեղեկատու համակարգում:

Այսպիսով, մոնտաժը համակարգից ֆայլային համակարգի ընդգրկումն է արմատային համակարգի առկա գրացուցակներից որևէ մեկում (պարտադիր չէ, որ ուղղակիորեն արմատից, այն կարող է լինել ցանկացած բույն մակարդակի, որը կներկայացվի ստորև): Առանց դրա, նման մոնտաժված համակարգի դիրեկտորիաներն ու ֆայլերը պարզապես անհասանելի են: Սա կարևոր է հասկանալ, երբ բախվում են այնպիսի արտահայտությունների, ինչպիսիք են «ստեղծել /usr ֆայլային համակարգը»: Վերևում ասվածից ակնհայտ է, որ ինչ-որ բան ստեղծվում է (newfs հրամանով) պարզապես ինչ-որ վերացական ֆայլային համակարգ, և այն ձեռք է բերում իր «անունը» միայն նշված գրացուցակում տեղադրելու պահին:

Հետաքրքիր է, որ մոնտաժվող գրացուցակի նույնացուցիչը (այն նաև կոչվում է մոնտաժման կետ, մոնտաժի կետ) ձեռք է բերվում միայն մոնտաժման պահին: Սա ստուգելու համար եկեք մի պարզ փորձ կատարենք. /mnt գրացուցակում, որը հատուկ ստեղծված է ժամանակավորապես մոնտաժված ֆայլային համակարգերի տեղադրման համար), կարող եք տեսնել երեք ենթագրքեր /mnt/disk, mnt/iso, /mnt/usb (սա իմ համակարգում է, ես դրանք ստեղծել եմ իմ հարմարության համար. սկզբնապես FreeBSD-ի /mnt գրացուցակը դատարկ է): Երբ համակարգը գործարկվում է, նրանց մեջ ոչինչ չի տեղադրվում, և նրանց սովորական վիճակը դատարկ է: Եթե ​​նայեք նրանց ID-ներին, կտեսնեք այսպիսի բան՝ $ ls -i1 /mnt 16:46 ttyp0 18 disk/ 24 iso/ 19 usb/

Հիմա եկեք վերցնենք և տեղադրենք USB ինտերֆեյսով ֆլեշ կրիչը / mnt / usb-ում (այդ համար ես նախատեսել եմ այն) և կրկնել վերանայումը: Եվ մենք տեսնում ենք՝ 18 սկավառակ/ 24 iso/ 2 usb/

Այսինքն՝ դատարկ մնացած դիրեկտորիաների նույնացուցիչները (/mnt/disk և /mnt/iso) չեն փոխվել, և /mnt/usb գրացուցակի նույնացուցիչը կախարդական կերպով փոխվել է 2-ի: Քանի որ տեղադրման պահին այն դարձել է արմատը սեփական ֆայլային համակարգի համար և դրա վրա գրված բոլոր ֆայլերի ինոդների հաշվարկման մեկնարկային կետը:

Եկեք մի փոքր շեղվենք և հիշենք կոշտ հղումների մասին, որոնց միջոցով կարելի է տարբեր անուններ վերագրել նույն inode-ին և հարակից տվյալների բլոկներին։ Այժմ պարզ է, թե ինչու բոլոր նման կրկնօրինակ ֆայլերը պետք է լինեն միևնույն ֆայլային համակարգում. ի վերջո, տարբեր ֆայլային համակարգեր ունեն իրենց սեփական, չհամապատասխանող, ինոդների համարակալումը, և անհնար է դրանք նույնականացնել թվերով (հակառակ դեպքում, ինչպես կլիներ համակարգը տարբերակել /usr և /var դիրեկտորիաները մեր օրինակից, քանի որ ֆայլերի անունները խորապես անփույթ են նրա համար): Սիմվոլիկ հղումների համար, որոնք ունեն իրենց սեփական ինոդները (իրականում, ոչ այլ ինչ, բացի դրանցից), որոնց նույնացուցիչները համարակալված են ֆայլային համակարգի հղման համակարգում, որտեղ գտնվում են, նման սահմանափակում չկա: Եվ խորհրդանշական հղումները կարող են ընկած լինել ցանկացած վայրում (ներառյալ հեռավոր մեքենայի վրա, ոչ միայն այլ բաժանման վրա):

Վերադառնանք, սակայն, մեր արմատական ​​գրացուցակի օրինակին։ Դիտարկված ամենից երևում է, որ նրա մի շարք ճյուղեր ընկած են առանձին միջնորմների վրա և կազմում են իրենց ֆայլային համակարգերը (իրականում, դրա համար էլ մենք ստեղծել ենք երկուսն էլ): Եվ, հետևաբար, դրանք բոլորը պետք է տեղադրվեն:9. Մոնտաժման պրակտիկա

Մոնտաժման նպատակը mount հրամանն է, որը կամ ավտոմատ կերպով կատարվում է համակարգի բեռնման ժամանակ կամ ձեռքով: հրամանի տող. Իրականում, ամբողջ իմաստով, ամեն դեպքում ավտոմատ կերպով տեղադրվում է միայն արմատային ֆայլային համակարգը: Պարտադիր չէ, որ այն գտնվում է սկավառակի վրա, երբ սկսում է փրկարար CD-ից կամ այլ անվտանգության կրիչից, այն կարող է տեղակայվել RAM-ի վիրտուալ սկավառակի վրա: Այնուամենայնիվ, արմատային ֆայլային համակարգի տեղադրման գործընթացը նույնքան անխուսափելի է, որքան սոցիալիզմի հաղթանակը գլոբալ մասշտաբով. այնպես որ ՕՀ գոյություն ունի առանց արմատային համակարգի: չի կարող: Linux-ում սա առաջացնում է միջուկի խուճապի ռեժիմ, մոտավորապես այնպիսի վիճակ, որում հայտնվեցին մեր առաջնորդները 20 տարի առաջ: Ճիշտ է, պարզվեց, որ դրանք ավելի ուժեղ են, քան Linux-ը «և և բավականին արագ վերականգնվել են, ուստի մինչև հիմա մենք պետք է վերաբեռնենք» yat-ը (կամ վերագործարկենք, և մենք ավելի ենք ուժեղանում :)): Այնուամենայնիվ, սա չի վերաբերում մոնտաժման դեպքին, որը ես հիմա կփորձեմ ներկայացնել ձեզ:

Այսպիսով, բոլոր ֆայլային համակարգերը տեղադրելու համար, բացառությամբ արմատի, դուք պետք է որոշակի գործողություններ ձեռնարկեք: Մենք նախ կնայենք, թե ինչպես դրանք կատարել ձեռքով, իսկ հետո ինչպես հավերժացնել դրանք համապատասխան կոնֆիգուրացիայի ֆայլերում:

Այսպիսով, լեռան հրամանը: Փաստորեն, սա ծրագրերի մի ամբողջ ընտանիք է, որոնցից յուրաքանչյուրը նախատեսված է որոշ տեսակի ֆայլային համակարգեր տեղադրելու համար ոչ միայն UFS, այլև աջակցվող FreeBSD-ից որևէ մեկը: Դրանց ցանկը բավականին ընդարձակ է, դուք կարող եք պատկերացում կազմել դրա մասին՝ թերթելով այս թեմայով /sbin գրացուցակը. $ ls /sbin/mount*

որը մեզ կտա /sbin/mount /sbin/mount_msdosfs /sbin/mount_smbfs /sbin/mount_cd9660 /sbin/mount_nfs /sbin/mount_std /sbin/mount_devfs /sbin/mount_ntfs /sbin/bin/mount_mounts_bins/ /mount_umapfs /sbin/mount_fdescfs /sbin/mount_nwfs /sbin/mount_unionfs /sbin/mount_linprocfs /sbin/mount_portalfs /sbin/mount_mfs /sbin/mount_procfs

Այս ցանկից յուրաքանչյուր հրաման պատասխանատու է տարբեր տեսակի ֆայլային համակարգի համար, որոնցից մի քանիսին մենք կանդրադառնանք ավելի ուշ: Միևնույն ժամանակ, մենք նշում ենք միայն իրական / sbin / լեռը, որը նախատեսված է UFS-ի և UFS2-ի հետ աշխատելու համար:

Հրամանի տողից կանչված՝ պահանջվում է երկու արգումենտ՝ տեղադրվող սարքի անվանումը և ամրացման կետը (այսինքն՝ գրացուցակը, որտեղ պետք է տեղադրվի հիմքում ընկած ֆայլային համակարգը): Սարքի անունը պետք է վերաբերի մի հայրապետի, որն արդեն նշված է գոյություն ունեցող BSD հատվածի վրա, որի վրա ստեղծված է UFS2 (UFS) ֆայլային համակարգ, օրինակ՝ $ mount /dev/ads0d /usr

տեղադրում է ֆայլային համակարգը նշված բաժանման վրա /usr գրացուցակում, որը գտնվում է ֆայլի ծառի արմատում: Եթե ​​սարքի ֆայլային համակարգը ստեղծված չէ կամ ունի 4.2BSD-ից այլ տեսակ, սխալ սուպերբլոկի ցուցումով կհայտնվի սխալ հաղորդագրություն՝ ի տարբերություն նույնանունի: Linux կոմունալ ծառայություններ, FreeBSD mount հրամանն ինքնին չգիտի, թե ինչպես ճանաչել ֆայլային համակարգի տեսակը։

Մոնտաժային կետն ունի հետևյալ պահանջները. ա) մոնտաժման պահին պետք է գոյություն ունենա այդ անունով գրացուցակ և բ) լինի հնարավորինս դատարկ: Առաջինը պարտադիր է, երկրորդը՝ ոչ իրականում։ Ցանկացած ֆայլով գրացուցակում տեղադրումը սահուն կանցնի (հիշեք, որ ոչ վաղ անցյալում Linux-ում դա հանգեցրեց համակարգի խափանման), բայց դրա ամբողջ բովանդակությունը անհասանելի կդառնա մինչև չտեղակայելը: Եվ եթե դրանում պարունակվող ֆայլերը կարևոր դեր են խաղում ցանկացած ենթահամակարգի համար, դա կարող է հանգեցնել բոլոր տեսակի վատ հետևանքների: Օրինակ, եթե /tmp գրացուցակի բովանդակությունը կողպված է` այնտեղ ֆայլային համակարգ տեղադրելով, մինչ X պատուհանի համակարգը աշխատում է, արդյունքը, ամենայն հավանականությամբ, կլինի X սերվերի խափանումը: Բարեբախտաբար, անհրաժեշտության դեպքում, դուք կարող եք կատարել համակցված լեռ (տես ստորև):

Նշված ձևով մոնտաժը կկատարվի որոշ լռելյայն բնութագրերով. ֆայլային համակարգը հասանելի կլինի այսպես կոչված ռեժիմով կարդալու/գրելու համար: noasync (այն, որում մետատվյալների գործողությունները կատարվում են համաժամանակյա, իսկ տվյալների գործողությունները՝ ասինխրոն): Դուք կարող եք փոխել այս դիրքը՝ օգտագործելով -o տարբերակի արժեքները: Դրանք բավականին քիչ են, բայց գործնականում մեզ համար այս փուլում հիմնականները կլինեն.

  • async-ը կտրամադրի լիովին ասինխրոն ռեժիմ (չնայած նախորդ նշումներում չարագուշակ նախազգուշացումներին, ես հետագայում կխոսեմ մի իրավիճակի մասին, որտեղ դա կարող է արդարացվել);
  • համաժամեցում, ընդհակառակը, լիովին համաժամանակյա ռեժիմի ընդգրկում (չնայած ես իսկապես չեմ հասկանում, թե ինչու է դա գործնականում անհրաժեշտ);
  • noatime-ը շատ օգտակար տարբերակ է, որը կանխում է ֆայլերի վրա վերջին մուտքի ժամանակ հատկանիշի թարմացումը, ինչը շատ է բարելավում կատարումը.
  • rdonly տեղադրում է ֆայլային համակարգը միայն կարդալու ռեժիմում (երբեմն անհրաժեշտ է);
  • միություն նույն տարբերակը, որը թույլ է տալիս կատարել միավորման տեղադրում, որում տեսանելի են մնում մոնտաժային կետի գրացուցակի նախորդ բովանդակությունը. ճշմարիտ որոշ սահմանափակումներով տես մարդ (8) լեռ:

-o տարբերակի համար կան մի քանի այլ արժեքներ, որոնք կանխում են որոշ տեսակի ֆայլերի տեղադրումը մոնտաժված ֆայլային համակարգում, ինչպիսիք են գործարկվող (-o noexec), սարքի ֆայլերը (-o nodev) կամ ֆայլեր - կանչեց. suidity bit (-o nosuid), սակայն դրանք գործնական նշանակություն ունեն հիմնականում սերվերի ադմինիստրատորների համար և ծառայում են անվտանգության նպատակներին։ Սեղանի մեքենայի վրա կանոնավոր ձև mount-ը կլինի այսպիսին՝ $ mount -o noatime /dev/ads0d /usr; $ mount -o noatime /dev/ads0e /var; $ mount -o noatime /dev/ads0f /home

Այս ամենը վերաբերում է միայն FreeBSD ֆայլային համակարգերի տեղադրմանը: Այնուամենայնիվ, գործնականում հաճախ անհրաժեշտ է դառնում այլ տեսակի ֆայլային համակարգեր ներառել իր գրացուցակի ծառի մեջ: Սա հատկապես հաճախ պահանջվում է ISO9660-ի (սովորական ֆայլային համակարգ բոլոր CD-ների համար, բացառությամբ Mac-ի) և FAT-ի համար: տարբեր տեսակի. Այս դեպքում, համապատասխան mount հրամանը պետք է բացահայտորեն կանչվի, օրինակ՝ $ mount_cd9660 /dev/acd0 /cdrom

տեղադրել կոմպակտ, կամ $ mount_msdosfs /dev/ad## /mnt

FAT-ի համար, բայց ցանկացած տեսակի (ներառյալ FAT32): Այնուամենայնիվ, դա կարելի է անել նաև անուղղակիորեն՝ նշելով mount հրամանը -t filesystem_type տարբերակով: Այսպիսով, հրամանը $ mount -t ext2fs /dev/ad## /mnt/: Linux

տեղադրեք ֆայլը Linux համակարգ(եթե համապատասխան հատկանիշը ներառված է միջուկում): Այս դեպքում, BSD միջնորմների համար ստանդարտ տեղադրումը պարզապես փոխարինվում է /mount_ext2fs հրամանով, որը նախատեսված է ext2fs միջնորմները տեղադրելու համար (և ext3fs նույնպես, բայց, իհարկե, առանց գրանցման գործառույթների): Այսինքն ՝ $ mount -t ftype ձևը ... ...

կլիներ $mount_fstype ... ... հրամանի լրիվ համարժեքը

FreeBSD-ում ֆայլային համակարգի բոլոր մոնտաժները (ներառյալ շարժական մեդիան) պահանջում են գերօգտագործողի արտոնություններ: Այստեղ -o տարբերակի արժեքների թվում, ի տարբերություն mount հրամանի Linux տարբերակի, չկա օգտվողի պարամետր, որը թույլ է տալիս մոնտաժել սովորական օգտագործողների կողմից: Ճիշտ է, սա շրջանցելու մի քանի եղանակ կա, բայց այժմ դրանց մասին խոսելն անտեղի է: Ավտոմատ մոնտաժի կարգավորում

Այնուամենայնիվ, գործնականում ձեռքով տեղադրումը օգտագործվում է միայն հազվադեպ օգտագործվող ֆայլային համակարգերի համար: Բոլոր ֆայլային համակարգերը, որոնք հիմնովին կարևոր են FreeBSD-ի գործարկման համար, տեղադրվում են ավտոմատ կերպով համակարգի գործարկման ժամանակ և հաճախ օգտագործվում են կիսաավտոմատ, այսպես ասած, ռեժիմում:

Ավտոմատ տեղադրման համար մոնտաժային ծրագիրը գործարկվում է ընթացքի մեջ bootstrapսկզբնավորման սկրիպտներից: Այն փնտրում է իր կազմաձևման ֆայլը /etc/fstab և տեղադրում է այն, ինչ գտնում է այնտեղ, մի քանի բացառություններով (նշված է ստորև):

/etc/fstab ֆայլն ինքնին ինքնաբերաբար ստեղծվում է FreeBSD-ի տեղադրման ժամանակ, ներառյալ բոլոր ֆայլային համակարգերը, որոնք անհրաժեշտ են այն գործարկելու համար: Այնուամենայնիվ, հետագայում այն ​​կարող է խմբագրվել ձեռքով, որպեսզի ներդնեք նոր սարքեր մոնտաժման համար կամ լրացուցիչ տարբերակներ արդեն ներառված սարքերի համար:

/etc/fstab ֆայլը տվյալների բազա է տեքստի ձևաչափ(դաշտերի բաժանումն ըստ բացատների կամ ներդիրների), ներառյալ հետևյալ դաշտերը.

  • Սարքի ֆայլի անվանումը սարքի, որի վրա գտնվում է ֆայլային համակարգը, նման է mount հրամանի առաջին արգումենտին, երբ այն ձեռքով օգտագործելիս.
  • Mountpoint mount point (համապատասխանում է mount հրամանի երկրորդ արգումենտին);
  • Ֆայլային համակարգի FStype տեսակը, որը նշված է նույն կերպ, ինչ -t տարբերակի արժեքը;
  • Լրացուցիչ տեղադրման ընտրանքներ, որոնք նման են -o տարբերակի արժեքներին.
  • Աղբավայրի կատարման պայմանները Պահպանեք պատճենըֆայլային համակարգ աղբավայրի կոմունալով;
  • Անցեք # պայմաններ ֆայլային համակարգը fsck կոմունալով ստուգելու համար:

Թարմ տեղադրված FreeBSD-ում /etc/fstab-ը անպայման կներառի հետևյալ գրառումները (օրինակ 1-ին IDE ալիքի Master սկավառակի 1-ին հատվածի համար). /dev/ad0s1b ոչ մեկը փոխանակել sw 0 0

Եթե ​​հետևեք ողջամիտ մարդկանց խորհուրդներին (և sysinstall-ի կանխադրվածներին) և ընտրեք ֆայլային համակարգի որոշ ճյուղեր արմատից, ապա այնպիսի գրառումներ, ինչպիսիք են /dev/ad0s1d /var ufs rw 0 0 /dev/ad0s1e / usr ufs rw 0 0 /dev/: ad0s1f /tmp ufs rw 0 0

պատասխանատու ֆայլային համակարգի համար՝ օգտագործողի տնային դիրեկտորիաներով:

Ակնհայտ է, որ Ընտրանքներ դաշտում կարող եք ավելացնել -o տարբերակի ցանկացած մատչելի (և ողջամիտ) արժեք (ստորակետներով բաժանված, առանց բացատների), օրինակ՝ noatime բոլոր ֆայլային համակարգերի համար և /tmp-ի համար՝ նաև async։ , քանի որ այս գրացուցակի բովանդակությունը չի սպասվում, որ պահպանվի վերաբեռնումից հետո:

Վերոնշյալը վերաբերում է գործարկման ժամանակ ավտոմատ տեղադրված ֆայլային համակարգերին: Այնուամենայնիվ, ոչ ոք չի անհանգստանում /etcfstab-ում գրառումներ կատարել այն համակարգերի համար, որոնք ժամանակ առ ժամանակ միացված են այս դեպքում, դրանք կարող են տեղադրվել պարզեցված սխեմայի համաձայն (սա վերևում նկատի ունեի կիսաավտոմատ ռեժիմում): Այսպիսով, CD սկավառակի համար կարող եք ավելացնել տող (իրականում, այն ավտոմատ կերպով հայտնվում է /etc/fstab ֆայլը ստեղծելիս) /dev/acd0 /cdrom cd9660 ro,noauto 0 0

որոնցում ընտրանքները, ինչպես դուք կարող եք կռահել, նախատեսում են մերժում տեղադրվել գործարկման ժամանակ (noauto) և միայն կարդալու ռեժիմ (ro): Դրանից հետո CD-ն տեղադրելու համար բավական կլինի նշել միայն տեղադրման կետը՝ $ mount / cdrom

Նմանատիպ գրառումներ կարող են կատարվել բոլոր շարժական կրիչների համար (Zip, USB կրիչներ, նույնիսկ անգործունյա սկավառակներ) և ոչ BSD միջնորմների համար (FAT կամ Ext2fs): Ի դեպ, դուք կարող եք տեղադրել ֆայլային համակարգերը ըստ ներված սխեմայի՝ /etc/fstab-ում փոփոխություններ կատարելուց անմիջապես հետո՝ չսպասելով մեքենայի վերագործարկմանը:

Բոլոր ներգրավված ֆայլային համակարգերը պետք է ապամոնտաժվեն նախքան հոսանքն անջատելը կամ սարքը վերագործարկելը: Նրբագեղ անջատումից հետո դա արվում է ավտոմատ կերպով, ինչի արդյունքում գրվող ֆայլային համակարգերից յուրաքանչյուրը (ավելի ճիշտ՝ այն կրող բաժինը) ստանում է մաքուր ապամոնտաժման բիթ իր սուպերբլոկում:

Այնուամենայնիվ, որոշ դեպքերում (օրինակ՝ Soft Updates մեխանիզմը միացնելիս կամ անջատելիս կամ ամբողջականության ստուգում իրականացնելիս), անհրաժեշտ է դառնում ձեռքով ապամոնտաժել (և վերամիավորել) ֆայլային համակարգերը, որոնց համար օգտագործվում է umount հրամանը։ Այն պահանջում է մեկ արգումենտ, որը նշում է ֆայլային համակարգի տեղադրման կետը, որը պետք է «հեռացվի» գրացուցակի ծառից, օրինակ՝ $ umount /tmp

Դուք կարող եք մի քանի ֆայլային համակարգեր ապամոնտաժել մեկ տողով՝ $ umount /usr /var /home

Որպես այլընտրանք, բոլոր մոնտաժված ֆայլային համակարգերը կամ /etc/fstab-ում թվարկված բոլոր ֆայլային համակարգերը (բացի արմատից), որը կպահանջի $ umount -A տարբերակները:

կամ $ umount -a

համապատասխանաբար. Հնարավոր է նաև ապամոնտաժել որոշակի տեսակների ֆայլային համակարգեր՝ նշելով -t տարբերակի արժեքները: Այսպիսով, հրամանը $ umount -t ufs

ապամոնտաժում է միայն BSD միջնորմները՝ առանց ազդելու CD-ի և այն ամենի վրա, ինչ ներառված է համակարգում:

Ապամոնտաժման պահին ֆայլային համակարգերը չպետք է օգտագործվեն, այսինքն՝ դրանց վրա տեղադրված ֆայլերին մուտք չպետք է լինի: Այսպիսով, ինչ-որ գրացուցակում ֆայլային համակարգի գտնվելու վայրը բավական պատճառ է այն ապամոնտաժելուց հրաժարվելու համար (սարքը զբաղված է նման հաղորդագրությամբ), այդ իսկ պատճառով վերը նշված հրամաններից և ոչ մեկը չի կարողանա ապամոնտաժել արմատային ֆայլային համակարգը: Բայց ինչ-որ ծրագրի կողմից տվյալների ֆայլ կարդալը պատճառ չէ այս ֆայլը կրող համակարգը ապամոնտաժելուց հրաժարվելու համար (ի վերջո, ընդհանուր դեպքում, հիշողության մեջ գտնվող ֆայլի և սկավառակի վրա գտնվող ֆայլի միջև հաղորդակցությունը տեղի է ունենում միայն փոփոխությունները գրելու պահին:

Այնուամենայնիվ, դուք կարող եք նաև ապամոնտաժել ֆայլային համակարգը, որն օգտագործում եք դրա համար, դուք պետք է տալ umount հրամանը -f տարբերակով: Ճիշտ է, դա կարող է հանգեցնել սխալների, ուստի ավելի լավ է չդիմել դրան, եթե բացարձակապես անհրաժեշտ չէ: Եվ հարկադիր ապամոնտաժման տարբերակը որևէ ազդեցություն չի ունենա արմատային ֆայլային համակարգի վրա: Bulk mount

Ֆայլային համակարգերում ցածր մակարդակի գործողություններ կատարելուց հետո աշխատանքը շարունակելու համար դրանք պետք է ետ տեղադրվեն: Դա կարելի է անել ոչ միայն առանց վերագործարկման, այլ նաև առանց հոգնեցուցիչ անհատական ​​ամրացման: Բավական է դիմել -a տարբերակին՝ $ mount -a

որը մոնտաժելու է բոլոր ֆայլային համակարգերը, որոնց համար կան գրառումներ /etc/fstab-ում: Այս դեպքում փորձ է արվելու մոնտաժել դրանք, որոնք նշված են noauto դրոշով: Դրանից խուսափելու համար կարող եք լրացուցիչ նշել ֆայլային համակարգի տեսակը: Այսինքն՝ $ mount -a -t ufs հրամանը

տեղադրում է միայն BSD միջնորմները՝ չներխուժելով CD կամ ֆլեշ կրիչներ: Կամ, ընդհակառակը, դուք կարող եք բացառել /etc/fstab-ում թվարկված որոշ ֆայլային համակարգեր գլոբալ տեղադրման գործընթացից, օրինակ՝ դրանք, որոնք անհրաժեշտ չեն: այս պահին FAT-ները՝ $ mount -a -t nomsdosfs Նախաբան՝ եզրակացության փոխարեն

Ի դեպ, mount հրամանն առանց տարբերակների և փաստարկների (և այս ձևով, ի տարբերություն վերը քննարկված բոլոր դեպքերի, այն կարող է տրվել նաև կանոնավոր օգտագործող) կցուցադրի ներկայումս տեղադրված ֆայլային համակարգերը՝ նշելով ամրացման կետը, դրա պայմանները և աշխատանքի ռեժիմը: Օրինակ, մեքենայի համար, որի վրա գրված են այս տողերը, դրա ելքը կունենա հետևյալ տեսքը. /var (ufs, local, noatime, soft-updates) /dev/ccd1e on /usr (ufs, local, noatime, soft-updates) /dev/ccd2e on /home (ufs, local, noatime, soft-updates) /dev/ md0-ը /tmp-ում (ufs, տեղական, noatime, async)

Արդյունքի առաջին տողը ցույց է տալիս, որ /dev/ad0s1a միջնորմը տեղադրված է մեր արմատային գրացուցակում, կրում է UFS ֆայլային համակարգ (մասնավորապես այս դեպքում UFS2, բայց դրանք չեն տարբերվում mount հրամանի ելքում) Soft Updates-ով: մեխանիզմը միացված է, տեղային է (այսինքն՝ տեղադրված է այս մեքենայի սկավառակի վրա, ցանցային կրիչները նույնպես տեղադրված են mount հրամանով) և չեն ազդում atime հատկանիշի թարմացումից:

Բայց հետո կան տողեր սարքերի և ֆայլային համակարգերի համար, որոնք չեն քննարկվել նախորդ պատմություններում: Ավելին, եթե նայենք ընթացիկ կազմաձևին համապատասխանող /etc/fstab ֆայլին. $ ավելին /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,noauto 0 / dev/da0s1 /mnt/usb ext2fs rw,noauto,noatime 0 0 /dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

մենք կտեսնենք, որ ելքային տողերից մեկը (devfs on /dev (devfs, local) բոլորովին չի համընկնում դրա մուտքերի միջև: Որո՞նք են այդ սարքերը և ֆայլային համակարգերը:

Ինչ վերաբերում է /dev/ccd0-ի նման սարքերին? Առայժմ միայն կասեմ, որ դրանք ծրագրային RAID զանգվածներ են (դրանց մասին ավելին կքննարկվի ավելի ուշ): Եվ ահա devfs և mfs վիրտուալ ֆայլային համակարգեր, որոնց մասին անմիջապես հաջորդ գրառման մեջ։

NTFS - «հայրենի» ֆայլ Windows համակարգ. Հետևաբար, միայն ֆլեշ կրիչների, կոշտ սկավառակների կամ մեզ անհայտ այլ շարժական կրիչների միացումը չի աշխատի (իրականում, այն կաշխատի, բայց խնդիրներ կլինեն): Հետևաբար, մենք ներկայացնում ենք այս հարցի վերաբերյալ մեր համապարփակ ձեռնարկը:


  1. Ինչպես միշտ, ամեն ինչ սկսվում է. Տեղադրեք վարորդը NTFS-ի համար՝ #cd /usr/ports/sysutils/fusefs-ntfs #make install clean
  2. FreeBSD 10-ից սկսած Fuse-ը միջուկի մի մասն է: Դարձրեք այն բեռնված համակարգի մոդուլներով #nano /boot/loader.conf fuse_load="YES"

    Այն կաշխատի վերաբեռնումից հետո: Ընթացիկ նստաշրջանում բեռնեք այս մոդուլը ձեռքով

    #kldload ապահովիչ

    Հրամանով կարող եք ստուգել՝ մոդուլը բեռնված է, թե ոչ

    #kldstat

    Եթե ​​ցանկը պարունակում է ապահովիչ.կո, դա նշանակում է, որ ամեն ինչ կարգին է:

    #kldstat Id Refs Հասցեի չափ Անունը 1 3 0xffffffff80200000 1fa7c38 միջուկ 2 1 0xffffffff821a9000 1a7c8 Fuse.ko

  3. Հաջորդը, մենք պետք է որոշենք, թե ինչպես է համակարգը տեսնում ֆլեշ կրիչը կամ արտաքին կոշտ սկավառակը՝ #dmesg | grep da

    Արդյունքը կլինի մոտավորապես այսպիսին.

    Da0 ժամը umass-sim0 ավտոբուսում 0 scbus1 թիրախ 0 lun 0 da0: s/n 00H79BHRYGX22JBN անջատված (da0:umass-sim0:0:0:0). Ծայրամասը ոչնչացվել է da0 umass-sim0 ավտոբուսում 0 scbus1 թիրախ 0 lun 0 da0: Շարժական Direct Access SPC-4 SCSI սարք da0՝ Սերիական համար 00H79BHRYGX22JBN da0՝ 40,000 ՄԲ/վ փոխանցում da0՝ 14870 ՄԲ (30453760 512 բայթ հատվածներ) da0՝ տարօրինակություններ=0x12 da1 ժամը umass-sim1 ավտոբուսում 1 scbus2 թիրախ 0 lun 0 da1: s/n 8968888304C9BB52 անջատված է (da1:umass-sim1:1:0:0). Ծայրամասը ոչնչացրել է da1 umass-sim1 ավտոբուսում 1 scbus2 թիրախ 0 lun 0 da1: Շարժական ուղղակի մուտքի SCSI-2 սարք da1՝ Սերիական համար 8968888306C9BB52 da1՝ 40,000 ՄԲ/վ փոխանցումներ da1՝ 1999 ՄԲ (4093952 512 բայթ հատվածներ) da1՝ տարօրինակություններ=0x2

    Մենք տեսնում ենք, որ համակարգում մենք ունենք երկու ֆլեշ կրիչներ նույնացուցիչներով da0Եվ da1. Մեր օրինակում մենք կօգտագործենք միայն ֆլեշ կրիչ: da0.

  4. Տեղադրեք այն հետևյալ հրամանով. ntfs-3g /dev/da0 /mnt

    /dev/da0- սա մեր ֆլեշ կրիչն է, մենք պարզեցինք 3-րդ կետում:
    /մնթլեռան կետն է: Նա կարող է լինել ցանկացած մեկը:

    Եթե ​​սխալ է տեղի ունենում, տեղադրեք ֆլեշ կրիչի բաժանումը: Մտնելուց հետո

    Ntfs-3g /dev/da0

    սեղմեք TAB և տեսեք ֆլեշ կրիչի միջնորմները

    Da0 da0s1

    Եվ տեղադրեք այս հատվածը

    Ntfs-3g /dev/da0s1 /mnt

  5. Մենք գնում ենք այն գրացուցակը, որտեղ մենք տեղադրեցինք ֆլեշ կրիչը և այնտեղ տեսնում ենք դրա բովանդակությունը՝ #cd /mnt #ll ընդհանուր 13 drwxrwxrwx 1 արմատային անիվ 0 4 նոյ. 17:23 Համակարգի ծավալի տեղեկատվություն/ -rwxrwxrwx 1 արմատային անիվ 9 Նոյեմբեր 4 18:05 xxx.xxx* -rwxrwxrwx 1 արմատային անիվ 22 նոյեմբերի 4 18:04 ZIP արխիվ - WinRAR.zip* -rwxrwxrwx 1 արմատային անիվ 9904 Նոյեմբեր 4 18:04 Լիստ Microsoft Office Excel.xlsx*

    Այժմ դուք կարող եք ֆայլեր գրել USB ֆլեշ կրիչում և կարդալ դրանք այնտեղից:

  6. Ֆլեշ կրիչը ապամոնտաժելու համար նախ թողեք այն գրացուցակը, որտեղ այն տեղադրված է: Օրինակ, #cd /

    Եվ դրանից հետո մենք օգտագործում ենք հրամանը

    #քանակը /mnt

    նշեք, որ փաստարկը ֆլեշ կրիչ չէ, այլ դրա ամրացման կետը:
    ԿԱՐԵՎՈՐ. Հրամանը մուտքագրելուց անմիջապես հետո մի հանեք ֆլեշ կրիչը: Այն հնարավոր կլինի դուրս բերել միայն մի քանի վայրկյան հետո, երբ տերմինալում նորից հայտնվի մուտքագրման հուշումը:

Ես հաճախ ուշադրություն եմ դարձնում այն ​​փաստին, որ պարզ հարցերը հաճախ վատ են լուսաբանվում ինտերնետում: Սա հավանաբար այն պատճառով է, որ բոլոր գուրուները վստահ են, որ ոչ ոք երբեք նման հիմար հարցեր չի տա, քանի որ դա բոլորը գիտեն։ Բայց իմ պրակտիկան ցույց է տվել, որ հենց այդպիսի փոքր պարզ հարցերն են առավել հաճախակի ոչ միայն սկսնակների համար, այլև լուրջ ադմինիստրատորների համար, ովքեր պարզապես ստիպված չեն եղել դրանով զբաղվել: Նույնիսկ լուրջ ադմիններն ամեն օր դա չեն անում, բայց չմոռանալու համար մի տեսակ խաբեբա են պահում իրենց համար՝ ոչ մեկին դա չընդունելով։ Եկեք ամեն ինչ շտկենք։ Այժմ դուք կսովորեք, թե ինչպես ավելացնել 5 րոպեում HDD FreeBSD-ում։ Այսպիսով. Նախ կթարգմանվի ամբողջական հրահանգներհասկանալ գործընթացը, իսկ վերջում կլինի գործողությունների կարճ ցուցակ, որը կպարունակի միայն հրամանների ցանկը որպես խաբեության թերթիկ:

Մանրամասն հրահանգներ՝ բացատրություններով

Կոշտ սկավառակի անուն ընտրելը

Սկզբում մենք պետք է որոշենք սարքի անունը, որը մենք նոր ավելացրել ենք: Հետևյալ հրամանը կօգնի մեզ այս հարցում.

Geom սկավառակի ցուցակ

Կամ այս հրամանը.

Տեսախցիկի հսկողության մշակման ցուցակ

Իրական համակարգում այս հրամանները ցույց կտան ավելին օգտակար տեղեկատվություն, այն է՝ սարքերի անվանումները և դրանց սերիական համարները։

Մինչ նոր սարք տեղադրելը մենք գիտեինք, որ մեր համակարգը տեղադրված է ada0-ի վրա, ուստի տրամաբանորեն մեր նոր սկավառակ ada1. Դուք կարող եք դա որոշել նոր սարքի անունով, սերիական համարով կամ ծավալով:

Հիմա եկեք ստուգենք, թե արդյոք մեր նոր սկավառակի վրա նշում կա

gpart շոու ada1

Սկավառակը միջնորմ չունի:

Գոյություն ունեցող նշումների հեռացում

Եթե ​​սկավառակն արդեն օգտագործվել է, և անհրաժեշտություն կա հեռացնել միջնորմը, պարզապես գործարկեք.

Gpart ոչնչացնել -F ada1

GPT նշագրման ստեղծում

Սկզբում մենք պետք է ստեղծենք սկավառակի դասավորություն: Խիստ խորհուրդ եմ տալիս մոռանալ MBR-ի մասին և անցնել նոր, ավելի հարմար և ֆունկցիոնալի՝ GPT-ի:

Ստեղծեք GPT բաժին սկավառակի վրա, ապա ստուգեք, թե ինչ է տեղի ունեցել.

gpart create -s gpt /dev/ada1 gpart show ada1

Այժմ մենք ունենք GPT սկավառակի բաժանում: Ելքից դուք կարող եք տեսնել, որ բացարձակապես ամբողջ սկավառակը, սկսած LBA 34-ից և վերջացրած LBA 8388541-ով, դատարկ է: LBA 0-33 - համակարգի կողմից վերապահված է բաժանման աղյուսակի համար:

Ենթադրենք, որ մենք պետք է ստեղծենք երկու բաժին այս սկավառակի վրա.

  • փոխանակում- փոխանակել բաժանումը
  • տվյալները- ufs տիպի մի հատված՝ մեզ անհրաժեշտ ցանկացած տվյալներ պահելու համար:

Բաժինների (հատվածների) ստեղծում

Եթե ​​տեղադրումն իրականացվում է ժամանակակից կոշտ սկավառակներ, որի հատվածի չափը = 4 կբ, ապա միջնորմներ (բաժանումներ) ստեղծելիս պետք է օգտագործել հավասարեցում։ Շարունակելու երկու եղանակ կա. 1) եթե մենք բլոկներում նշում ենք հատվածի պարամետրերը, ապա մուտքագրում ենք բլոկի համարը 8-ի բազմապատիկներով, օրինակ. -բ 40; 2) եթե մենք նշում ենք հատվածի չափը բայթերով, կամ ընդհանրապես չենք նշում սկիզբը և չափը, օգտագործեք պարամետրը. - a 4k, որը կտեղավորի հատվածի սկիզբը և վերջը 4 կբ հատվածներին: Քանի որ այս օրինակում մենք փորձնական տեղադրում ենք կատարում վիրտուալ կոշտ սկավառակի վրա, դա կարելի է բաց թողնել: Ամեն դեպքում, նախքան միջնորմներ ստեղծելը, դուք պետք է հստակ իմանաք ձեր սկավառակի հատվածի չափը, հակառակ դեպքում դա կհանգեցնի աշխատանքի սարսափելի արգելակների:

Հիմա եկեք ստեղծենք բաժիններ: Դա անելու համար կա gpart add հրաման՝ տարբեր տարբերակներով: Առաջին պարամետր -տ- ցույց է տալիս ստեղծվող ֆայլային համակարգի տեսակը: Մեր դեպքում կօգտագործվի երկու տեսակ՝ freebsd-swap և freebsd-ufs։ Հետևյալը երկու կամընտիր պարամետր է. - ցույց է տալիս LBA համարը, որից պետք է ստեղծվի բաժանումը: Եթե ​​դուք չեք նշում այս պարամետրը, ապա բաժանումը ավտոմատ կերպով կստեղծվի առաջին անվճար LBA-ից: - ցույց է տալիս բաժանման չափը LBA-ում: Մեկ LBA բլոկի չափը = 512 բայթ: Ցանկալի է նշել LBA բլոկների քանակը, բայց դա հնարավոր է նաև կիլո/մեգա/գիգա/… բայթ (կ/Մ/Գ վերջածանց): Եթե ​​դուք չեք նշում այս պարամետրը, ապա բաժանումը կստեղծվի մինչև առավելագույն հնարավոր LBA դատարկ տարածքում: Կարող եք նաև որպես պարամետր նշել բաժնի պիտակը, օրինակ՝ - Փոխանակում եմ 1- այս դեպքում կստեղծվի /dev/gpt/swap1 պիտակը, որով դուք կարող եք ավելի հարմար մուտք գործել բաժին: Վերջին պահանջվող պարամետրը սկավառակի ուղին է: Մեր դեպքում՝ /dev/ada1:

Եկեք ստեղծենք երկու բաժանմունք և հետո տեսնենք, թե ինչ ենք ստացել: Մենք կստեղծենք առաջին բաժանումը առանց նախնական LBA-ն նշելու, բայց նշելով 1 ԳԲ չափը (2097152 բլոկ): Մենք կստեղծենք երկրորդ բաժինը՝ առանց նախնական LBA-ի նշելու և առանց չափը նշելու, այս կերպ այն կստեղծվի ամբողջ ազատ տարածության վրա:

gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1 gpart show ada1

Չափը կարող է նշվել բայթերով, այլ ոչ թե բլոկներով: Դա շատ ավելի հարմար է: Միակ բացասականն այն է, որ համակարգը չի կարող միշտ ճիշտ հաշվարկել բլոկների քանակը: Կարող են լինել դեպքեր, երբ որոշակի թվով բլոկներ կմնան դատարկ սկավառակի վրա՝ բայթերով բաժանման չափը նշելիս։

Ֆայլային համակարգի ստեղծում (ֆորմատավորում)

Փոխանակման միջնորմները ֆորմատավորման կարիք չունեն: Սակայն uf-ների նման բաժինները պետք է ֆորմատավորվեն նախքան օգտագործելը: Ավելի ճիշտ կլինի ասել՝ դրանց վրա պետք է ֆայլային համակարգ ստեղծվի։

Երկրորդ բաժանման վրա ֆայլային համակարգ ստեղծելու համար պարզապես գործարկեք հետևյալ հրամանը.

Newfs -U /dev/ada1p2

Այս դեպքում օգտագործվել է -U պարամետրը, որը ցույց է տալիս, որ այս ֆայլային համակարգում պետք է օգտագործվի Soft Updates մեխանիզմը: Դուք կարող եք ընտրել չօգտագործել այս տարբերակը՝ այս մեխանիզմն անջատելու համար:

Մոնտաժում

Հաջորդ քայլը միջնորմների տեղադրումն է: Նախ, չմոռանալու համար, ավելացնենք մեր նոր բաժինները /etc/fstab-ում: Իմ ֆայլը խմբագրելուց հետո այսպիսի տեսք ունի.

Բոլոր բաժանմունքները /etc/fstab ֆայլի համաձայն վերամիավորելու համար պարզապես գործարկեք հրամանը.

Լեռ-ա

Ինչպես տեսնում եք ելքից, /dev/ada1p2 բաժանումը տեղադրված է: Հիմա տեսնենք, թե ինչ եղավ SWAP բաժանման հետ: Եկեք գործարկենք հրամանը.

Ինչպես տեսնում եք, նոր SWAP բաժինը տեղադրված չէ: SWAP-ը տեղադրելու համար անհրաժեշտ է այն միացնել հատուկ հրամանով.

Փոխանակում /dev/ada1p1

Նույն կերպ, օգտագործելով swapoff հրամանը, դուք պետք է անջատեք SWAP միջնորմը՝ դրա վրա որևէ գործողություն կատարելուց առաջ։

Սա նորը ավելացնելու բոլոր քայլերն են կոշտ սկավառակհամակարգում ավարտված են:

Համառոտ հրահանգ

Տրված էկոշտ սկավառակ /dev/ada1

ԹիրախՋնջել առկա բաժինը, ստեղծել նոր GPT միջնորմ, ստեղծել երկու բաժին՝ swap և data, և միացնել դրանք աշխատանքային համակարգին:

Յուրաքանչյուր քայլից հետո արեք gpart շոուարդյունքը տեսնելու համար։ Հաջորդականություն:

  1. Հեռացնել առկա նշումը՝ gpart ոչնչացնել -F ada1
  2. Ստեղծեք նոր դասավորություն. gpart create -s gpt /dev/ada1
  3. Ստեղծեք երկու բաժին՝ swap և տվյալներ՝ gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Ստեղծեք ֆայլային համակարգ UFSv2երկրորդ բաժանման վրա՝ newfs -U /dev/ada1p2
  5. Ավելացրեք տողեր /etc/fstab-ին` boot-ում ավտոմատ տեղադրելու համար.
  6. Տեղադրեք նոր բաժանմունք (հրամանը տեղադրում է բոլոր բաժինները /etc/fstab ֆայլից). mount -a
  7. Միացրեք նոր փոխանակման բաժինը հրամանով՝ swapon /dev/ada1p1

Սա ավարտում է կարգավորումը:

Հրամաններն օգտագործելիս կարող եք փոխել մուտքի իրավունքները և ֆայլերի և գրացուցակների սեփականատերը chmodԵվ chown. Դիմակ՝ իրավունքների սահմանման համար գեներացված ֆայլեր, կարող է փոխվել գլոբալ, in /etc/profil Linux-ի համար և /etc/login.conf FreeBSD-ի համար: Սովորաբար լռելյայն դիմակ 022 . Իմաստը umaskհանվում է 777 , ուստի թույլտվությունները նշանակություն կունենան 755 . գործադիր թույլատրվում է կատարումկարդալ - կարդալ թույլտվություն գրել - գրելու թույլտվություն SUID բիթ - ֆայլի հատկանիշը, գործարկվող ֆայլի հատկանիշի հետ համատեղ, թույլ է տալիս գործարկվող ֆայլը գործարկվել ֆայլի սեփականատիրոջ արդյունավետ UID-ով, այլ ոչ թե ֆայլը վարող անձի հետ: 1 --x կատարել # Թույլտվություններ 764 = exec/կարդալ/գրել | կարդալ/գրել | կարդալ 2 -w-գրել # Համար՝ |-- Սեփականատեր --| |-Խմբա-| |Այլ| 4 r-- կարդալ ugo=a u=օգտատեր, g=խումբ, o=ուրիշներ, a=բոլորը# chmod MODE[,MODE] FILE # ՌԵԺԻՄունի ձև. *([-+=]()) # chmod 640 /var/log/maillog # Սահմանեք թույլտվությունները հավասար -rw-r----- # chmod u=rw,g=r,o= /var/log/maillog # Ինչպես վերևում # chmod -R o-r /home/* # Ռեկուրսիվորեն փոխեք թույլտվությունները, անջատեք ընթերցումը Այլ # chmod u+s /path/to/prog # Տեղադրեք SUIDբիթ յուրաքանչյուր գործարկվողի համար (զգույշ եղեք այստեղ, դուք պետք է հասկանաք, թե ինչ եք անում)# գտնել / -perm -u+s -print # Գտեք տեղադրված բոլոր ծրագրերը SUIDքիչ# chown օգտվող:group /path/to/file # Սահմանեք օգտվողին և խումբը որպես ֆայլերի սեփականատերեր# chgrpgroup /ուղի/դեպի/ֆայլ # Փոխեք խումբը, որին պատկանում է ֆայլը# chmod 640 «find ./ -type f -print». # Փոխել թույլտվությունները 640 բոլոր ֆայլերի համար# chmod 751 `find ./ -type d -print` # Փոխել թույլտվությունները 751 բոլոր դիրեկտորիաների համար

Սկավառակի տեղեկատվություն

# diskinfo -v /dev/ad2 # Դիտեք սկավառակի տեղեկատվությունը ( հատված/չափ) FreeBSD# hdparm -I /dev/sda # Տեղեկություն մասին IDE/ATAսկավառակ (Linux)# fdisk /dev/ad2 # Ցուցադրել փոխել սկավառակի միջնապատերը# smartctl -a /dev/ad2 # Ցուցադրում ՍՄԱՐԹսկավառակի մասին տեղեկատվություն

Բեռնվում է

FreeBSD

Հին միջուկը բեռնելու համար, արտակարգ իրավիճակներում, օրինակ՝ ձախողված կառուցումից և նորի տեղադրումից հետո, դադարեցրեք բեռնախցիկը հետհաշվարկի ընթացքում սեղմելով 6՝ հրամանի տողին հասնելու համար: # բեռնաթափել # բեռնել միջուկը, հին # բեռնախցիկ

Մոնտաժման կետեր, սկավառակի օգտագործում

# լեռ | սյունակ -t # Ցուցադրել տեղադրված ֆայլային համակարգերը#Դ Ֆ # Ցույց տվեք ազատ տարածություն և տեղադրված սարքեր# cat /proc/partitions # Ցույց տալ բոլոր գրանցված բաժանմունքները (Linux)

Տեղեկատվական տեղեկատու

#դու-շ* # Գրացուցակների չափերը որպես ցուցակ# du -csh # Ընթացիկ գրացուցակի ընդհանուր չափը# դու -կս * | տեսակավորել -n -r # Ցուցակ դիրեկտորիաների տեսակավորված ըստ չափի կիլոբայթներով# ls -lSr # Գրացուցակների ցուցակ, հակադարձ տեսակավորում

Ով ինչ ֆայլեր է բացել

Երբեմն դուք պետք է պարզեք, թե որ ֆայլն է արգելափակել բաժանումը, ինչի պատճառով էլ հրամանը գումարտալիս է համապատասխան սխալ: # umount /home/ umount. ապամոնտաժել /home-ը # Բաժանմունքը չի կարող ապամոնտաժվել մինչև /տունարգելափակված էձախողվեց. սարքը զբաղված է

FreeBSD և Unix-ի նման համակարգերի մեծ մասը

# fstat -f /տուն # ամրացման կետի համար# fstat -p PID # PID-ով կիրառման համար# fstat -u օգտվող # օգտվողի անվան համարԳտեք բացել ֆայլըՀամար Խորգ: # ps կացին | grep Xorg | awk "(print $1)" 1252 # fstat -p 1252 USER CMD PID FD MOUNT INUM MODE SZ|DV R/W արմատ Xorg 1252 արմատ / 2 drwxr-xr-x 512 r արմատ Xorg 1252 տեքստ /usr 216016 -rws x--x 1679848 r արմատ Xorg 1252 0 /var 212042 -rw-r--r-- 56987 w Գտնել ֆայլը inum 212042 գրացուցակում /varԴուք կարող եք դա անել՝ # find -x /var -inum 212042 /var/log/Xorg.0.log

Linux

Գտեք բաց ֆայլ գրացուցակում fuserկամ lsof# fuser -m /home # Գործընթացների ցանկ, որոնց հասանելի է /տուն # lsof /տուն ՀՐԱՄԱՆԻ PID ՕԳՏԱԳՈՐԾՈՂ FD ՏԵՍԱԿԸ ՍԱՐՔԻ ՉԱՓԸ ՀԱՆՈՒՑԻ ԱՆՈՒՆԸ tcsh 29029 eedcoba cwd DIR 0.18 12288 1048587 /home/eedcoba (guam:/home) lsof 29140 29140 DIR2010000000000000. ես/էդ կոբա (գուամ:/տուն) Գտնել ըստ PIDհավելվածներ՝ ps ax | grep Xorg | awk "(print $1)" 3324 # lsof -p 3324 COMMAND PID ՕԳՏԱԳՈՐԾՈՂ FD ՏԵՍԱԿ ՍԱՐՔԻ ՉԱՓԸ ՀՈԳԻ ԱՆՈՒՆԸ Xorg 3324 արմատ 0w REG 8,6 56296 12492 /var/log/Xorg.0.log Ըստ ֆայլի անունը՝ / lsof log/Xorg.0.log ՀՐԱՄԱՆԻ PID ՕԳՏԱԳՈՐԾՈՂ FD ՏԵՍԱԿԸ ՍԱՐՔԻ ՉԱՓԸ ՀՈԳԻ ԱՆՈՒՆԸ Xorg 3324 արմատ 0w REG 8,6 56296 12492 /var/log/Xorg.0.log

Ֆայլային համակարգերի տեղադրում/վերամոնտաժում

Օրինակ cdromգրված է /etc/fstab# mount /cdrom Կամ կարող եք գտնել սարքը / devկամ ելքի մեջ dmesg

FreeBSD

# mount -v -t cd9660 /dev/cd0c /mnt # Տեղադրեք սկավառակ CDrom(մեթոդ առաջին)# mount_cd9660 /dev/wcd0c /cdrom # Տեղադրեք սկավառակ CDrom(մեթոդ երկրորդ)# mount -v -t msdos /dev/fd0c /mnt # Floppy Գրել /etc/fstab: # Device Mountpoint FStype Options Dump Pass# /dev/acd0 /cdrom cd9660 ro,noauto 0 0 Թույլ տալ օգտվողներին միացնել կրիչներ՝ # sysctl vfs.usermount=1 # Կամ մուտքագրեք տող «vfs.usermount=1» /etc/sysctl.conf-ում

Linux

# mount -t ավտոմատ /dev/cdrom /mnt/cdrom # Տիպիկ սկավառակի տեղադրման հրաման cdrom # mount /dev/hdc -t iso9660 -r /cdrom # Տեղադրեք սկավառակ IDE # mount /dev/scd0 -t iso9660 -r /cdrom # Տեղադրեք սկավառակ SCSI cdrom# mount /dev/sdc0 -t ntfs-3g /windows # Տեղադրեք սկավառակ SCSI Ձայնագրում է /etc/fstab/dev/cdrom /media/cdrom subfs noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec 0 0

FreeBSD Linux միջնորմի տեղադրում

Փնտրեք բաժնի համարը fdisk, սովորաբար սա արմատային բաժանումն է, բայց այն կարող է լինել մեկ ուրիշի վրա BSDկտոր. Եթե ​​FreeBSD բաժանման վրա շատ կտորներ կան, դրանք տեսանելի չեն լինի fdisk, բայց դրանք կարելի է գտնել dev/sda*կամ /dev/hda*. # fdisk /dev/sda # Գտեք FreeBSD բաժանումը/dev/sda3 * 5357 7905 20474842+ a5 FreeBSD # mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt /dev/sda10 = /tmp; /dev/sda11 /usr # Մեկ այլ հատված

Վերամիացում

Ապամոնտաժեք սարքը առանց նախապես ապամոնտաժելու, օրինակ fsck# mount -o remount,ro / # Linux # mount -o ro / # FreeBSD Պատճենել տվյալների հոսքը CDROM«և ներկայացնել ISO պատկեր. # dd if=/dev/cd0c of=file.iso

Փոխանակման բաժանման ստեղծումը թռիչքի ժամանակ

Ենթադրենք, դուք պետք է մեծացնեք swap միջնորմը, ասեք 2 գիգաբայթ, /swap2gb(Linux-ի համար) # dd if=/dev/zero of=/swap2gb bs=1024k count=2000 # mkswap /swap2gb # Ստեղծել փոխանակում # swapon /swap2gb # Միացնել փոխանակումը, այժմ այն ​​կարող է օգտագործվել# swapoff /swap2gb # Անջատել swap # rm /swap2gb

SMB բաժանման տեղադրում

CIFS- Ընդհանուր ինտերնետ ֆայլային համակարգ SMB- սերվերի հաղորդագրությունների բլոկԵնթադրենք, դուք պետք է մուտք գործեք համօգտագործված SMBԲաժին myshareսերվերի վրա smbserver, հասցեն հավաքված է Windows մեքենակամք \\smbserver\myshare\. Մենք կտեղադրենք /mnt/smbshare. Մի մոռացեք համար cifsՊահանջվում է IP հասցե կամ տիրույթի անուն:

Linux

# smbclient -U օգտվող -I 192.168.16.229 -L //smbshare/ # Ցուցակել բաժնետոմսերը # mount -t smbfs -o username=winuser //smbserver/myshare /mnt/smbshare # mount -t cifs -o username=winuser, password=winpwd //192.168.16.229/myshare /mnt/share Նաև փաթեթ mount.cifsթույլ է տալիս ֆայլում պահել արտոնությունները, օրինակ. /home/user/.smb username=winuser password=winpwd Եվ հիմա տեղադրեք՝ # mount -t cifs -o credentials=/home/user/.smb //192.168.16.229/myshare /mnt/smbshare

FreeBSD

օգտագործել բանալին -Ես IP հասցեն սահմանելու համար (կամ DNS); smbserver, Windows-ի անունն է։ # smbutil view -I 192.168.16.229 // [էլփոստը պաշտպանված է] # Համօգտագործվող ռեսուրսների ցանկ# mount_smbfs -I 192.168.16.229 // [էլփոստը պաշտպանված է]/myshare /mnt/smbshare

Լեռան պատկեր

Linux-ի օղակը հետ է

# mount -t iso9660 -o loop file.iso /mnt # Տեղադրեք CD պատկերը# mount -t ext3 -o հանգույց file.img /mnt # Տեղադրեք պատկերը ֆայլային համակարգով ext3

FreeBSD

Օգտագործելով մդ- հիշողության սարք (անհրաժեշտության դեպքում պատրաստեք kldload md.ko): # mdconfig -a -t vnode -f file.iso -u 0 # mount -t cd9660 /dev/md0 /mnt # umount /mnt; mdconfig -d -u 0 # Մաքրել պահեստային սարքըԿամ օգտագործելով կեղծ սարք ( VN, վիրտուալ հանգույց): # vnconfig /dev/vn0c file.iso; mount -t cd9660 /dev/vn0c /mnt # umount /mnt; vnconfig -u /dev/vn0c # Մաքրել կեղծ սարքը

Ստեղծեք և այրեք ISO պատկեր

Մենք պատճենելու ենք cd կամ dvd հատված առ ոլորտ: # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc Օգտագործել մկիսոֆսգրացուցակում գտնվող ֆայլից պատկեր ստեղծելու համար: Ֆայլի անվան սահմանափակումները հաղթահարելու համար օգտագործեք տարբերակը , որը ներառում է ընդլայնումը Ռոք Ռիջ, հիմնական համար UNIX համակարգեր, ներառում է Ջոլիետ Microsoft-ի կողմից օգտագործված, թույլ է տալիս ISO9660անուններ, որոնք սկսվում են կետով: # mkisofs -J -L -r -V TITLE -o imagefile.iso /path/to/dir FreeBSD-ում, մկիսոֆսկարող է տեղադրվել /usr/ports/sysutils/cdrtools-ից:

Այրել CD/DVD ISO պատկերներ

FreeBSD

FreeBSD-ը չի տեղադրվի DMAվրա ATAPIսարքեր, դա կարելի է անել փոփոխականի միջոցով sysctlկամ ֆայլում /boot/loader.conf, հետևյալ գրառումները. hw.ata.ata_dma="1" hw.ata.atapi_dma="1" Օգտագործել այրվել է ATAPI սարքերի համար ( այրվել է, ստանդարտ ծրագիր, բազային համակարգի մաս) և cdrecord(ից /usr/ports/sysutils/cdrtools) SCSI սարքերի համար: # burncd -f /dev/acd0 տվյալների imagefile.iso ամրագրում # ATAPI սարքերի համար# cdrecord -scanbus # Գտնել ձայնագրիչ # cdrecord dev=1,0,0 imagefile.iso

Linux

Օգտագործեք նաև cdrecordինչպես նկարագրված է վերևում: Կարող եք նաև օգտագործել բնիկ ATAPI ինտերֆեյսը. # cdrecord dev=ATAPI -scanbus Գրառել, ինչպես նկարագրված է վերևում:

dvd + rw-գործիքներ

dvd+rw-tools փաթեթը (FreeBSD: ports/sysutils/dvd+rw-tools) ունի DVD-ների հետ աշխատելու համար անհրաժեշտ բոլոր գործառույթները, գումարած. աճուկներ, CD կամ DVD ձայնագրելու համար: Օրինակներով փաստաթղթերը կարելի է գտնել FreeBSD ձեռնարկի Գլուխ 18.7-ում # -dvd-compat-ը փակում է սկավառակը# growisofs -dvd-compat -Z /dev/dvd=imagefile.iso # Գրեք գոյություն ունեցող iso պատկեր # growisofs -dvd-compat -Z /dev/dvd -J -R /p/to/data # Անմիջապես ձայնագրեք

Փոխարկեք պատկերը Nero .nrg ֆայլից .iso ֆայլի

Nero-ն պատկերին ավելացնում է 300 կբ վերնագիր, այն կարելի է կտրել դդ. # dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300

Փոխարկեք bin/cue պատկերը .iso-ի

Դա կարելի է անել փոքր ծրագրով, bchunk . FreeBSD-ում այն ​​կարելի է գտնել նավահանգիստներում /usr/ports/sysutils/bchunk. # bchunk imagefile.bin imagefile.cue imagefile.iso

Ստեղծեք պատկեր ֆայլից

Օրինակ, 1 ԳԲ բաժանումը օգտագործում է ֆայլը /usr/vdisk.img. Այս դեպքում մենք օգտագործում ենք բանալին -u 0, բայց թիվը կարող է լինել ցանկացած:

FreeBSD

# dd if=/dev/random of=/usr/vdisk.img bs=1K count=1M # mdconfig -a -t vnode -f /usr/vdisk.img -u 0 # Ստեղծեք սարք /dev/md1 # bsdlabel -w /dev/md0 # newfs /dev/md0c # mount /dev/md0c /mnt # umount /mnt; mdconfig -d -u 0; rm /usr/vdisk.img # Մաքրել մդՖայլից ստեղծված պատկերը կարող է տեղադրվել համակարգի բեռնման ժամանակ՝ գրելով տող /etc/rc.confԵվ /etc/fstab. Դուք կարող եք ստուգել, ​​արդյոք ձեր կարգավորումները ճիշտ են, օգտագործելով հրամանը /etc/rc.d/mdconfig սկիզբ(նախկինում սարքը հեռացնելը md0օգտագործելով հրամանը # mdconfig -d -u 0) Նկատի ունեցեք, որ պատկերի ավտոմատ մոնտաժումը կաշխատի միայն այն դեպքում, եթե պատկերի ֆայլը ՉԻ գտնվում արմատական ​​բաժանման մեջ, քանի որ սկրիպտը /etc/rc.d/mdconfigիրականացվել է boot-ի վաղ փուլում, երբ արմատային միջնորմը դեռ գրառելի չէ: Արմատային միջնորմից դուրս գտնվող պատկերները հետագայում կմոնտաժվեն սկրիպտի միջոցով /etc/rc.d/mdconfig2.
/boot/loader.conf: md_load="YES" /etc/rc.conf: mdconfig_md0="-t vnode -f /usr/vdisk.img" # / usrոչ արմատային բաժանման մեջ/etc/fstab: (0 0 վերջում, շատ կարևոր է, սա ցույց կտա fsckանտեսել սարքի ստուգումը, քանի որ այն դեռ գոյություն չունի) /dev/md0 /usr/vdisk ufs rw 0 0
Բացի այդ, հետագայում կարող եք մեծացնել պատկերի չափը, ասենք 300 մբ-ով։ # mount /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 # Այժմ ֆայլի միջնորմը 300 մբ ավելի մեծ է

Linux

# dd if=/dev/zero of=/usr/vdisk.img bs=1024k count=1024 # mkfs.ext3 /usr/vdisk.img # mount -o հանգույց /usr/vdisk.img /mnt # umount /mnt; rm /usr/vdisk.img # Մաքրել

Linux և կորցնում

/dev/zeroշատ ավելի արագ, քան պատահական, բայց ավելի քիչ ապահով գաղտնագրման համար: # dd if=/dev/urandom of=/usr/vdisk.img bs=1024k count=1024 # losttup /dev/loop0 /usr/vdisk.img #Ստեղծել /dev/loop0 # mkfs.ext3 /dev/loop0 # mount /dev/loop0 /mnt # losttup -a # Check # umount /mnt # losttup -d /dev/loop0 # Detach # rm /usr/vdisk.img

Հիշողության մեջ ֆայլային համակարգի ստեղծում

Հիշողության մեջ գտնվող ֆայլային համակարգը շատ արագ է, իմաստ ունի օգտագործել այն բարձր սկավառակի IO ունեցող հավելվածների համար: Եկեք ստեղծենք 64 ՄԲ միջնորմ և տեղադրենք այն / memdisk:

FreeBSD

# mount_mfs -o rw -s 64M md /memdisk # umount /memdisk; mdconfig -d -u 0 # Պարզ մդսարքը md /memdisk mfs rw,-s64M 0 0 #գրել /etc/fstab

Linux

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

Առաջարկեք կատարումը

Գրել եւ կարդալ 1 գբֆայլը բաժնում ad4s3c (/տուն) # time 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 # Linux միայն