Sebopeho see se tsoa hokae? [Debian/Ubuntu]

Morero oa poso ena ke ho bonts'a mokhoa oa ho lokisa liphoso ho debian/ubuntu o amanang le "ho fumana mohloli" faeleng ea tlhophiso ea sistimi.

Mohlala oa teko: ka mor'a ho songoa haholo ka kopi ea tar.gz ea OS e kentsoeng le ka mor'a ho e tsosolosa le ho kenya lisebelisoa, re fumana molaetsa:

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.

Sepheo: utloisisa hore na boleng bona (U1563304817I0) bo tsoa hokae le hore na u ka bo fetola joang ka nepo. Ona ke mohlala oa pele o hlahileng, o sa thahaselle ka bowona, empa o loketse ho bonts'a mekhoa e sebetsang ea ho sebetsa le Linux.

Mohato oa 1: RESUME e tsoa hokae?

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

Re khutlela morao (-r) batla ho buuoa ka phetoho ena ho / joalo-joalo (moo boholo ba li-configs li leng teng). Re fumana conf.d snippet, e sebelisoang ka ho hlaka ke initramfs-tools package.

Sekhechana see se tsoa hokae?

Hona le likhetho tse tharo:

  1. Artifact ea boselamose (motho e mong o e beile a ba a lebala)
  2. Lokisa ho tsoa sephutheloana
  3. Config e hlahisoang ke mongolo o itseng ho tsoa ho liphutheloana tsa sistimi

Ha re hlahlobe No. 2 (e le bonolo ka ho fetisisa):

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

dpkg -S e re lumella ho batla polokelong ea lifaele tse kentsoeng le ho fumana hore na faele ke ea sephutheloana sefe. Mohlala oa patlisiso e atlehileng ke ena:

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

Ha re khutlele mosebetsing oa rona: file initramfs-tools/conf.d/resume ha e ea kengoa ho sistimi ho tsoa sephuthelong. Mohlomong e hlahisoa ho postinst/preinst script ea sephutheloana? Ha re hlahlobeng mofuta oa 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

Lenaneng /var/lib/dpkg/info/ ho na le liphetolelo tse sa pakoang tsa "metafiles" tsohle tsa liphutheloana (lingoloa tsa ho kenya / ho tlosa, litlhaloso tsa liphutheloana, joalo-joalo). Hoa makatsa hore ebe faele ena e tlosoa posong (ka ho tlosa) ea initramfs-tools-core package. Ha re shebeng litaba tsa eona tsa postinst... Ha ho letho le amanang le conf.d directory.

A re shebeng lifaele tse kenyelletsoeng ka har'a sephutheloana initramfs-tools-core.

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

sehlopha dpkg -L e o lumella ho sheba lifaele tsohle tse ho sistimi ho tsoa ho sephutheloana se boletsoeng. Ke totobalitse faele e khahlang ho ithutoa. Ho hlahloba faele ho bontša hore na phapang ena e sebelisoa joang, empa ha e bolele hore na e tsoa hokae.

boq

Hoa etsahala hore sena ke ntho e entsoeng ke motho. Ea mang? Pele u kenella ka har'a sephutheloana, ha re shebeng lisebelisoa tse ling tsa bohlokoa tsa Debian - likarabo tsa lipotso. Nako le nako ha sephutheloana se botsa potso, 'me maemong a mangata ha se sa botse potso empa se sebelisa khetho ea kamehla, potso le karabo li ngotsoe sebakeng se khethehileng sa polokelo ea litaba ho Debian se bitsoang debconf. Re ka sheba database ea likarabo (mme ra li beha pele re kenya sephutheloana ka boeona - debconf-set-selections), bakeng sa sena re hloka thuso debconf-get-selections ho tsoa ho sebopeho debconf-utils. Ka bomalimabe, ha ho letho le khahlisang le ileng la fumanoa :(debconf-get-selections |grep -i resume e khutlile e se na letho).

kenyelletso

Mofani o na le database ea hae ea likarabo tsa lipotso: /var/log/installer/cdebconf/questions.dat. Ka bomalimabe, hape ha ho na lentsoe mabapi le resume ea rona.
Empa ho na le likutu tse haufi, ho kenyeletsoa. syslog, moo tlaleho eohle ea ho kenya e ngotsoeng. Sephutheloana sa base-installer se boletsoe moo, le ho eona leqephe re ka bona sehokelo ho tse tala.

Ka har'a bona re ka fumana karabo ea potso ea rona habonolo:

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

mapdevfs ke sesebelisoa se nang le sepheo se hlakileng, 'me mosebetsi oo re o thahasellang ke get_resume_partition, e balehang /proc/swaps ebe e khetha e kholo ka ho fetisisa moo. Ho fapanyetsana ho tsoa ho partman.

Karabo mosebetsing oa rona oa teko: faele e bōpiloe ke installer ho / target nakong ea ho kenya, ke hore. re bua ka e tsebahalang, empa e artifact. Ha ho na motho kapa eng kapa eng ka har'a liphutheloana tse teng tsamaisong e ka fetolang faele ena.

Ho akaretsa

  1. dpkg le debconf ke mekhoa ea mantlha ea ho fumana bafani ba lifaele.
  2. Ho batla ho /var/lib/dpkg/info ho u lumella ho bona ts'ebetso ho lifaele nakong ea mohato oa ho kenya.
  3. Sesebelisoa se ka etsa lifaele tsa maiketsetso tseo ka nako eo li sa kang tsa fetoloa ke mang kapa mang (ntle le mosebelisi), 'me sena se ka bonoa ho khoutu ea ho kenya.

Source: www.habr.com

Eketsa ka tlhaloso