Ko nga huihuinga hotplug taputapu i runga i te Linux, nga korero pouri | Mewayz Blog
Hacker News

Ko nga huihuinga hotplug taputapu i runga i te Linux, nga korero pouri

Nga korero

14 min read Via arcanenibble.github.io

Mewayz Team

Editorial Team

Hacker News

He Kupu Whakataki: Te Ringa Kore e kitea o te taputapu

Whakaarohia kei te mahi koe i to miihini Linux, e aro ana ki tetahi mahi tino nui. Ka mono koe i te puku USB hei whakawhiti i tetahi konae, katahi ka puta mai tana tohu ki runga i to papamahi. Ka mau koe i to pona, ka mohio tonu te punaha ki te aroturuki o waho, papapātuhi, me te hononga whatunga. Ko tenei wheako ngawari, he tohu o te rorohiko hou, he ahua makutu. Engari kei raro iho i te mata o tenei whaanui ratarata-kaiwhakamahi ko te whakahiatotanga, he maha nga paparanga o nga huihuinga rorohiko e kiia nei ko te werawera taputapu. Mo nga kaiwhakawhanake me nga kaiwhakahaere punaha e hanga ana i nga papaaho pakari, he mea nui te mohio ki enei "mohiotanga pouri". Ko te rereketanga i waenga i te punaha ka urutau ki te whakarereke me tetahi ka pakaru ohorere. I Mewayz, ka hangaia to maatau pakihi pakihi me tenei mohiotanga hohonu, me te whakarite ko te whakauru taputapu ehara i te puna o te koretake engari he ahua ngawari o te ngawari o te whakahaere.

Mai i te Tohu Hiko ki te Takahanga Kernel: Te Udev Daemon

Ko te haerenga o te takahanga werawera ka timata i te wa e hono ana te taputapu. Ka kitea e te kernel te huringa i te taumata pahi (USB, PCIe, Thunderbolt) me te hanga i tetahi node taputapu mata ki te raarangi `/dev`. Heoi ano, he puri waahi noa tenei node kaore he tuakiri whai kiko. I konei ko `udev`, te kaiwhakahaere o te taputapu mo te kernel Linux, ka tu ki te waahi. Hei daemon mokowāmahi, ka whakarongo a udev mo nga whakamohiotanga kernel (e kiia ana ko uevents) mo nga taputapu hou. I te whiwhinga i tetahi huihuinga, ka timata a udev ki te mahi, ka uiui i te taputapu mo nga korero tino nui penei i te ID kaihoko, ID hua, me te tau rangatū. Kātahi ka toro atu ki te huinga maha o nga konae ture, kei roto i te `/etc/udev/rules.d/` me te `/lib/udev/rules.d/`, hei whakatau me pehea te hapai i te taputapu.

He tino kaha enei ture. Ka whakaaetia e te punaha te mahi penei i:

  • Te hanga i te ingoa taputapu tohe me te whai tikanga (hei tauira, `/dev/my_external_drive` hei utu mo te kore korero `/dev/sdb1`).
  • Te huri i nga whakaaetanga me te mana o te pona taputapu i runga i te rere.
  • Kei te whakaoho i te utaina o nga kōwae kernel e tika ana (kaitaraiwa) mena kaore ano kia utaina.
  • Te whakahaere i nga tuhinga ritenga hei whakarite i te taputapu, hei whakamohio ranei i etahi atu tono.

Ko tenei punaha-a-ture te mea ka huri i tetahi taputapu paraka whanui ki to "Backup_Drive" e mohiotia ana, he mea tino nui ki te hoahoanga punaha ngawari penei i a Mewayz, he mea nui te whakaingoa taputapu mo nga rerengamahi aunoa.

Te Mahi a D-Bus me nga Papanga Tangohanga Maamaa

Ka oti ana te mahi a udev ki te taumata o te punaha, me korero te huihuinga ki te taiao papamahi me nga tono a nga kaiwhakamahi. Koinei te waahi ka uru a D-Bus, te punaha pahi karere, ki te pikitia. Ko nga ratonga penei i te `udisks2` (mo nga taputapu rokiroki) me te `upower` (mo te whakahaere hiko) hei takawaenga. Ka aro turuki ratou i te udev katahi ka whakapaoho i nga tohu whai kiko ki runga i te punaha D-Bus. Hei tauira, ka whakauruhia he rakau USB, ka kite a udisks2 i te takahanga udev, ka whakairihia te punaha konae, ka tukuna he tohu D-Bus e whakaatu ana kua tae mai he rōrahi hou kua reri ki te whakamahi.

Ka mahi a D-Bus hei kaiwhakamaori mo te ao katoa, ka huri i nga huihuinga kernel taumata-iti ki nga whakamohiotanga taumata-tiketike ka maamaa te maarama me te mahi a nga tono papamahi.

He mea nui tenei tangohanga. Ko te tikanga kaore te kaiwhakawhanake rorohiko e maaharahara mo nga riipene o nga ture udev me nga API kernel. Ka taea e ratou te hono noa ki te D-Bus me te whakarongo mo te tohu "VolumeAdded". Ko tenei huarahi paparanga he kaupapa whakaaro nui i Mewayz; na roto i te whakarato i nga API maamaa, kua tautuhia pai mo te taunekeneke taputapu, ka taea e matou te hanga i nga kaiwhakawhanake ki te hanga i nga waahanga kaha me te kore e pakaru i roto i nga uaua o te punaha.

I te wa e he ana nga mea: te patuiro i nga Takahanga Hotplug

Ahakoa te hoahoa maangai, ka taka nga kaupapa werawera i etahi wa. Kare pea he taputapu e kitea, ka kitea ranei engari kaore i mau. Ko te patuiro i enei take me whai i te huihuinga puta noa i te mekameka katoa. Ko te mahi tuatahi ko te tirotiro i nga karere kernel ma te whakamahi i te `dmesg` kia kite mena i mohiohia te taputapu i te taumata iti rawa. Panuku, ka taea e koe te aro turuki i nga kaupapa udev i roto i te waa tuuturu ma te whakamahi i te `udevadm monitor` ki te kite mena kei te tika te tukatuka i te huihuinga. Ko te tirotiro i nga ture udev motuhake e pa ana ki tetahi taputapu me te `udevadm info` ka taea te whakaatu take whakaaetanga, ture ngaro ranei. Ka mutu, ma te whakamahi i te taputapu aroturuki D-Bus penei i te `dbus-monitor` ka taea te whakaatu mena kei te pai te whakapaohotanga o te huihuinga ki te waahi papamahi. Ko tenei huarahi tino mohio ki te rapu raruraru ka whakarite kia taea e ta matou roopu tautoko i Mewayz te whakatau tere i nga take whakauru taputapu, me te pupuri i te pono o te punaha.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Whakamutunga: Te Symphony of System Integration

Ko te taputapu wera i runga i te Linux he tauira maamaa o te rapanga uaua ka whakatauhia na roto i te hoahoanga tahi, paparanga. Mai i te kitenga tuatahi o te kernel ki te whirihoranga-a-ture a udev, ka mutu ki nga whakamohiotanga taumata-tono a D-Bus, he mahi nui kei ia waahanga. Ko te mohio ki tenei rerenga ehara i te mea matauranga anake; he mea nui mo te hanga i nga punaha e tino hihiri ana, e mau tonu ana. Mo te OS pakihi rereke penei i a Mewayz, ko tenei whakaurunga hohonu te turanga e hanga ai e matou he papa e tino urutau ana ki nga ahuatanga o nga taputapu o te pakihi hou e huri haere tonu ana, e huri ana i te hepohepo hei mahi korekore.

Patai Auau

He Kupu Whakataki: Te Ringa Kore e kitea o te taputapu

Whakaarohia kei te mahi koe i to miihini Linux, e aro ana ki tetahi mahi tino nui. Ka mono koe i te puku USB hei whakawhiti i tetahi konae, katahi ka puta mai tana tohu ki runga i to papamahi. Ka mau koe i to pona, ka mohio tonu te punaha ki te aroturuki o waho, papapātuhi, me te hononga whatunga. Ko tenei wheako ngawari, he tohu o te rorohiko hou, he ahua makutu. Engari kei raro iho i te mata o tenei whaanui ratarata-kaiwhakamahi ko te whakahiatotanga, he maha nga paparanga o nga huihuinga rorohiko e kiia nei ko te werawera taputapu. Mo nga kaiwhakawhanake me nga kaiwhakahaere punaha e hanga ana i nga papaaho pakari, he mea nui te mohio ki enei "mohiotanga pouri". Ko te rereketanga i waenga i te punaha ka urutau ki te whakarereke me tetahi ka pakaru ohorere. I Mewayz, ka hangaia to maatau pakihi pakihi me tenei mohiotanga hohonu, me te whakarite ko te whakauru taputapu ehara i te puna o te koretake engari he ahua ngawari o te ngawari o te whakahaere.

Mai i te Tohu Hiko ki te Takahanga Kernel: Te Udev Daemon

Ko te haerenga o te takahanga werawera ka timata i te wa e hono ana te taputapu. Ka kitea e te kernel te huringa i te taumata pahi (USB, PCIe, Thunderbolt) me te hanga i tetahi node taputapu mata ki te raarangi `/dev`. Heoi ano, he puri waahi noa tenei node kaore he tuakiri whai kiko. I konei ko `udev`, te kaiwhakahaere o te taputapu mo te kernel Linux, ka tu ki te waahi. Hei daemon mokowāmahi, ka whakarongo a udev mo nga whakamohiotanga kernel (e kiia ana ko uevents) mo nga taputapu hou. I te whiwhinga i tetahi huihuinga, ka timata a udev ki te mahi, ka uiui i te taputapu mo nga korero tino nui penei i te ID kaihoko, ID hua, me te tau rangatū. Kātahi ka toro atu ki te huinga maha o nga konae ture, kei roto i te `/etc/udev/rules.d/` me te `/lib/udev/rules.d/`, hei whakatau me pehea te hapai i te taputapu.

Te Mahi a te D-Bus me nga Papanga Tangohanga Taputapu

Ka oti ana te mahi a udev ki te taumata o te punaha, me korero te huihuinga ki te taiao papamahi me nga tono a nga kaiwhakamahi. Koinei te waahi ka uru a D-Bus, te punaha pahi karere, ki te pikitia. Ko nga ratonga penei i te `udisks2` (mo nga taputapu rokiroki) me te `upower` (mo te whakahaere hiko) hei takawaenga. Ka aro turuki ratou i te udev katahi ka whakapaoho i nga tohu whai kiko ki runga i te punaha D-Bus. Hei tauira, ka whakauruhia he rakau USB, ka kite a udisks2 i te takahanga udev, ka whakairihia te punaha konae, ka tukuna he tohu D-Bus e whakaatu ana kua tae mai he rōrahi hou kua reri ki te whakamahi.

I te wa e he ana nga mea: te patuiro i nga Takahanga Hotplug

Ahakoa te hoahoa maangai, ka taka nga kaupapa werawera i etahi wa. Kare pea he taputapu e kitea, ka kitea ranei engari kaore i mau. Ko te patuiro i enei take me whai i te huihuinga puta noa i te mekameka katoa. Ko te mahi tuatahi ko te tirotiro i nga karere kernel ma te whakamahi i te `dmesg` kia kite mena i mohiohia te taputapu i te taumata iti rawa. Panuku, ka taea e koe te aro turuki i nga kaupapa udev i roto i te waa tuuturu ma te whakamahi i te `udevadm monitor` ki te kite mena kei te tika te tukatuka i te huihuinga. Ko te tirotiro i nga ture udev motuhake e pa ana ki tetahi taputapu me te `udevadm info` ka taea te whakaatu take whakaaetanga, ture ngaro ranei. Ka mutu, ma te whakamahi i te taputapu aroturuki D-Bus penei i te `dbus-monitor` ka taea te whakaatu mena kei te pai te whakapaohotanga o te huihuinga ki te waahi papamahi. Ko tenei huarahi tino mohio ki te rapu raruraru ka whakarite kia taea e ta matou roopu tautoko i Mewayz te whakatau tere i nga take whakauru taputapu, me te pupuri i te pono o te punaha.

Whakamutunga: Te Symphony of System Integration

Ko te taputapu wera i runga i te Linux he tauira maamaa o te rapanga uaua ka whakatauhia na roto i te hoahoanga tahi, paparanga. Mai i te kitenga tuatahi o te kernel ki te whirihoranga-a-ture a udev, ka mutu ki nga whakamohiotanga taumata-tono a D-Bus, he mahi nui kei ia waahanga. Ko te mohio ki tenei rerenga ehara i te mea matauranga anake; he mea nui mo te hanga i nga punaha e tino hihiri ana, e mau tonu ana. Mo te OS pakihi rereke penei i a Mewayz, ko tenei whakaurunga hohonu te turanga e hanga ai e matou he papa e tino urutau ana ki nga ahuatanga o nga taputapu o te pakihi hou e huri haere tonu ana, e huri ana i te hepohepo hei mahi korekore.

Whakatikahia to Pakihi me Mewayz

Mewayz kawe 207 kōwae pakihi ki te papa kotahi — CRM, nama, whakahaere kaupapa, me etahi atu. Hono atu ki te 138,000+ ngā kaiwhakamahi i whakangāwari i ā rātou rerengamahi.

Tīmata Koreutu I tenei ra →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime