Mfumo wa faili wa FreeBSD: uongozi na uwekaji. MiniHowTo: Disks za kuweka FreeBSD Weka pointi kwa kutumia diski

Kiwango cha FHS kilitayarishwa awali ili kupanga muundo wa saraka ya usambazaji wa Linux nyingi. Na baadaye tu ilibadilishwa kwa mifumo mingine kama Unix (pamoja na ukoo wa BSD). Hata hivyo, ni safu ya saraka ya FreeBSD inayoweza kutumika kama mfano wa kufuata kanuni za FHS. Na kupotoka kwa mtu binafsi ndani yake kutoka kwa barua yake kila wakati huamuliwa kiutendaji.

Kiwango cha FHS kinategemea kanuni mbili za kimsingi: utengano wazi katika safu ya faili ya saraka zinazoshirikiwa na zisizoshirikiwa, kwa upande mmoja, na zisizobadilika na zinazoweza kubadilika, kwa upande mwingine.

Tofauti kati ya saraka zinazoshirikiwa na zisizoshirikiwa ni kwa sababu ya asili ya mtandao wa Unix kwa ujumla na FreeBSD haswa. Hiyo ni, data inayohusiana na mashine ya ndani (kwa mfano, faili za usanidi za vifaa vyake) inapaswa kuwekwa katika saraka tofauti na zile ambazo data yao inaweza kufikiwa kutoka kwa mashine zingine kwenye mtandao, za ndani au za kimataifa (mfano ambao sio mtumiaji tu. data, lakini pia programu).

Kiini cha tofauti kati ya saraka zisizobadilika na zinazoweza kubadilika kinaweza kuelezewa kwa urahisi na mfano. Kwa hivyo, mipango ya mtumiaji sawa kwa asili yao lazima iwe isiyobadilika (au tuseme, inapatikana kwa ajili ya marekebisho tu kwa msimamizi wa mfumo, lakini si kwa mtumiaji mwenyewe ambaye anaitumia katika kazi yake). Wakati huo huo, programu hizi, wakati wa operesheni yao, hutoa sio faili za data tu, sema, maandishi au picha (asili yao ya kutofautisha ni wazi bila maoni), lakini kila aina ya habari ya huduma, kama faili za logi, faili za muda, na kama). Ambayo inapaswa kuunganishwa katika saraka kutengwa na faili halisi zinazoweza kutekelezwa za programu, maktaba, faili za usanidi, nk, muhimu kwa uzinduzi wao.

Kuzingatia kikamilifu dhana ya kutenganisha saraka zinazoshirikiwa na zisizoshirikiwa, zisizobadilika na zisizobadilika kutoka kwa kila mmoja huruhusu, ndani ya safu moja ya faili inayofanana na mti, kutenga matawi yake binafsi kimwili - yaani, katika mfumo wa mifumo huru ya faili iliyo kwenye vifaa vilivyotengwa (disks, vipande vya disk, partitions; kwa ujumla na kwenye vyombo vya habari vya mbali, vilivyounganishwa na mtandao, lakini hii haitajadiliwa sasa). Kuna sababu nyingi za hii - kuongeza kasi, kuongeza kuegemea, na kuzingatia kwa urahisi, lakini hatutazungumza juu yao sasa. Kwa sababu sasa yote ambayo ni muhimu kwetu ni kwamba matawi haya ya mti wa faili lazima yaingizwe kwenye mfumo wa jumla wa faili.

Ujumbe uliopita ulisema kwamba kila faili (pamoja na saraka) inatambuliwa na mfumo sio kwa jina lake, lakini kwa kitambulisho cha kipekee cha kuingia kwake kwenye jedwali la ingizo. Kuna zana za kutazama vitambulisho hivi vya faili. Moja ni ls amri na chaguo i, ambayo itachapisha vitambulisho vya kila faili iliyopewa jina. Imetolewa kwa saraka ya mizizi - $ ls -i

itatuonyesha picha isiyotarajiwa (kwa unyenyekevu, habari kuhusu faili za kawaida na viungo vya mfano kwenye mzizi hazijajumuishwa kwenye matokeo, na saraka zilizobaki zimepangwa kwa vitambulisho vyao) 2 ../ 2 ./ 2 dev/ 2 nyumbani / 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/

Kutokana na mfano huu (unaohusiana na mfumo wa faili wa mashine ambayo mistari hii imeandikwa) ni wazi kwamba saraka nyingi za 7 zina vitambulisho sawa vya digital, sawa na 2. Swali ni, ni nini pekee hapa?

Vipengele viwili vya kwanza vya orodha ni rahisi kuelewa: ./ inawakilisha saraka ya sasa (katika kesi hii, mzizi), na ../ saraka kuu ya moja ya sasa; na kwa kuwa, kwa ufafanuzi, hakuna kitu juu ya mzizi katika uongozi wa faili, inajionyesha yenyewe. Kwa hivyo haishangazi kwamba ./ na ../ wana kitambulisho sawa - hizi ni nyadhifa tofauti (viungo ngumu, au vinginevyo majina yanayorudiwa) kwa saraka ya mizizi sawa.

Lakini sawa, kama inavyoonekana mwanzoni, maana ya kitambulisho cha saraka za /dev, /home, /tmp, /usr, /var inahitaji maelezo. Walakini, ni rahisi: hizi zote ni saraka ambazo mifumo huru ya faili imewekwa, ama iko kwenye vifaa tofauti - sehemu za diski, kama vile saraka /home, /usr, /var, au mifumo ya faili isiyo ya kawaida ambayo haijengi. kifaa chochote cha disk halisi ( saraka ya / dev na mfumo wa faili ya kifaa na, katika kesi hii, saraka ya /tmp, ambayo mfumo wa faili katika RAM umewekwa, ambayo itajadiliwa baadaye). Na kwa kuwa meza ya inodes ni tofauti kwa kila mfumo wa faili, haishangazi kwamba mzizi wa kila mmoja wao unatambuliwa na nambari ya 2;

Kwa hivyo, kuweka ni kuingizwa kwa faili kutoka kwa mfumo katika saraka yoyote iliyopo kwenye mfumo wa mizizi (sio lazima moja kwa moja kwenye mzizi, inaweza kuwa ya kiwango chochote cha nesting, ambayo imeonyeshwa hapa chini). Bila hii, saraka na faili za mfumo kama huo uliowekwa hazipatikani. Hii ni muhimu kuelewa unapokutana na maneno kama "unda /usr mfumo wa faili." Kutoka hapo juu, ni dhahiri kwamba kile kinachoundwa (kwa amri ya newfs) ni mfumo fulani wa faili wa kufikirika, na hupata "jina" lake tu wakati wa kuiweka kwenye saraka maalum.

Inafurahisha kwamba kitambulisho cha saraka cha kuweka (pia huitwa mahali pa mlima) kinapatikana tu wakati wa kuweka. Ili kuthibitisha hili, hebu tufanye jaribio rahisi. Kwenye saraka ya /mnt, iliyokusudiwa mahsusi kwa kuweka mifumo ya faili iliyowekwa kwa muda), unaweza kuona subdirectories tatu /mnt/disk, mnt/iso, /mnt/usb (hii iko kwenye mfumo wangu, niliiunda kwa urahisi wangu mwenyewe; hapo awali saraka ya /mnt ilikuwa katika FreeBSD haina kitu). Wakati mfumo unapoanza, hakuna kitu kinachowekwa ndani yao, na hali yao ya kawaida inapaswa kuwa tupu. Ukiangalia vitambulisho vyao, unaweza kuona kitu kama hiki: $ ls -i1 /mnt 16:46 ttyp0 18 disk/ 24 iso/ 19 usb/

Sasa hebu tuchukue na tupande gari la flash na kiolesura cha USB kwenye /mnt/usb (hii ndiyo hasa niliyokusudia) na kurudia kutazama. Na tunaona: 18 disk/ 24 iso/ 2 usb/

Hiyo ni, vitambulisho vya saraka ambazo zilibaki tupu (/mnt/disk na /mnt/iso) hazikubadilika, lakini kitambulisho cha saraka /mnt/usb kilibadilika kichawi hadi 2. Kwa sababu wakati wa kupachika ikawa mzizi wa mfumo wake wa faili na sehemu ya kumbukumbu ya kuhesabu ingizo za faili zote zilizorekodiwa juu yake.

Wacha tuchunguze kidogo na tukumbuke juu ya viungo ngumu, ambayo ingizo sawa na vizuizi vya data vinavyohusiana nayo vinaweza kupewa majina tofauti. Sasa ni wazi kwa nini faili zote mbili mbili zinapaswa kuwa katika mfumo mmoja wa faili: baada ya yote, mifumo tofauti ya faili ina nambari zao, zisizolingana, nambari za ingizo, na haiwezekani kuzitambua kwa nambari (vinginevyo mfumo ungefanyaje. kutofautisha saraka za /usr na /var kutoka kwa mfano wetu baada ya yote, hajali majina ya faili). Kwa viungo vya mfano ambavyo vina viingilio vyao (kwa kweli, na hakuna chochote isipokuwa wao) na vitambulisho vyao wenyewe, vilivyohesabiwa katika mfumo wa kumbukumbu wa mfumo wa faili ambao ziko, hakuna kizuizi hicho. Na viungo vya mfano vinaweza kupatikana popote (pamoja na mashine ya mbali, sio tu kwenye kizigeu kingine).

Wacha turudi, hata hivyo, kwa mfano wa saraka yetu ya mizizi. Kutoka kwa kila kitu kinachozingatiwa, ni wazi kwamba idadi ya matawi yake yanalala kwenye partitions tofauti na kuunda mifumo yao ya faili (kwa kweli, hii ndiyo sababu hasa tuliumba wote wawili). Na, kwa hiyo, zote zinahitaji kupachikwa.9. Mazoezi ya kuweka

Madhumuni ya kuweka hutumiwa na amri ya mlima, inayotekelezwa moja kwa moja wakati wa kuwasha mfumo au kwa mikono kutoka kwa safu ya amri. Kweli, kwa maana kamili, tu mfumo wa faili wa mizizi huwekwa moja kwa moja kwa hali yoyote. Sio lazima kuwa kwenye diski wakati wa kuanza kutoka kwa CD ya uokoaji au vyombo vya habari vingine vya usalama, inaweza kuwa iko kwenye diski ya kawaida kwenye RAM. Walakini, mchakato wa kuweka mfumo wa faili wa mizizi hauepukiki kama ushindi wa ujamaa katika kiwango cha kimataifa: kama vile ujamaa, bila kushinda katika kiwango cha kimataifa, hupoteza tu uwezo wa kuwepo (ambao tuliona hivi karibuni), vivyo hivyo unaweza. OS zipo bila mfumo wa mizizi haziwezi. Katika Linux, hii husababisha hali ya hofu ya kernel takriban hali ambayo viongozi wetu walianguka miaka 20 iliyopita. Ni kweli, zilionekana kuwa na nguvu zaidi kuliko Linux na zilipata nafuu haraka sana kwa hivyo bado zinatuwasha upya (au kuwasha upya? lakini tunazidi kuwa na nguvu :)). Hata hivyo, hii haitumiki kwa suala la ufungaji ambalo nitajaribu kuwasilisha kwako sasa.

Kwa hivyo, kuweka mifumo yote ya faili isipokuwa ile ya mizizi, unahitaji kuchukua hatua kadhaa. Kwanza tutaangalia jinsi ya kuwafanya kwa mikono, na kisha jinsi ya kutokufa katika faili zinazofaa za usanidi.

Kwa hivyo, amri ya mlima. Kwa kweli, hii ni familia nzima ya programu, ambayo kila moja imeundwa kuweka mifumo ya faili ya aina fulani - sio UFS tu, bali pia yoyote ya yale yanayoungwa mkono na FreeBSD. Orodha ya hizi ni pana kabisa unaweza kupata wazo juu yake kwa kuangalia saraka ya /sbin: $ ls /sbin/mount*

ambayo itatupa majibu /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_fll_ext2 / sbin/mount_umapfs /sbin/mount_fdescfs /sbin/mount_nwfs /sbin/mount_unionfs /sbin/mount_linprocfs /sbin/mount_portalfs /sbin/mount_mfs /sbin/mount_procfs

Kila amri kwenye orodha hii inawajibika kwa aina tofauti ya mfumo wa faili, ambayo baadhi yake tutarudi baadaye. Kwa sasa, hebu tuangalie /sbin/mount yenyewe, iliyoundwa kufanya kazi na UFS na UFS2.

Imeitwa kutoka kwa mstari wa amri, inahitaji hoja mbili: jina la kifaa kinachowekwa na hatua ya mlima (yaani, saraka ambayo mfumo wa faili wa msingi unapaswa kuwekwa). Jina la kifaa linapaswa kuonyesha patricia ambayo tayari imepangwa kwenye kipande cha BSD kilicho na mfumo wa faili wa UFS2 (UFS) iliyoundwa juu yake, kwa mfano, $ mount /dev/ads0d /usr

huweka mfumo wa faili kwenye kizigeu maalum kwenye saraka ya /usr ya mzizi wa mti wa faili. Ikiwa mfumo wa faili kwenye kifaa haujaundwa au ni wa aina nyingine zaidi ya 4.2BSD, ujumbe wa hitilafu utaonekana unaonyesha kizuizi kikubwa kisicho sahihi: tofauti na matumizi ya Linux ya jina moja, amri ya mlima ya FreeBSD yenyewe haiwezi kutambua mfumo wa faili. aina.

Mahitaji yafuatayo yamewekwa kwenye sehemu ya kupachika: a) saraka yenye jina sawa lazima iwepo wakati wa kupachika, na b) iwe tupu iwezekanavyo. Ya kwanza ni ya lazima, lakini ya pili sio lazima kabisa. Kuweka kwenye saraka na faili yoyote itaenda vizuri (Nakumbuka kuwa katika Linux sio muda mrefu uliopita hii ilisababisha ajali ya mfumo), lakini yaliyomo yake yote yatapatikana hadi kupunguzwa. Na ikiwa faili zilizomo zina jukumu kubwa kwa mfumo wowote mdogo, hii inaweza kusababisha kila aina ya matokeo mabaya. Kwa mfano, ikiwa yaliyomo kwenye saraka ya /tmp yalizuiwa kwa kupachika mfumo wa faili hapo wakati mfumo wa dirisha la X ukiendelea, matokeo yanaweza kuwa hitilafu ya seva ya X. Kwa bahati nzuri, ikiwa ni lazima, unaweza kufanya mlima pamoja (tazama hapa chini).

Katika fomu iliyoainishwa, uwekaji utafanywa na sifa zingine chaguo-msingi: mfumo wa faili utasomwa / kuandikwa katika hali inayoitwa. noasync (ile ile ambayo shughuli za metadata zinafanywa kwa usawa, na shughuli za data zinafanywa kwa usawa). Nafasi hii inaweza kubadilishwa kwa kutumia -o chaguo. Kuna wachache wao, lakini kwa kweli kuu kwetu katika hatua hii itakuwa:

  • async itatoa hali ya asynchronous kabisa (licha ya onyo kali katika machapisho ya awali, nitazungumza baadaye kuhusu hali wakati hii inaweza kuhesabiwa haki);
  • kusawazisha badala yake, kuwezesha hali ya kusawazisha kikamilifu (ingawa sielewi kwa nini hii ni muhimu);
  • noatime chaguo muhimu sana ambacho kinazuia sasisho la sifa ya mwisho ya upatikanaji wa faili, ambayo inaboresha sana utendaji;
  • rdonly huweka mfumo wa faili katika hali ya kusoma tu (wakati mwingine hii ni muhimu);
  • muungano chaguo sawa ambalo hukuruhusu kufanya mlima wa umoja, ambayo yaliyomo hapo awali ya saraka ya hatua ya mlima hubaki inayoonekana; kweli na vizuizi vingine tazama mtu (8) mlima.

Kuna maadili mengine kadhaa ya chaguo la -o ambalo linakataza aina fulani za faili kuwekwa kwenye mfumo wa faili uliowekwa, kwa mfano, faili zinazoweza kutekelezwa (-o noexec), faili za kifaa (-o nodev), au faili zilizo na hivyo. -itwa. bit (-o nosuid), lakini ni za umuhimu wa vitendo hasa kwa wasimamizi wa seva na hutumikia madhumuni ya usalama. Kwenye mashine ya mezani, aina ya kawaida ya kuweka inaweza kuwa kitu kama hiki: $ mount -o noatime /dev/ads0d /usr; $ mount -o noatime /dev/ads0e /var; $ mount -o noatime /dev/ads0f /home

Yote hapo juu inatumika tu kwa kuweka mifumo ya faili ya FreeBSD. Hata hivyo, katika mazoezi mara nyingi kuna haja ya kuingiza aina nyingine za mifumo ya faili kwenye mti wake wa saraka. Hii inahitajika sana kwa ISO9660 (mfumo wa kawaida wa faili kwa CD zote isipokuwa zile za Mac) na FAT za aina mbalimbali. Katika kesi hii, amri inayofaa ya kuweka lazima iitwe wazi, kwa mfano $ mount_cd9660 /dev/acd0 /cdrom

kuweka kompakt, au $ mount_msdosfs /dev/ad## /mnt

kwa FAT ya aina yoyote (ikiwa ni pamoja na FAT32).

huweka mfumo wa faili wa Linux (ikiwa kipengele sambamba kimejumuishwa kwenye kernel). Katika kesi hii, mlima wa kawaida wa sehemu za BSD hubadilishwa tu na amri ya /mount_ext2fs, iliyoundwa kuweka sehemu za ext2fs (na ext3fs pia, lakini, bila shaka, bila kazi zozote za uandishi wa habari). Hiyo ni, fomu $mount -t fstype ... ...

itakuwa sawa kabisa na $mount_fstype amri... ...

Shughuli zote za kuweka mifumo ya faili (pamoja na midia inayoweza kutolewa) katika FreeBSD zinahitaji haki za mtumiaji mkuu. Thamani za chaguo la -o hapa, tofauti na toleo la Linux la amri ya kuweka, hazijumuishi kigezo cha mtumiaji kinachoruhusu kuweka kwa watumiaji wa kawaida. Kweli, kuna njia kadhaa za kuzunguka hili, lakini siofaa kuzungumza juu yao sasa

Walakini, kwa mazoezi, uwekaji wa mwongozo hutumiwa tu kwa mifumo ya faili ambayo haitumiki sana. Mifumo yote ya faili ambayo kimsingi ni muhimu kwa utendakazi wa FreeBSD huwekwa kiotomatiki wakati mfumo unaanza, na zinazotumiwa mara kwa mara huwekwa katika hali ya nusu otomatiki, kwa kusema,.

Kwa uwekaji kiotomatiki, programu ya kuweka inaendeshwa wakati wa mchakato wa kuwasha kutoka kwa hati za uanzishaji. Inatafuta faili yake ya usanidi /etc/fstab, na huweka kila kitu inachopata ndani yake, isipokuwa zingine (zilizojadiliwa hapa chini).

Faili ya /etc/fstab yenyewe huzalishwa kiotomatiki FreeBSD inaposakinishwa, ikijumuisha mifumo yote ya faili muhimu ili kusaidia maisha. Hata hivyo, katika siku zijazo inaweza kuhaririwa mwenyewe ili kuongeza vifaa vipya vya kupachika au chaguo za ziada kwa vifaa ambavyo tayari vimewashwa.

Faili /etc/fstab ni hifadhidata rahisi katika umbizo la maandishi (sehemu zinazotenganishwa na nafasi au vichupo), ikijumuisha sehemu zifuatazo:

  • Jina la faili la kifaa la kifaa ambacho mfumo wa faili iko, sawa na hoja ya kwanza ya amri ya mlima wakati unatumiwa kwa mikono;
  • Sehemu ya mlima wa Mlima (inalingana na hoja ya pili ya amri ya mlima);
  • FStype aina ya mfumo wa faili, pia imebainishwa kama thamani ya -t chaguo;
  • Chaguzi chaguzi za ziada za kuweka, sawa na maadili ya -o chaguo;
  • Masharti ya kutupa kwa kufanya chelezo ya mfumo wa faili kwa kutumia matumizi ya kutupa;
  • Pass# masharti ya kuangalia mfumo wa faili na matumizi ya fsck.

Katika FreeBSD iliyosanikishwa upya /etc/fstab itajumuisha maingizo yafuatayo (mfano wa kipande cha 1 cha diski Kuu kwenye kituo cha 1 cha IDE): # Kifaa cha Kuweka Sehemu ya FStype Chaguzi za Kutupa Pass# /dev/ad0s1a / ufs rw 1 1 / dev/ad0s1b hakuna ubadilishane sw 0 0

Ukifuata ushauri wa watu wenye busara (na chaguo-msingi za sysinstall) na uchague matawi kadhaa ya mfumo wa faili kutoka kwa mzizi, maingizo kama /dev/ad0s1d /var ufs rw 0 0 /dev/ad0s1e / yataongezwa kwa wale walioorodheshwa. (wakati wa kuashiria kipande kiotomatiki kupitia sysinstall) usr ufs rw 0 0 /dev/ad0s1f /tmp ufs rw 0 0

kuwajibika kwa mfumo wa faili na saraka za nyumbani za mtumiaji.

Ni wazi, katika sehemu ya Chaguzi unaweza kuongeza maadili yoyote yanayopatikana (na yanayofaa) ya chaguo la -o (linalotenganishwa na koma, bila nafasi), kwa mfano, noatime kwa mifumo yote ya faili, na kwa /tmp pia async, kwa sababu yaliyomo kwenye saraka hii haitarajiwi kuhifadhiwa baada ya kuwasha upya.

Ya hapo juu inatumika kwa mifumo ya faili ambayo huwekwa kiotomatiki wakati wa kuanza. Walakini, hakuna mtu anayekusumbua kufanya maingizo katika /etcfstab kwa mifumo ambayo imeunganishwa mara kwa mara - katika kesi hii inaweza kuwekwa kulingana na mpango uliorahisishwa (hii ndio nilimaanisha hapo juu na hali ya nusu otomatiki). Kwa hivyo, kwa kiendeshi cha CD unaweza kuongeza mstari (kwa kweli, inaonekana kiotomatiki faili /etc/fstab inapotolewa) /dev/acd0 /cdrom cd9660 ro,noauto 0 0

ambamo chaguzi, kama unavyoweza kukisia, zinahitaji kukataa kuweka wakati wa kuanza (noauto) na hali ya kusoma tu (ro). Baada ya hayo, kuweka CD, itakuwa ya kutosha kutaja tu mahali pa kuweka - $ mount / cdrom

Maingizo sawa yanaweza kufanywa kwa anatoa zote zinazoweza kutolewa (Zip, anatoa za USB, hata diski za floppy) na kwa sehemu zisizo za BSD (FAT au Ext2fs). Kwa njia, unaweza kuweka mifumo ya faili kwa kutumia mpango uliorahisishwa mara baada ya kufanya mabadiliko kwa /etc/fstab, bila kungoja mashine iwashe tena

Mifumo yote ya faili inayohusika lazima ishushwe kabla ya kuzima nishati au kuwasha tena mashine. Baada ya kuzima kwa usahihi, hii inafanywa kiotomatiki, kama matokeo ambayo kila moja ya mifumo ya faili inayoweza kuandikwa (au tuseme, kizigeu kinachoibeba) hupokea sehemu safi ya kuteremsha kwenye kizuizi chake kikuu.

Hata hivyo, katika idadi ya matukio (kwa mfano, wakati wa kuunganisha au kukataza utaratibu wa Usasishaji wa Soft au kufanya ukaguzi wa uadilifu), inakuwa muhimu kufuta (na kurejesha) mifumo ya faili, ambayo amri ya umount hutumiwa. Inahitaji hoja moja: sehemu ya mlima ya mfumo wa faili kuondolewa kwenye mti wa saraka, kwa mfano: $ umount /tmp

Unaweza kushusha mifumo mingi ya faili na mstari mmoja: $ umount /usr /var/home

Au unaweza mifumo yote ya faili iliyowekwa au mifumo yote ya faili iliyoorodheshwa kwenye /etc/fstab faili (isipokuwa mzizi), ambayo inahitaji $ umount -A chaguzi.

au $umount -a

kwa mtiririko huo. Inawezekana pia kuteremsha aina fulani za mifumo ya faili kwa kubainisha maadili ya -t chaguo. Kwa hivyo, amri $ umount -t ufs

itaondoa sehemu za BSD pekee, bila kuathiri CD na kila kitu kingine kinachohusika katika mfumo.

Mifumo ya faili haipaswi kutumiwa wakati wa kupunguzwa, yaani, haipaswi kuwa na upatikanaji wa faili ziko juu yao. Kwa hivyo, kuwa katika saraka yoyote ya mfumo wa faili ni sababu tosha ya kukataa kuiondoa (na ujumbe kama kifaa kikiwa na shughuli nyingi), ndiyo sababu hakuna amri yoyote iliyoorodheshwa hapo juu itaweza kuteremsha mfumo wa faili wa mizizi. Lakini kusoma faili ya data kwa programu yoyote sio sababu ya kukataa kufuta mfumo wa mwenyeji wa faili hii (baada ya yote, kwa ujumla, mawasiliano kati ya faili kwenye kumbukumbu na faili kwenye diski hutokea tu wakati wa kurekodi mabadiliko.

Hata hivyo, unaweza pia kushusha mfumo wa faili unaotumia; Ukweli, hii inaweza kusababisha makosa, kwa hivyo ni bora kutoitumia isipokuwa ni lazima kabisa. Na chaguo la kulazimishwa la kuteremsha halitakuwa na athari kwenye mfumo wa faili wa Wingi

Ili kuendelea kufanya kazi baada ya kufanya shughuli za kiwango cha chini kwenye mifumo ya faili, watahitaji kupachikwa nyuma. Hii inaweza kufanywa sio tu bila kuwasha tena, lakini pia bila uwekaji wa mtu binafsi wa kuchosha. Tumia tu -a chaguo: $ mount -a

ambayo mifumo yote ya faili ambayo kuna maingizo ndani /etc/fstab itawekwa. Katika hali hii, jaribio litafanywa kuweka zile ambazo zimewekwa alama ya noauto. Ili kuepuka hili, unaweza kufafanua zaidi aina ya mfumo wa faili. Hiyo ni, amri $ mount -a -t ufs

itaweka sehemu za BSD pekee, bila kuingilia kwenye CD au viendeshi vya flash. Au, kinyume chake, unaweza kuwatenga kutoka kwa mchakato wa uwekaji wa kimataifa baadhi ya mifumo ya faili iliyoorodheshwa katika /etc/fstab, kwa mfano, FAT zisizohitajika kwa sasa: $ mount -a -t nomsdosfs Dibaji badala ya hitimisho.

Kwa njia, amri ya mlima bila chaguzi na hoja (na kwa fomu hii, tofauti na kesi zote zilizojadiliwa hapo juu, inaweza kutolewa na mtumiaji wa kawaida) itaonyesha orodha ya mifumo ya faili iliyowekwa sasa inayoonyesha eneo la mlima, masharti yake na. hali ya uendeshaji. Kwa mfano, kwa mashine ambayo mistari hii imeandikwa, matokeo yataonekana kama hii: /dev/ad0s1a on / (ufs, local, noatime, soft-updates) devfs on /dev (devfs, local) /dev/ccd0e kwenye /var (ufs, local, noatime, updates soft) /dev/ccd1e on /usr (ufs, local, noatime, soft-updates) /dev/ccd2e on /home (ufs, local, noatime, soft-updates) /dev/ md0 kwenye /tmp (ufs, local, noatime, async)

Mstari wa kwanza wa pato unaonyesha kuwa kizigeu cha /dev/ad0s1a kimewekwa kwenye saraka yetu ya mizizi, hubeba mfumo wa faili wa UFS (haswa katika kesi hii, UFS2, lakini katika matokeo ya amri ya mlima hawana tofauti) na Sasisho laini. utaratibu umewezeshwa, ni wa ndani ( yaani, iko kwenye diski ya mashine hii; viendeshi vya mtandao pia vimewekwa kwa amri ya kupachika) na haviko chini ya kusasisha sifa ya wakati.

Lakini basi kuna mistari ya vifaa na mifumo ya faili, ambayo haikujadiliwa katika hadithi zilizopita. Zaidi ya hayo, ikiwa tutaangalia /etc/fstab faili inayolingana na usanidi wa sasa: $ 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 0 cdnoa60 0 / dev/da0s1 /mnt/usb ext2fs rw,noauto,noatime 0 0 /dev/md0 /tmp mfs rw,noatime,async,-s32m 2 0

basi tutaona kwamba moja ya mistari ya pato (devfs on /dev (devfs, local) haina mechi hata kidogo kati ya maingizo yake. Hivi ni vifaa vya aina gani na mifumo ya faili?

Kuhusu vifaa kama /dev/ccd0? Nitasema tu kwa sasa kwamba hizi ni safu za RAID za programu (tutazungumza juu yao kwa undani zaidi baadaye). Lakini devfs na mfs ni mifumo ya faili halisi, ambayo itajadiliwa moja kwa moja kwenye dokezo linalofuata.

Unaweza kubadilisha haki za ufikiaji na mmiliki wa faili na saraka kwa kutumia amri chmod Na chown. Kinyago cha kuweka haki kwa faili zilizoundwa kinaweza kubadilishwa kimataifa, in /etc/profile kwa Linux na /etc/login.conf kwa FreeBSD. Kawaida, mask chaguo-msingi 022 . Maana umask imetolewa kutoka 777 , kwa hivyo ruhusa itakuwa muhimu 755 . kutekeleza - utekelezaji unaruhusiwa soma - soma ruhusa andika - andika ruhusa SUID kidogo - sifa ya faili, pamoja na sifa ya faili inayoweza kutekelezwa, inaruhusu faili kutekelezwa kutekelezwa na UID bora ya mmiliki wa faili, badala ya yule anayeendesha faili. 1 --x kutekeleza # Ruhusa 764 = exec/soma/andika | soma/andika | soma 2 -w- andika # Kwa: |-- Mmiliki --| |-Kundi-| |Nyingine| 4 r-- soma ugo=a u=mtumiaji, g=kundi, o=wengine, a=kila mtu# chmod MODE[,MODE] FILE # MODE ina fomu: *([-+=]()) # chmod 640 /var/log/maillog # Weka ruhusa ziwe sawa -rw-r----- # chmod u=rw,g=r,o= /var/log/maillog # Sawa na hapo juu # chmod -R o-r /home/* # Badilisha ruhusa kwa kurudia, usiruhusu kusoma kwa Nyingine # chmod u+s /path/to/prog # Weka SUID kidogo kwa faili inayoweza kutekelezwa (kuwa mwangalifu hapa, lazima uelewe kile unachofanya)# pata / -perm -u+s -print # Pata programu zote zilizosanikishwa SUID kidogo Mtumiaji # aliyechaguliwa: kikundi /path/to/file # Weka mtumiaji na kikundi kama mmiliki wa faili# kikundi cha chgrp /path/to/file # Badilisha kikundi kinachomiliki faili# chmod 640 `pata ./ -aina f -print` # Badilisha ruhusa kuwa 640 kwa faili zote# chmod 751 `pata ./ -andika d -print` # Badilisha ruhusa kuwa 751 kwa saraka zote

Habari ya Disk

# diskinfo -v /dev/ad2 # Angalia habari ya diski ( sekta/ukubwa) FreeBSD# hdparm -I /dev/sda #Taarifa kuhusu IDE/ATA diski (Linux)# fdisk /dev/ad2 # Onyesha mabadiliko ya sehemu za diski# smartctl -a /dev/ad2 #Onyesho SMART habari ya diski

Inapakia

BureBSD

Ili kupakia kernel ya zamani katika hali ya dharura, kwa mfano baada ya ujenzi usiofanikiwa na usakinishaji wa mpya, simamisha upakuaji kwa kubonyeza 6 wakati wa kuhesabu ili kufikia mstari wa amri. # pakua # pakia kernel.old # buti

Weka pointi, matumizi ya diski

#mlima | safu -t # Onyesha mifumo ya faili iliyowekwa#df # Onyesha idadi ya nafasi ya bure na vifaa vilivyowekwa paka # /proc/partitions # Onyesha sehemu zote zilizosajiliwa (Linux)

Maelezo ya saraka

# du -sh * Ukubwa # Saraka kama orodha# du -csh # Jumla ya kiasi cha saraka ya sasa# du -ks * | panga -n -r # Orodha ya saraka zilizopangwa kwa ukubwa katika kilobytes# ls -lSr # Orodha ya saraka, kupanga nyuma

Nani alifungua faili zipi

Wakati mwingine ni muhimu kujua ni faili gani imefungwa kizigeu, na kusababisha amri panda inatoa makosa yanayolingana. # panda /nyumbani/ panda: ondoa /nyumbani # Haiwezekani kuteremsha kizigeu hadi /nyumbani imezuiwa imeshindwa: Kifaa kina shughuli nyingi

FreeBSD na mifumo mingi kama Unix

# fstat -f /home # kwa sehemu ya mlima# fstat -p PID # kwa maombi na PID Mtumiaji # fstat -u # kwa jina la mtumiaji Tafuta faili wazi kwa Xorg: # shoka ps | grep Xorg | awk "(chapisha $1)" 1252 # fstat -p 1252 MTUMIAJI CMD PID FD MLIMA INUM MODE SZ|DV R/W mzizi Xorg 1252 mzizi / 2 drwxr-xr-x 512 r mzizi Xorg 1252 maandishi /usr 216016 x--x 1679848 r mzizi Xorg 1252 0 /var 212042 -rw-r--r-- 56987 w Tafuta faili na ndani 212042 katika saraka /var unaweza kufanya hivi: # find -x /var -inum 212042 /var/log/Xorg.0.log

Linux

Pata faili wazi kwenye saraka ukitumia fuser au ls ya: # fuser -m /home # Orodha ya michakato ambayo inaweza kufikia /nyumbani # lsof /home AMRI YA PID MTUMIAJI FD AINA YA KIFAA SIZE NODE JINA tcsh 29029 eedcoba cwd DIR 0.18 12288 1048587 /home/eedcoba (guam:/nyumbani) lsof 29140 eedcoba 108 208 cwd 2. eedco ba (guam: / nyumbani) Tafuta kwa PID maombi: ps ax | grep Xorg | awk "(chapisha $1)" 3324 # lsof -p 3324 COMMAND PID USER FD AINA YA KIFAA NODE NODE JINA Xorg 3324 root 0w REG 8.6 56296 12492 /var/log/Xorg.0.log Kwa jina la faili: # lsof /var /Xorg.0.log AMRI PID MTUMIAJI FD AINA YA KIFAA NODE YA UKUBWA JINA Xorg 3324 mzizi 0w REG 8.6 56296 12492 /var/log/Xorg.0.log

Kuweka/kuweka upya mifumo ya faili

Kwa mfano cdrom, imesajiliwa ndani /etc/fstab: # weka /cdrom Au unaweza kupata kifaa ndani /dev au katika pato dmesg

BureBSD

# mlima -v -t cd9660 /dev/cd0c /mnt # Weka diski Cdrom(njia ya kwanza)# mount_cd9660 /dev/wcd0c /cdrom # Weka diski Cdrom(njia ya pili)# mount -v -t msdos /dev/fd0c /mnt # Floppy disk Andika kwa /etc/fstab: # Mlima wa Kifaa FStype Chaguzi za Kutupa Pass# /dev/acd0 /cdrom cd9660 ro,noauto 0 0 Ruhusu watumiaji kuweka diski: # sysctl vfs.usermount=1 # Au ingiza mstari "vfs.usermount=1" katika /etc/sysctl.conf

Linux

# weka -t otomatiki /dev/cdrom /mnt/cdrom # Amri ya kawaida ya kuweka diski cdrom # mlima /dev/hdc -t iso9660 -r /cdrom # Weka diski IDE # mlima /dev/scd0 -t iso9660 -r /cdrom # Weka diski SCSI cdrom# weka /dev/sdc0 -t ntfs-3g /windows # Weka diski SCSI Jisajili kwa /etc/fstab: /dev/cdrom /media/cdrom subfs noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec 0 0

Kuweka kizigeu cha FreeBSD na Linux

Angalia nambari ya sehemu fdisk, kwa kawaida hii ni kizigeu cha mizizi, lakini inaweza kuwa kwenye nyingine BSD kipande. Ikiwa kuna vipande vingi kwenye kizigeu cha FreeBSD, havitaonekana kupitia fdisk, lakini zinaweza kupatikana ndani dev/sda* au /dev/hda*. # fdisk /dev/sda # Pata kizigeu cha FreeBSD/dev/sda3 * 5357 7905 20474842+ a5 FreeBSD # mlima -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt /dev/sda10 = /tmp; /dev/sda11 /usr # Kipande kingine

Kuunganisha upya

Pandisha tena kifaa bila kukiondoa kwanza, kwa mfano kwa fsck# weka -o weka tena,ro / # Linux # weka -o ro / # FreeBSD Nakili mtiririko wa data kutoka CDROM"na kwa faili Picha ya ISO. # dd if=/dev/cd0c of=file.iso

Kuunda kizigeu cha kubadilishana kwenye nzi

Tuseme unahitaji kuongeza kizigeu cha kubadilishana, sema kwa 2 gigabyte, /badilisha2gb(kwa ajili ya Linux) # dd if=/dev/sifuri ya=/swap2gb bs=1024k count=2000 # mkswap /swap2gb # Unda kubadilishana # swapon /swap2gb # Wezesha kubadilishana, sasa inaweza kutumika# swapoff /swap2gb # Zima ubadilishanaji # rm /swap2gb

Kuweka kizigeu cha SMB

CIFS- Mfumo wa Faili wa Mtandao wa kawaida SMB- kuzuia ujumbe wa seva Tuseme unahitaji kufikia iliyoshirikiwa SMB sehemu myshare kwenye seva smbserver, anwani iliyochapishwa kwenye mashine ya Windows itakuwa \\smbserver\myshare\. Tutaiweka juu /mnt/smbshare. Usisahau kwa cifs Anwani ya IP au jina la kikoa linahitajika.

Linux

# smbclient -U mtumiaji -I 192.168.16.229 -L //smbshare/ # Orodhesha hisa # mount -t smbfs -o username=winser //smbserver/myshare /mnt/smbshare # mount -t cifs -o username=winuser, password=winpwd //192.168.16.229/myshare /mnt/share Kifurushi cha ziada mlima.cifs hukuruhusu kuhifadhi marupurupu katika faili, kwa mfano /nyumbani/mtumiaji/.smb: username=winuser password=winpwd Na sasa tunaweka: # mount -t cifs -o credentials=/home/user/.smb //192.168.16.229/myshare /mnt/smbshare

BureBSD

Tumia ufunguo -I kuweka anwani ya IP (au DNS); smbserver, hili ni jina la Windows. # mtazamo wa smbutil -I 192.168.16.229 //winuser@smbserver # Orodha ya rasilimali zilizoshirikiwa# mount_smbfs -I 192.168.16.229 //winuser@smbserver/myshare /mnt/smbshare

Panda picha

Linux kitanzi-nyuma

# mount -t iso9660 -o kitanzi file.iso /mnt # Weka picha ya CD# weka -t ext3 -o kitanzi faili.img /mnt # Panda picha na mfumo wa faili ext3

BureBSD

Kutumia md- kifaa cha kumbukumbu (ikiwa ni lazima, tengeneza kldload md.ko): # mdconfig -a -t vnode -f file.iso -u 0 # mlima -t cd9660 /dev/md0 /mnt # umount /mnt; mdconfig -d -u 0 # Futa kifaa cha kumbukumbu Au kutumia kifaa bandia ( VN, nodi ya mtandaoni): # vnconfig /dev/vn0c file.iso; panda -t cd9660 /dev/vn0c /mnt # umount /mnt; vnconfig -u /dev/vn0c # Futa kifaa bandia

Kuunda na Kuchoma Picha ya ISO

Tutanakili sekta ya CD au DVD kwa sekta. # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc Use mkisofs kuunda picha kutoka kwa faili kwenye saraka. Ili kushinda vikwazo vya jina la faili, tumia chaguo -r, ikiwa ni pamoja na ugani RockRidge, msingi kwa mifumo ya UNIX, -J inajumuisha Joliet, inayotumiwa na Microsoft, -L inaruhusu ISO9660 majina yanayoanza na nukta. # mkisofs -J -L -r -V TITLE -o imagefile.iso /path/to/dir Kwenye FreeBSD, mkisofs inaweza kusanikishwa kutoka /usr/ports/sysutils/cdrtools.

Inachoma picha za ISO za CD/DVD

BureBSD

FreeBSD haisakinishi DMA juu ATAPI vifaa, hii inaweza kufanyika kwa njia ya kutofautiana sysctl au kwenye faili /boot/loader.conf, maingizo yafuatayo. hw.ata.ata_dma="1" hw.ata.atapi_dma="1" Tumia burncd kwa vifaa vya ATAPI ( burncd, mpango wa kawaida, sehemu ya mfumo wa msingi) na rekodi(kutoka /usr/ports/sysutils/cdrtools) kwa vifaa vya SCSI. # burncd -f /dev/acd0 data imagefile.iso fixate # Kwa vifaa vya ATAPI# cdrecord -scanbus # Tafuta kinasa sauti # cdrecord dev=1,0,0 imagefile.iso

Linux

Tumia kwa njia sawa rekodi, kama ilivyoelezwa hapo juu. Kwa kuongeza, unaweza kutumia kiolesura asili cha ATAPI: # cdrecord dev=ATAPI -scanbus Record kama ilivyoelezwa hapo juu.

dvd+rw-zana

Kifurushi cha dvd+rw-tools (FreeBSD: ports/sysutils/dvd+rw-tools) kina utendakazi wote unaohitajika kufanya kazi na DVD, pamoja na kukua, kwa kuchoma CD au DVD. Nyaraka zenye mifano zinaweza kupatikana katika kitabu cha FreeBSD Sura ya 18.7 # -dvd-compat hufunga diski# growisofs -dvd-compat -Z /dev/dvd=imagefile.iso # Choma picha ya iso iliyopo# growisofs -dvd-compat -Z /dev/dvd -J -R /p/to/data # Andika moja kwa moja

Badilisha picha kutoka faili ya Nero .nrg hadi faili ya .iso

Nero anaongeza kichwa cha 300kb kwenye picha, ambacho kinaweza kupunguzwa kwa kutumia DD. # dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300

Badilisha picha ya bin/cue kuwa .iso

Hii inaweza kufanyika kwa kutumia programu ndogo, bchunk. Kwenye FreeBSD inaweza kupatikana kwenye bandari /usr/ports/sysutils/bchunk. # bchunk imagefile.bin imagefile.cue imagefile.iso

Kuunda picha kutoka kwa faili

Kwa mfano, kizigeu cha 1GB kinatumia faili /usr/vdisk.img. Katika kesi hii, tunatumia ufunguo -u 0, lakini nambari inaweza kuwa chochote.

BureBSD

# dd if=/dev/random of=/usr/vdisk.img bs=1K count=1M # mdconfig -a -t vnode -f /usr/vdisk.img -u 0 # Unda kifaa /dev/md1 # bsdlabel -w /dev/md0 # newfs /dev/md0c # mlima /dev/md0c /mnt # kupanda /mnt; mdconfig -d -u 0; rm /usr/vdisk.img # Futa md Picha iliyoundwa kutoka kwa faili inaweza kuwekwa wakati wa kuwasha mfumo kwa kuandika mstari /etc/rc.conf Na /etc/fstab. Unaweza kuangalia ikiwa mipangilio yako ni sahihi kwa kutumia amri /etc/rc.d/mdconfig anza(baada ya kuondoa kifaa md0 kwa kutumia amri # mdconfig -d -u 0) Kumbuka kuwa uwekaji picha kiotomatiki utafanya kazi tu ikiwa faili ya picha HAIKO kwenye kizigeu cha mizizi, kwa sababu ya ukweli kwamba hati. /etc/rc.d/mdconfig inafanywa katika hatua ya awali ya buti, wakati kizigeu cha mizizi bado hakijaweza kuandikwa. Picha zilizo nje ya sehemu ya mizizi zitawekwa baadaye na hati /etc/rc.d/mdconfig2.
/boot/loader.conf: md_load="NDIYO" /etc/rc.conf: mdconfig_md0="-t vnode -f /usr/vdisk.img" # /usr sio kwenye kizigeu cha mizizi/etc/fstab: (0 0 mwishoni, muhimu sana, hii itaonyesha fsck puuza ukaguzi wa kifaa kwani bado haipo) /dev/md0 /usr/vdisk ufs rw 0 0
Kwa kuongeza, unaweza baadaye kuongeza saizi ya picha, sema kwa 300 MB. #kupanda/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 # weka /dev/md0c /mnt # Sasa kizigeu cha faili ni 300 MB kubwa

Linux

# dd if=/dev/zero of=/usr/vdisk.img bs=1024k count=1024 # mkfs.ext3 /usr/vdisk.img # mount -o kitanzi /usr/vdisk.img /mnt # umount /mnt; rm /usr/vdisk.img # Futa

Linux na kupoteza

/dev/sifuri haraka sana kuliko bila mpangilio, lakini salama kidogo kwa usimbaji fiche. # dd if=/dev/urandom of=/usr/vdisk.img bs=1024k count=1024 # losetup /dev/loop0 /usr/vdisk.img #Unda /dev/kitanzi0 # mkfs.ext3 /dev/loop0 # weka /dev/loop0 /mnt # losetup -a # Angalia # panda /mnt # losetup -d /dev/loop0 # Tenganisha # rm /usr/vdisk.img

Kuunda Mfumo wa Faili ya Kumbukumbu

Mfumo wa faili wa kumbukumbu ni haraka sana, ni busara kuitumia kwa programu zilizo na IO ya juu ya diski. Wacha tuunde kizigeu cha 64 MB kwa saizi na kuiweka ndani /memdisk:

BureBSD

# mount_mfs -o rw -s 64M md /memdisk # umount /memdisk; mdconfig -d -u 0 #Wazi md kifaa md /memdisk mfs rw,-s64M 0 0 #andika kwa /etc/fstab

Linux

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

Utendaji wa diski

Soma na andika GB 1 faili katika sehemu ad4s3c (/nyumbani) # 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 pekee

Ninafungua mfululizo wa miongozo ndogo "kwa wale ambao hawajui jinsi ya kutumia utafutaji na kuuliza maswali ya kijinga." Mada ya leo ni kuweka na kupunguza diski katika FreeBSD.

Kwa hiyo tunataka kupata data kwenye gari ngumu ya ziada au gari la flash. Ili kufanya hivyo, lazima tuunganishe (mlima) kwenye saraka tupu, baada ya hapo tutapata data kwenye diski hii kwenye folda tuliyounda / iliyopo hapo awali. (MUHIMU: usiweke diski katika saraka zilizochukuliwa tayari, utapokea yaliyomo kwenye diski yako, kwa mfano, badala ya yaliyomo kwenye folda ya faili za usanidi, fikiria juu ya matokeo yako mwenyewe;))

Kwanza, tengeneza folda tupu. Wacha tufikirie kuwa mtumiaji shitus anataka kuunganisha diski kwenye saraka mpya inayoitwa pron. Ili kufanya hivyo, anaunda folda mpya ndani ya saraka yake ya nyumbani (pengine mahali salama).

Mkdir /home/shitus/pron Hatua inayofuata ni kuunganisha gari ngumu kwenye sehemu ya mlima (tumeunda folda tu). Unaweza kupata vifaa vyote kwenye mfumo wako kwenye /dev/folda. Kwa upande wangu, ninataka kuunganisha kifaa changu /dev/da2 kwenye /home/shitus/pron folda

Mount /dev/da2 /home/shitus/pron Sasa unaweza kutazama yaliyomo kwenye diski yako kwenye saraka hapo juu.

Jinsi ya kuunganisha mifumo mingine ya faili isiyo ya BSD

Katika kesi yangu, tuna gari la USB na mfumo wa faili wa Fat32. Kwa hivyo, wakati wa kuweka kwenye BSD, lazima uonyeshe wazi aina ya mfumo wa faili unaotumiwa.

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

Kwa mifumo mingine ya faili, unaweza kurejelea nyaraka za FreeBSD, sitatoa kiungo, kwa sababu Google ni kila kitu.

Jinsi ya kushusha / kushusha mfumo wa faili

Hebu tuseme unataka kukata/kuondoa kifaa kilichounganishwa cha faili. Kunaweza kuwa na sababu nyingi za hili, hasa hii inafanywa ikiwa unataka kufuta diski au kuunganisha tena kwenye hatua nyingine ya mlima. Amri ni rahisi sana -

Panda /nyumbani/shitus/pron/

Hakikisha kuwa hauko ndani ya folda hii wakati wa kutekeleza amri hii, vinginevyo matokeo yatakuwa sifuri.

Ikiwa unataka kuweka diski wakati wa kuanza kwa mfumo, basi lazima uisajili kwenye faili ya /etc/fstab kwa njia sawa na wale ambao tayari wamesajiliwa hapo. Unaweza pia kusoma zaidi kuhusu hili katika nyaraka, au siku moja nitaandika kuhusu hilo kwa mara ya mia.

Mara nyingi mimi huzingatia ukweli kwamba maswali rahisi mara nyingi hufunikwa vibaya kwenye mtandao. Labda hii ni kwa sababu gurus wote wana hakika kuwa hakuna mtu atakayeuliza maswali ya kijinga kama haya, kwa sababu kila mtu anajua hii. Lakini mazoezi yangu yameonyesha kuwa ni maswali haya madogo rahisi ambayo ni ya kawaida sio tu kati ya Kompyuta, lakini pia kati ya wasimamizi wakubwa ambao hawakulazimika kushughulika na hii. Hata wasimamizi wakubwa hawafanyi hivi kila siku, lakini, ili wasisahau, wanajiwekea aina fulani ya karatasi ya kudanganya, bila kuikubali kwa mtu yeyote. Hebu turekebishe kila kitu. Sasa utajifunza jinsi ya kuongeza diski kuu kwenye FreeBSD baada ya dakika 5. Hivyo. Kwanza, maagizo kamili yatatolewa ili kuelewa mchakato, na mwisho kutakuwa na orodha fupi ya vitendo, ambayo itakuwa na orodha tu ya amri kama karatasi ya kudanganya.

Maagizo ya kina na maelezo

Kuchagua jina la diski kuu

Kwanza tunahitaji kuamua jina la kifaa ambacho tumeongeza tu. Amri ifuatayo itatusaidia na hili:

Orodha ya diski ya Geom

Au amri hii:

Camcontrol devlist

Katika mfumo halisi, amri hizi zitaonyesha taarifa muhimu zaidi, yaani majina ya kifaa na nambari za mfululizo.

Kabla ya kusakinisha kifaa kipya, tulijua kwamba mfumo wetu uliwekwa kwenye ada0, ambayo ina maana, kimantiki, kiendeshi chetu kipya ni ada1. Unaweza kuamua hii kwa jina la kifaa kipya, nambari yake ya serial au kiasi.

Sasa hebu tuangalie ikiwa kuna alama kwenye diski yetu mpya

Gpart show ada1

Diski haina alama yoyote.

Inaondoa lebo iliyopo

Ikiwa diski tayari imetumika na kuna haja ya kuondoa alama kutoka kwake, endesha tu:

Gpart kuharibu -F ada1

Inaunda alama za GPT

Kwanza, ni lazima kuunda kizigeu cha diski. Ninapendekeza sana kusahau kuhusu MBR na kubadili mpya, rahisi zaidi na ya kazi - GPT.

Tunaunda alama ya GPT kwenye diski, kisha angalia kinachotokea:

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

Sasa diski yetu ina alama ya GPT. Kutoka kwa pato unaweza kuona kwamba kabisa disk nzima, kuanzia LBA 34 na kuishia na LBA 8388541, ni tupu. LBA 0−33 - iliyohifadhiwa na mfumo kwa jedwali la kizigeu.

Wacha tuseme tunahitaji kuunda sehemu mbili kwenye diski hii:

  • kubadilishana- kubadilishana kizigeu
  • data- sehemu ya aina ya ufs ya kuhifadhi data yoyote tunayohitaji.

Kuunda sehemu (vipande)

Ikiwa ufungaji unafanywa kwenye anatoa ngumu za kisasa na ukubwa wa sekta ya 4 KB, basi usawa lazima utumike wakati wa kuunda partitions. Unaweza kufanya hivyo kwa njia mbili: 1) ikiwa tunataja vigezo vya sehemu katika vizuizi, kisha ingiza nambari ya kuzuia kama nyingi ya 8, kwa mfano: -b 40; 2) ikiwa tunaonyesha saizi ya kizigeu kwa ka, au haionyeshi mwanzo na saizi kabisa, tumia parameta. -a 4k, ambayo itarekebisha mwanzo na mwisho wa sehemu kwa sekta za 4 kb kwa ukubwa. Kwa kuwa katika mfano huu tunafanya usakinishaji wa jaribio kwenye diski ngumu ya kweli, sio lazima tufanye hivi. Kwa hali yoyote, kabla ya kuunda partitions, unahitaji kujua hasa ukubwa wa sekta ya gari lako, vinginevyo itasababisha kupungua kwa kazi mbaya.

Sasa hebu tutengeneze partitions. Ili kufanya hivyo, kuna gpart kuongeza amri na vigezo mbalimbali. Kigezo cha kwanza -t- inaonyesha aina ya mfumo wa faili unaoundwa. Kwa upande wetu, aina mbili zitatumika: freebsd-swap na freebsd-ufs. Ifuatayo ni vigezo viwili vya hiari: -b- inaonyesha nambari ya LBA ambayo kizigeu kinahitaji kuunda. Ikiwa hutafafanua parameter hii, kizigeu kitaundwa moja kwa moja kutoka kwa LBA ya kwanza ya bure. -s- inaonyesha ukubwa wa kizigeu katika LBA. Ukubwa wa block moja ya LBA = 512 byte. Inashauriwa kuashiria katika idadi ya vizuizi vya LBA, lakini pia inawezekana kwa baiti za kilo/mega/giga/… (kiambishi tamati k/M/G). Ikiwa hutafafanua parameter hii, kizigeu kitaundwa kwa LBA ya juu iwezekanavyo ndani ya eneo tupu. Unaweza pia kutaja lebo ya sehemu kama kigezo, kwa mfano: -l kubadilishana 1- katika kesi hii, lebo /dev/gpt/swap1 itaundwa, ambayo inaweza kutumika kupata kizigeu kwa urahisi zaidi. Kigezo cha mwisho kinachohitajika ni njia ya diski. Kwa upande wetu: /dev/ada1.

Wacha tuunde sehemu mbili kisha tuone kile tulicho nacho. Tutaunda kizigeu cha kwanza bila kutaja LBA ya awali, lakini kutaja saizi ya 1 GB (vizuizi vya 2097152). Tutaunda kizigeu cha pili bila kutaja LBA ya awali na bila kutaja saizi - kwa hivyo itaundwa kwenye nafasi nzima ya bure.

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

Saizi inaweza kubainishwa kwa baiti badala ya vizuizi. Inafaa zaidi. Hasi tu ni kwamba mfumo hauwezi kuhesabu kwa usahihi idadi ya vitalu. Kunaweza kuwa na matukio wakati idadi fulani ya vitalu itabaki tupu kwenye diski wakati wa kutaja ukubwa wa kugawanya kwa byte.

Kuunda mfumo wa faili (umbizo)

Hakuna haja ya kupangilia sehemu za kubadilishana. Lakini partitions kama ufs lazima ziundwe kabla ya matumizi. Itakuwa sahihi zaidi kusema: mfumo wa faili unapaswa kuundwa juu yao.

Ili kuunda mfumo wa faili kwenye kizigeu cha pili, endesha tu amri ifuatayo:

Newfs -U /dev/ada1p2

Katika kesi hii, parameter -U ilitumiwa - inaonyesha kwamba utaratibu wa Usasishaji wa Soft unapaswa kutumika katika mfumo huu wa faili. Unaweza kuacha chaguo hili ili kuepuka kuwezesha utaratibu huu.

Kuweka

Hatua inayofuata ni kuweka partitions. Kwanza, ili usisahau, wacha tuongeze sehemu zetu mpya kwa /etc/fstab. Faili yangu baada ya kuhariri inaonekana kama hii:

Ili kuweka tena sehemu zote kulingana na /etc/fstab faili, endesha tu amri:

Mlima -a

Kama unavyoona kutoka kwa pato, kizigeu cha /dev/ada1p2 kimewekwa. Sasa hebu tuone kilichotokea kwa sehemu ya SWAP. Wacha tuendeshe amri:

Kama unavyoona, kizigeu kipya cha SWAP hakijawekwa. Ili SWAP iwekwe, unahitaji kuiwezesha kwa amri maalum:

Swapon /dev/ada1p1

Kwa njia hiyo hiyo, kwa kutumia amri ya swapoff, unahitaji kuzima kizigeu cha SWAP kabla ya kufanya vitendo vyovyote juu yake.

Hii inakamilisha hatua zote za kuongeza kiendeshi kipya kwenye mfumo.

Maagizo mafupi

Imetolewa: gari ngumu /dev/ada1

Lengo: Futa kizigeu kilichopo, unda kizigeu kipya cha GPT, unda sehemu mbili: ubadilishane na data na uunganishe kwenye mfumo wa kufanya kazi.

Baada ya kila hatua, fanya onyesho la gpart kutazama matokeo. Mfuatano:

  1. Ondoa kizigeu kilichopo: gpart haribu -F ada1
  2. Unda kizigeu kipya: gpart create -s gpt /dev/ada1
  3. Unda sehemu mbili: kubadilishana na data: gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Unda mfumo wa faili UFSv2 kwenye kizigeu cha pili: newfs -U /dev/ada1p2
  5. Ongeza mistari kwenye /etc/fstab faili ya uwekaji kiotomatiki kwenye buti: /dev/ada1p1 hakuna ubadilishane sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Weka kizigeu kipya (amri huweka sehemu zote kutoka kwa /etc/fstab faili): mount -a
  7. Washa kizigeu kipya cha kubadilishana kwa amri: swapon /dev/ada1p1

Hii inakamilisha usanidi.

Wanahitaji kuwa vyema, na wakati vitendo vyote muhimu vimekamilika, vinahitaji kupunguzwa. Kawaida amri za mount(8) / umount(8) hutumiwa kuweka/kuteremsha, na hakuna anayefikiria juu ya kufanya shughuli hizi kiotomatiki. Kwa maoni yangu, hii sio njia bora zaidi, haswa kwa kuzingatia ukweli kwamba mfumo wa uendeshaji wa FreeBSD unajumuisha daemon maalum ya kuweka kiotomatiki.

Uundaji wa shida

Daemon ya mfumo wa uendeshaji wa FreeBSD amd(8) imeundwa kuweka kwa uwazi mifumo yoyote ya faili kama faili na folda zilizo juu yake zinafikiwa, na pia kupakua mifumo hii ya faili ikiwa hakuna shughuli kwa muda maalum. Makala haya yanahusu kusanidi amd ili kuweka kiotomatiki mifumo ya faili inayosafirishwa na seva za NFS na folda zinazoshirikiwa zinazotolewa na seva za SMB. Kwa kuongezea, inaelezea utambuzi wa amd kwa kutumia matumizi ya amq(8) na kugawa kumbukumbu yake kwa kutumia zana za kawaida za usimamizi wa logi syslogd(8) na newsyslog(8) .

Data ya awali

Ili kutatua tatizo hili, hutahitaji programu yoyote ya ziada, lakini utahitaji kuunda moja ambayo inaruhusu mtumiaji mkuu wa mizizi kuweka folda zilizochaguliwa zilizoshirikiwa zinazotolewa na seva za SMB bila kuingiza nenosiri.

Kuweka kiotomatiki kwa mifumo ya faili ya NFS

Ili kuhakikisha uwekaji kiotomatiki wa mifumo ya faili za NFS, ongeza tu laini ifuatayo kwenye faili /etc/rc.conf:

Amd_enable="NDIYO"

na anza amd kwa amri /etc/rc.d/amd start . Kwa chaguo-msingi, amd itatumia folda mbadala ya /.amd_mnt, kuripoti hali yake kwa sehemu ya daemon ya syslog, na kuruhusu mifumo ya faili ya NFS kupachikwa kwenye folda za mfumo wa faili wa ndani /mwenyeshi na / wavu kulingana na ramani ya mlima /etc/amd. .map (ramani hii ya kupachika imejumuishwa na mfumo wa uendeshaji wa FreeBSD na ina sheria zinazosimamia jinsi mifumo ya faili za NFS inavyoweza kupachikwa na kuteremshwa kwa kutumia Mfumo wa Faili wa Mwenyeji wa Mtandao). Ikiwa tutatafsiri kile ambacho kimesemwa kwa lugha ya kibinadamu, basi mara tu baada ya kuanza amd utaweza kufikia mfumo wa faili wa kushiriki unaosafirishwa na seva ya NFS nfsserver kama folda ya kawaida ya ndani inayoitwa /host/nfsserver/share au /net/nfsserver/ shiriki. Kwa ufikiaji wowote kama huo na mfumo wa faili unaohitajika hauko kwenye orodha ya mifumo ya faili iliyowekwa, amd itaunda sehemu ya kupachika /.amd_mnt/nfsserver/host/share , kuweka mfumo wa faili ya kushiriki kwake, kuunda folda /host/nfsserver. au /net/nfsserver na uiongezee kiunga cha mfano kwa sehemu ya juu ya mlima. Ikiwa /host/nfsserver/share au /net/nfsserver/share folda haitumiki kwa dakika 5, amd itashusha mfumo wa faili ya kushiriki na kisha kufuta folda zisizohitajika tena na kiungo cha mfano.

Kuweka kiotomatiki kwa mifumo ya faili ya SMBFS

Ili kuwezesha uwekaji kiotomatiki wa mifumo ya faili ya SMBFS, utalazimika kuunda ramani moja au zaidi za ziada za kuweka, ambayo kila moja lazima iwe na sheria kulingana na utumiaji wa Mfumo wa Faili wa Programu. Ili kuweza kufikia folda zilizoshirikiwa kwa kutumia majina ya violezo kama /smbfs/smbserver/share, unapaswa kutenga kadi tofauti ya kupachika kwa kila seva ya SMB. Kwa mfano, ili kubainisha sheria za kupachika kwa folda zilizoshirikiwa share1 na share2 zinazotolewa na smbserver ya seva ya SMB, unaweza kuunda ramani ya kupachika inayoitwa /etc/amd.map-smbserver (Unaweza kubadilisha jina hili ili liendane na ladha yako mwenyewe) na ongeza mistari ifuatayo kwake:

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

Sheria zilizobainishwa zitalazimisha amd kuweka folda zilizoshirikiwa kwenye sehemu ya kupachika $(autodir) (kigezo cha $(autodir) kina jina la folda mbadala) na amri /sbin/mount -t smbfs //user@smbserver/share .... Kutokuwepo kwa chaguo la kupandisha au kuteremsha kunahitaji amri chaguomsingi za kushusha umount $(fs) kutumika (kigeu cha $(fs) kina jina la sehemu ya kupachika).
Ili kuhusisha ramani ya mlima iliyoundwa na sehemu ya mlima /smbfs/smbserver, unahitaji kuongeza laini ifuatayo kwenye /etc/rc.conf faili:

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

na uanze upya amd kwa amri /etc/rc.d/amd restart . Mara tu baada ya kukamilisha hatua hizi, utaweza kufikia folda zilizoshirikiwa share1 na share2 zinazotolewa na seva ya SMB smbserver kama folda za kawaida za ndani /smbfs/smbserver/share1 na /smbfs/smbserver/share2.

Kuchambua hali ya amd kwa kutumia matumizi ya amq

Ili kujua haraka hali ya sasa ya amd, unaweza kutumia amri ya amq -m, ambayo imeundwa kuonyesha orodha ya mifumo ya faili iliyowekwa, pamoja na idadi ya viungo kwa kila moja yao na iliyo na habari juu ya makosa ya kuweka, kitu kama hiki. :

"mzizi" mzizi 1 mwenyeji uko juu /etc/amd.map /host toplvl 1 localhost iko juu /etc/amd.map /net toplvl 1 localhost iko juu /etc/amd.map-smbserver /smbfs/smbserver toplvl 1 localhost iko juu. juu nfsserver:/host/nfsserver /.amd_mnt/nfsserver mwenyeji 1 nfsserver iko juu mount -t smbfs //user@smbserver/share1 ... /.amd_mnt/smbfs/smbserver/share1 mpango 1 localhost iko juu

Safu ya kwanza ya jedwali hili ina jina la ramani ya mlima kwa sehemu za kupachika au chaguzi za kuweka kwa mifumo ya faili iliyowekwa, ya pili ni jina la sehemu ya mlima, ya tatu ni aina ya mfumo wa faili ya amd, ya nne ni idadi ya viungo. kwa sehemu ya mlima au mfumo wa faili, ya tano ni jina la kompyuta ambayo mfumo wa faili iko, ya sita ni hali ya eneo la mlima au mfumo wa faili, ya saba ni ujumbe wa makosa ya mlima (ikiwa hakuna makosa, safu ya saba haijaonyeshwa). Kwa sababu amd na rpcbind(8) inaendesha msaada wa TCP Wrappers, kuendesha amri ya amq -m kunaweza kusababisha ujumbe wa makosa sawa na yafuatayo:

Amq: localhost: RPC: Kushindwa kwa ramani ya bandari - RPC: Hitilafu ya uthibitishaji amq: localhost: RPC: Hitilafu ya uthibitishaji; kwa nini = Imeshindwa (kosa lisilojulikana)

Ili kuondoa hitilafu hizi, unapaswa kuongeza sheria kwenye /etc/hosts.allow faili inayoruhusu ufikiaji wa amd na rpcbind kutoka kwa localhost:

Amd: 127.0.0.1: ruhusu amd: YOTE: kataa rpcbind: 127.0.0.1: ruhusu rpcbind: YOTE: kataa

Kutoa amd na logi yake mwenyewe

Chaguo chaguo-msingi za uanzishaji katika /etc/defaults/rc.conf husababisha amd kuripoti hali yake kwa sehemu ya daemon ya syslog. Ikiwa unataka kutoa amd na logi tofauti iitwayo /var/log/amd.log , itabidi uelekeze ujumbe huu kwenye sehemu nyingine ya syslog (local6 kwa upande wangu), na pia ubadilishe usanidi wa daemon wa syslogd ipasavyo.
Kwa kuzingatia mabadiliko yote katika faili za usanidi zilizoelezwa katika makala hii, ili kuelekeza ujumbe wa amd kwenye logi /var/log/amd.log, lazima kwanza ubadilishe ufafanuzi wa mabadiliko ya amd_flags katika /etc/rc. conf faili kwa fomu hii:

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

na uanze upya amd kwa amri /etc/rc.d/amd restart , na pili, ongeza laini kwenye /etc/syslog.conf faili:

Local6.* /var/log/amd.log

unda logi tupu kwa kugusa /var/log/amd.log amri na uanze upya syslogd kwa amri ya kuanza upya /etc/rc.d/syslogd.
Ili kuzuia logi ya amd kukua, unapaswa kuwezesha mzunguko wake kwa kutumia matumizi ya newsyslog. Kwa mfano, ili kupunguza kila siku /var/log/amd.log logi huku ukihifadhi nakala saba za awali zilizobanwa na jalada la bzip2(1), unapaswa kuongeza laini ifuatayo kwenye /etc/newsyslog.conf faili:

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

Hitimisho

Baada ya kukamilisha hatua zilizoelezwa katika makala hii, hutalazimika tena kuwa na wasiwasi juu ya kuweka na kupunguza mifumo ya faili ya NFS na SMBFS. Natumai kuwa utapata fursa hii kuwa muhimu na hakikisha kuwa makini na amd.

kutoka