Ցանցային սկավառակի ավտոմատ տեղադրում freebsd boot-ում: MiniHowTo. FreeBSD սկավառակի տեղադրում: Փոխանակման բաժանման ստեղծումը թռիչքի ժամանակ

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

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

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

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

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

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

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

Ֆայլային համակարգի տրամաբանություն

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

Արմատային գրացուցակից, որը կարող է ավելի շատ նմանվել ծառի կոճղին, ճյուղերը հեռանում են՝ ենթադիրեկտորիաները գտնվում են դրա մեջ, իսկ կադրերը՝ սովորական ֆայլերը: Վերջիններս, սակայն, քիչ են. FreeBSD տարբերակներում սա էնտրոպիայի ֆայլի տեսակ է (/entropy) և համակարգի հեղինակային իրավունքի նկարագրությամբ ֆայլ /COPYRIGHT ։

Բայց արմատային գրացուցակում կան բավականին շատ ենթագրքեր, և դրանցից մի քանիսը ներսում շատ բարդ են, որոնք պարունակում են ավելի խորը մակարդակների ներդիր ենթագրքեր:

Սկզբունքորեն, գրացուցակի հիերարխիան բոլոր Unix համակարգերում նման է, քանի որ այն կարգավորվում է, նախ, երկար ավանդույթով, և երկրորդ, բոլոր տեսակի ստանդարտացման փաստաթղթերով, մասնավորապես, FHS-ով (Filesystem Hierarchy Standard), որն այժմ հասանելի է Հայաստանում: Ռուսերեն թարգմանություն (որի համար շնորհակալություն Վիկտոր Կոստրոմին):

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

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

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

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

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

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

$ ls -i /

այն մեզ կցուցադրի մի փոքր անսպասելի պատկեր (պարզության համար սովորական ֆայլերի և արմատային սիմվոլիկ հղումների մասին տեղեկատվությունը բացառված է ելքից, իսկ մնացած դիրեկտորիաները դասավորված են ըստ իրենց նույնացուցիչների).

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/ 247476 եւ այլն կոշիկ/

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

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

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

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

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

$ ls -i /mnt 18 սկավառակ/ 24 iso/ 19 usb/

Հիմա եկեք վերցնենք և տեղադրենք USB ինտերֆեյսով ֆլեշ կրիչը / mnt / usb-ում (այդպես էի նախատեսել այն) և կրկնել վերանայումը: Եվ մենք տեսնում ենք.

18 սկավառակ / 24 iso / 2 USB /

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

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

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

Մոնտաժման պրակտիկա

Մոնտաժման նպատակը mount հրամանն է, որը կամ ավտոմատ կերպով կատարվում է համակարգի բեռնման ժամանակ կամ ձեռքով հրամանի տողից: Իրականում, ամբողջ իմաստով, ամեն դեպքում ավտոմատ կերպով տեղադրվում է միայն արմատային ֆայլային համակարգը: Պարտադիր չէ, որ այն լինի սկավառակի վրա. փրկարար CD-ից կամ այլ անվտանգության կրիչից սկսելիս այն կարող է տեղակայվել RAM-ի վիրտուալ սկավառակի վրա:

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

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

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

$ ls -1 /sbin/mount*

ինչ կտա մեզ պատասխանը

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

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

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

$ mount /dev/ads0d /usr

տեղադրում է ֆայլային համակարգը նշված բաժանման վրա /usr գրացուցակում, որը գտնվում է ֆայլի ծառի արմատում: Եթե ​​սարքի ֆայլային համակարգը չի ստեղծվել կամ ունի այլ տեսակ, քան UFS/UFS2, կհետևի սխալի հաղորդագրություն՝ սխալ սուպերբլոկի ցուցում. ֆայլային համակարգի տեսակը.

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

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

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

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

$ 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 ֆայլի համակարգի_տիպ տարբերակով: Այսպիսով, հրամանը

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

կտեղադրի Linux ֆայլային համակարգը (եթե միացված է միջուկում): Միևնույն ժամանակ, BSD միջնորմների համար ստանդարտ մոնտաժը պարզապես փոխարինվում է /mount_ext2fs հրամանով, որը նախատեսված է ext2fs միջնորմները տեղադրելու համար (և ext3fs նույնպես, բայց, իհարկե, առանց գրանցման գործառույթների): Դա է ձևը

$ mount -t ftype ... ...

կլինի հրամանի ամբողջական համարժեքը

$ mount_ftype ... ...

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

Ավտոմատ ամրացման կարգավորում

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

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

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

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

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

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

# Սարքի Mountpoint FStype Options Dump Pass# /dev/ad0s1a / ufs rw 1 1 /dev/ad0s1b ոչ swap sw 0 0

Եթե ​​հետևեք ողջամիտ մարդկանց խորհուրդներին (և sysinstall-ի կանխադրվածներին) և արմատից ընտրեք ֆայլային համակարգի որոշ ճյուղեր, ապա նշվածները կավելացվեն (երբ հատվածը ավտոմատ կերպով նշվի sysinstall-ի միջոցով) և այնպիսի գրառումներ, ինչպիսիք են.

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

/dev/ad0s1g /տուն ufs rw 0 0

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

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

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

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

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

$ mount / cdrom

կամ. ի տարբերություն սարքի ֆայլի անվանումը

$ mount /dev/acd0

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

Ապամոնտաժել

Բոլոր ներգրավված ֆայլային համակարգերը պետք է ապամոնտաժվեն նախքան հոսանքն անջատելը կամ սարքը վերագործարկելը: Մաքուր անջատման դեպքում դա արվում է ավտոմատ կերպով, ինչի հետևանքով յուրաքանչյուր գրվող ֆայլային համակարգ ստանում է մաքուր ապամոնտաժման բիթ՝ գրված սեփական գերբլոկում: Այս բիտի առկայությունը թույլ չի տալիս համակարգին ստուգել ֆայլային համակարգերի համապատասխանությունը fsck կոմունալ ծրագրին հաջորդ անգամ, երբ համակարգը գործարկվի:

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

$umount /tmp

կամ, ինչպես կիսաավտոմատ մոնտաժի դեպքում, «փակված» սարքի ֆայլի անվանումը.

$ umount /dev/ad#s#?

Դուք կարող եք ապամոնտաժել մի քանի ֆայլային համակարգեր մեկ տողով.

$ umount /usr /var /home

Կամ կարող եք՝ բոլոր մոնտաժված ֆայլային համակարգերը կամ /etc/fstab ֆայլում թվարկված բոլոր ֆայլային համակարգերը (բացի արմատից), որը կպահանջի ընտրանքներ

$ գումար - Ա

$ գումար -ա

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

$ umount -t ufs

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

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

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

Զանգվածային լեռ

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

$ լեռ -ա

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

$ mount -a -t ufs

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

$ mount -a -t nomsdosfs

Եզրակացության փոխարեն նախաբան

Ի դեպ, mount հրամանը առանց ընտրանքների և փաստարկների (և այս ձևով, ի տարբերություն վերը քննարկված բոլոր դեպքերի, այն կարող է տրվել նաև սովորական օգտագործողի կողմից) կցուցադրի ներկայումս տեղադրված ֆայլային համակարգերի ցանկը, որը ցույց է տալիս տեղադրման կետը, դրա պայմանները: և գործառնական ռեժիմ։ Օրինակ, մեքենայի համար, որի վրա գրված են այս տողերը, դրա արդյունքը կունենա հետևյալ տեսքը.

/dev/ad0s1a միացված է / (ufs, տեղական, noatime, soft-updates) devfs on /dev (devfs, local) /dev/ccd0e վրա /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 on /tmp (ufs, local, noatime, async)

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

$ ավելին /etc/fstab /dev/ad0s1b ոչ swap sw 0 0 /dev/ar0s1b ոչ 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,noa dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

մենք կտեսնենք, որ ելքային գծերից մեկը

Devfs-ը /dev-ում (devfs, տեղական)

նրա գրառումների մեջ ընդհանրապես համապատասխանություն չկա։ Որոնք են այս սարքերը և ֆայլային համակարգերը:

Գլխավոր > Օպերացիոն համակարգեր > UNIX > BSD > FreeBSD

Կոշտ սկավառակ ավելացրեք FreeBSD-ին 5 րոպեում

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

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

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

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

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. Ստեղծեք երկու բաժին՝ փոխանակում և տվյալներ.
    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-ում ավտոմատ տեղադրելու համար.
    /dev/ada1p1 ոչ մեկը փոխանակել sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Տեղադրեք նոր բաժանում (հրամանն ամրացնում է բոլոր բաժինները /etc/fstab ֆայլից):
    լեռ -ա
  7. Միացրեք նոր փոխանակման բաժինը հրամանով.
    swapon /dev/ada1p1 Նյութը վերցված է կայքից.

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 /

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

    #mount /mnt

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

Ես բացում եմ մինի ձեռնարկների ցիկլ «նրանց համար, ովքեր չգիտեն, թե ինչպես օգտագործել որոնումը և հիմար հարցեր են տալիս»: Այսօրվա թեման FreeBSD-ում սկավառակների տեղադրումն ու ապամոնտաժումն է:

Այսպիսով, մենք ցանկանում ենք մուտք գործել տվյալներ լրացուցիչ կոշտ սկավառակի կամ ֆլեշ կրիչի վրա: Դա անելու համար մենք պետք է միացնենք (մոնտաժենք) այն դատարկ գրացուցակում, որից հետո մենք մուտք կունենանք այս սկավառակի տվյալներին մեր ստեղծած / նախկինում գոյություն ունեցող թղթապանակում: (ԿԱՐԵՎՈՐ. մի տեղադրեք սկավառակը արդեն զբաղեցրած գրացուցակներում, դուք կստանաք ձեր սկավառակի բովանդակությունը, օրինակ՝ կոնֆիգուրացիաներով ֆայլերի թղթապանակի բովանդակության փոխարեն, ինքներդ մտածեք հետևանքների մասին;))

Նախ, ստեղծեք դատարկ թղթապանակ: Ենթադրենք, որ օգտվողը shitus ցանկանում է տեղադրել սկավառակ նոր գրացուցակում, որը կոչվում է pron: Դա անելու համար նա ստեղծում է նոր թղթապանակ իր տան գրացուցակի ներսում (հավանաբար ամենաապահով տեղը):

Mkdir /home/shitus/pron Հաջորդ քայլը կոշտ սկավառակի տեղադրումն է միացման կետի վրա (մենք հենց նոր թղթապանակ ենք ստեղծել): Ձեր համակարգի բոլոր սարքերը կարելի է գտնել /dev/ պանակում: Իմ դեպքում ես ուզում եմ իմ /dev/da2 սարքը տեղադրել /home/shitus/pron

Mount /dev/da2 /home/shitus/pron Այժմ դուք կարող եք դիտել ձեր սկավառակի բովանդակությունը վերը նշված գրացուցակում:

Ինչպես տեղադրել այլ ոչ BSD ֆայլային համակարգեր

Իմ դեպքում մենք ունենք USB կրիչ Fat32 ֆայլային համակարգով: Այսպիսով, BSD-ների վրա մոնտաժելիս պետք է հստակ նշվի օգտագործվող ֆայլային համակարգի տեսակը:

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

Այլ ֆայլային համակարգերի համար կարող եք դիմել FreeBSD-ի փաստաթղթերին, ես հղում չեմ տա, քանի որ Google-ը մեր ամեն ինչն է։

Ինչպես ապամոնտաժել/անջատել ֆայլային համակարգը

Ենթադրենք, ցանկանում եք անջատել/ջնջել տեղադրված ֆայլային սարքը: Դրա համար շատ պատճառներ կարող են լինել, հիմնականում, եթե ցանկանում եք ջնջել սկավառակը կամ նորից տեղադրել այն այլ ամրացման կետում: Հրամանը շատ պարզ է.

Միավորել /տուն/shitus/pron/

Համոզվեք, որ այս հրամանը կատարելիս այս թղթապանակում չեք, հակառակ դեպքում արդյունքը կլինի զրոյական:

Եթե ​​ցանկանում եք տեղադրել սկավառակը համակարգի գործարկման ժամանակ, ապա այն պետք է գրեք /etc/fstab ֆայլում այնպես, ինչպես արդեն գրանցվածներն են այնտեղ: Այս մասին ավելին կարող եք կարդալ նաև փաստաթղթերում, կամ ես դրա մասին կգրեմ հարյուրերորդ անգամ: