No hea tenei whirihora? [Debian/Ubuntu]

Ko te kaupapa o tenei pou he whakaatu i te tikanga patuiro i roto i te debian/ubuntu e pa ana ki te "kitea te puna" i roto i te konae whirihoranga punaha.

Tauira whakamatautau: i muri i te nui o te tawai ki te kape tar.gz o te OS kua whakauruhia, a, i muri i te whakaora me te whakauru i nga whakahou, ka tae mai te karere:

update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: initramfs-tools configuration sets RESUME=/dev/mapper/U1563304817I0-swap
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/foobar-swap)
I: Set the RESUME variable to override this.

Whāinga: kia mohio no hea tenei uara (U1563304817I0) me pehea te whakarereke tika. Koinei te tauira tuatahi i puta, ehara i te mea tino pai ki a ia ano, engari he pai ki te whakaatu i nga tikanga mahi mo te mahi me Linux.

Hipanga 1: No hea a RESUME?

# cd /etc
# grep -r RESUME
initramfs-tools/conf.d/resume:RESUME=/dev/mapper/U1563304817I0-swap

Ka hoki whakamuri (-r) titiro mo te whakahuatanga o tenei taurangi i roto i te whaiaronga /etc (kei hea te nuinga o nga whirihora). Ka kitea e matou te snippet conf.d, e tino whakamahia ana e te putea initramfs-taputapu.

No hea tenei mahanga?

E toru nga whiringa:

  1. He mea hanga makutu (na tetahi i whakatakoto ka wareware)
  2. Whirihorahia mai i te kete
  3. Whirihorahia i hangaia e etahi tuhinga mai i nga kohinga punaha

Kia tirohia te Nama 2 (he mea ngawari rawa):

 dpkg -S initramfs-tools/conf.d/resume
dpkg-query: no path found matching pattern *initramfs-tools/conf.d/resume*

dpkg -S ka taea e maatau te rapu i te papaaarangi o nga konae kua whakauruhia me te kimi ko wai te kete no te konae. Anei tetahi tauira o te rapu angitu:

dpkg -S resolv.conf
manpages: /usr/share/man/man5/resolv.conf.5.gz
systemd: /lib/systemd/resolv.conf

Kia hoki ki ta tatou mahi: file initramfs-tools/conf.d/resume kaore i te whakauruhia ki te punaha mai i te kete. Ka hangaia pea i roto i te tuhinga postinst/preinst o te kete? Kia tirohia te putanga nama 3.

# cd /var/lib/dpkg/info/
# grep -r initramfs-tools/conf.d/resume *
initramfs-tools-core.postrm:    rm -f /etc/initramfs-tools/conf.d/resume

I roto i te pukapuka /var/lib/dpkg/info/ kei kona ano nga momo momo "metafiles" katoa o nga kete (whakaahua / tangohanga, whakaahuatanga kete, aha atu). He mea whakamiharo, ka tangohia tenei konae i roto i te postrm (i te tango) o te kete initramfs-tools-core. Ka titiro tatou ki nga korero o tana poutuhi... Karekau he mea e pa ana ki te whaiaronga conf.d.

Kia titiro tatou ki nga konae kei roto i te kete initramfs-tools-core.

# dpkg -L initramfs-tools-core
...
/usr/share/initramfs-tools/hooks/resume
...

rōpū dpkg -L ka taea e koe te tiro i nga konae katoa kei runga i te punaha mai i te kete kua tohua. Kua tohua e au tetahi konae e pai ana mo te ako. Ko te tirotiro i te konae e whakaatu ana me pehea te whakamahi i tenei taurangi, engari kaore i te whakaatu mai no hea.

Whakapapa

Te ahua nei he mahi toi tenei na tetahi. Na wai? I mua i te ruku ki roto i te kaitautauta, me titiro ki tetahi atu hanganga Debian nui - nga whakautu ki nga patai. I nga wa katoa ka patai tetahi kete, me te maha o nga keehi kaore i te patai he patai engari ka whakamahi i te whiringa taunoa, ko te patai me te whakautu ka tuhia ki roto i te papanga raraunga motuhake i Debian ko debconf. Ka taea e tatou te titiro ki te papaaarangi o nga whakautu (me te whakanoho ano i mua i te whakauru i te kete ake - debconf-set-selections), mo tenei ka hiahia matou ki tetahi taputapu debconf-get-selections mai i te titonga debconf-utils. Heoi, kaore he mea whakamere i kitea :(debconf-get-selections |grep -i resume i whakahokia kau).

kaiwhakarato-debian

Kei te kaiwhakaputa tana ake putunga korero mo nga whakautu ki nga patai: /var/log/installer/cdebconf/questions.dat. Kia aroha mai, kaore ano he kupu mo to maatau korero.
Engari kei reira nga rakau e tata ana, incl. syslog, kei reira te tuhi i te raarangi whakaurunga katoa. Kei te whakahuahia te putea turanga-whakauru, kei runga Whārangi ka kite tatou i te hono ki nga raws.

I roto i a raatau ka kitea ngawari te whakautu ki ta maatau patai:

  resume="$(mapdevfs "$resume_devfs")"; then
...
    if [ "$do_initrd" = yes ]; then
     ...
            resumeconf=$IT_CONFDIR/resume
....
                echo "RESUME=$resume" >> $resumeconf

Ko te mapdevfs he whaipainga me te tino kaupapa, a ko te mahi e pirangi ana matou ko get_resume_partition, ka panui /proc/swaps ka kowhiri i te mea nui rawa atu ki reira. Ko te whakawhiti mai i te waahanga.

Ko te whakautu ki ta maatau mahi whakamatautau: he mea hanga te konae e te kaiwhakaputa i roto i te /target i te wa o te whakaurunga, i.e. e korero ana matou mo nga mea rongonui, engari he taonga. Karekau he tangata, he aha ranei i roto i nga kohinga o naianei kei te punaha hei whakarereke i tenei konae.

Hei whakariterite

  1. Ko te dpkg me te debconf nga tikanga matua mo te rapu i nga kaiwhakarato konae.
  2. Ko te rapu i roto i te /var/lib/dpkg/info ka taea e koe te kite i nga mahi i runga i nga konae i te waa whakaurunga.
  3. Ka taea e te kaitautauta te hanga i nga konae toi kaore e whakarereketia e tetahi (haunga te kaiwhakamahi), a ka kitea tenei i roto i te waehere whakauru.

Source: will.com

Tāpiri i te kōrero