Kodi config izi zimachokera kuti? [Debian/Ubuntu]

Cholinga cha positiyi ndikuwonetsa njira yochotsera debian/ubuntu yokhudzana ndi "kupeza gwero" mufayilo yosinthira dongosolo.

Chitsanzo choyesera: pambuyo ponyozedwa kwambiri ndi tar.gz kopi ya OS yomwe idayikidwa ndipo mutayibwezeretsa ndikuyika zosintha, timalandira uthengawu:

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.

Cholinga: kumvetsetsa komwe mtengo uwu (U1563304817I0) unachokera ndi momwe mungasinthire molondola. Ichi ndi chitsanzo choyamba chomwe chinabwera, osati chosangalatsa mwachokha, koma chosavuta kusonyeza njira zothandiza zogwirira ntchito ndi Linux.

Khwerero 1: Kodi RESUME idachokera kuti?

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

Ife mobwerezabwereza (-r) yang'anani kutchulidwa kwa kusinthaku mu /etc directory (pomwe ma configs ambiri ali). Timapeza mawu a conf.d, omwe amagwiritsidwa ntchito momveka bwino ndi phukusi la initramfs-tools.

Kodi kaduka aka kachokera kuti?

Pali njira zitatu:

  1. Zamatsenga zamatsenga (wina adaziyika ndikuyiwala)
  2. Konzani kuchokera pa phukusi
  3. Konzani zopangidwa ndi zolemba zina kuchokera pamapaketi adongosolo

Tiyeni tiwone Nambala 2 (monga yosavuta):

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

dpkg -S imatilola kusaka nkhokwe yamafayilo omwe adayikidwa ndikupeza kuti fayiloyo ndi yanji. Nachi chitsanzo cha kusaka kopambana:

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

Tiyeni tibwerere ku ntchito yathu: file initramfs-tools/conf.d/resume sichimayikidwa pa dongosolo kuchokera pa phukusi. Mwina imapangidwa mu postinst/preinst script ya phukusi? Tiyeni tiwone mtundu 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

M'ndandanda /var/lib/dpkg/info/ pali mitundu yonse yosapakidwa ya "metafiles" yamapaketi (zolemba zoyika / zochotsa, kufotokozera phukusi, ndi zina). Chodabwitsa n'chakuti, fayiloyi imachotsedwa mu postrm (pochotsa) pa phukusi la initramfs-tools-core. Tiyeni tiwone zomwe zili mu postinst yake... Palibe chokhudzana ndi chikwatu cha conf.d.

Tiyeni tiwone mafayilo omwe ali mu phukusi initramfs-tools-core.

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

timu dpkg -L amakulolani kuti muwone mafayilo onse omwe ali padongosolo kuchokera pa phukusi lotchulidwa. Ndaunikira fayilo yomwe ndi yosangalatsa kuphunzira. Kuwunika fayilo kukuwonetsa momwe kusinthaku kumagwiritsidwira ntchito, koma sikunena komwe kumachokera.

chantho

Zikuoneka kuti ichi ndi chopangidwa ndi winawake. Ndani? Tisanalowe mu okhazikitsa, tiyeni tiwone zachitukuko china chofunikira cha Debian - mayankho a mafunso. Nthawi iliyonse phukusi likufunsa funso, ndipo nthawi zambiri likakhala silikufunsa funso koma limagwiritsa ntchito njira yosasinthika, funso ndi yankho zimalembedwa mu database yapadera ya Debian yotchedwa debconf. Titha kuyang'ana nkhokwe ya mayankho (ndikuwayikanso tisanayike phukusi lokha - debconf-set-selections), chifukwa cha izi timafunikira zofunikira debconf-get-selections kuchokera pakupanga debconf-utils. Tsoka ilo, palibe chosangalatsa chomwe chidapezeka :(debconf-get-selections |grep -i resume anabwerera opanda kanthu).

choyika debian

Woyikayo ali ndi nkhokwe yake yamayankho a mafunso: /var/log/installer/cdebconf/questions.dat. Tsoka ilo, palibenso mawu okhudza kuyambiranso kwathu.
Koma pali zipika pafupi, kuphatikizapo. syslog, pomwe chipika chonse chokhazikitsa chimalembedwa. Phukusi la base-installer limatchulidwa pamenepo, ndipo pamenepo tsamba tikhoza kuona kugwirizana kwa zobiriwira.

Mkati mwawo titha kupeza yankho la funso lathu:

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

mapdevfs ndi chida chomwe chili ndi cholinga chomveka bwino, ndipo ntchito yomwe timakonda ndi get_resume_partition, yomwe imawerenga /proc/swaps ndikusankha yayikulu kwambiri pamenepo. Kusinthana kumachokera ku partman.

Yankho la ntchito yathu yoyesera: fayilo imapangidwa ndi oyika mu / chandamale pa nthawi ya kukhazikitsa, i.e. tikulankhula zodziwika bwino, koma zopangidwa. Palibe aliyense kapena chilichonse m'mapaketi omwe alipo mudongosolo omwe angasinthe fayiloyi.

Kufotokozera mwachidule

  1. dpkg ndi debconf ndi njira zazikulu zopezera opereka mafayilo.
  2. kusaka mu /var/lib/dpkg/info kumakupatsani mwayi kuti muwone momwe mafayilo amagwirira ntchito panthawi yoyika.
  3. Woyikirayo amatha kupanga mafayilo akale omwe sasinthidwa ndi aliyense (kupatula wogwiritsa), ndipo izi zitha kuwoneka mu code yoyika.

Source: www.habr.com

Kuwonjezera ndemanga