Bii o ṣe le pinnu ati ṣatunṣe Awọn oran Boot ni Linux


Awọn orunkun eto Linux ni iyara pupọ pe pupọ julọ awọn yiyijade lọjade ni iyara pupọ lati ka ọrọ naa (fifihan awọn iṣẹ ti bẹrẹ) ti a firanṣẹ si itọnisọna naa. Nitorinaa akiyesi awọn ọran/awọn aṣiṣe bata di kekere ti ipenija fun wa.

Ninu àpilẹkọ yii, a yoo ṣe alaye ni ṣoki awọn ipo oriṣiriṣi ni ilana ilana eto Linux, lẹhinna kọ ẹkọ bi o ṣe le fi idi mulẹ ati lati de isalẹ awọn ọran bata: ni awọn faili ọrọ lati wo inu tabi awọn aṣẹ lati wo awọn ifiranṣẹ bata eto.

Akopọ Ti Ilana Ilana Linux

Ni akojọpọ, ni kete ti a tẹ bọtini Power On, BIOS (Eto Ipilẹ Input Ipilẹ) eto ti a ṣepọ ninu modaboudu n ṣe POST (Agbara lori Idanwo Ara) - nibiti ohun elo bi disiki, Ramu (Iranti Iranti ID), keyboard, ati be be lo ti wa ni ṣayẹwo. Ni ọran ti aṣiṣe kan (ohun elo ti o padanu/aiṣe-aṣiṣe), o ti royin loju iboju.

Lakoko POST, BIOS tun n wa ẹrọ bata, disk lati ṣe iṣiro lati (nigbagbogbo disk lile akọkọ, sibẹsibẹ a le tunto rẹ lati jẹ DVD, USB, Kaadi Nẹtiwọọki ati bẹbẹ lọ).

Lẹhinna eto naa yoo sopọ si disiki naa ki o wa fun Igbasilẹ Boot Titunto (awọn baiti 512 ni iwọn) eyiti o tọju ikojọpọ bata (awọn baiti 446 ni iwọn) ati iyoku awọn alaye ile itaja aaye nipa awọn ipin disk (o pọju mẹrin) ati MBR funrararẹ.

Olutaja bata yoo ṣe idanimọ ati tọka si, bakanna fifuye Kernel ati faili initrd (ipilẹ disiki disiki - pese aaye ekuro si faili faili ti a gbe sori ati awọn modulu/awakọ ti a fipamọ sinu/lib liana), eyiti o wa ni ipamọ gbogbogbo ni/itọsọna bata ti eto faili.

Lẹhin ti o ti kojọpọ ekuro, o ṣe init (tabi eto lori titun Linux distros), ilana akọkọ pẹlu PID 1, eyiti o bẹrẹ gbogbo awọn ilana miiran lori eto naa. O tun jẹ ilana ti o kẹhin lati ṣe lori tiipa eto.

Bii o ṣe le Wa Awọn oran Boot Linux tabi Awọn ifiranṣẹ aṣiṣe

Gẹgẹbi a ti sọ tẹlẹ, awọn ilana fifin Linux ti n ṣẹlẹ ni iyara ti a ko le paapaa ka kedere julọ ti iṣelọpọ ti a firanṣẹ si itọnisọna naa.

Nitorinaa akiyesi awọn oran/awọn aṣiṣe bata n pe fun alakoso eto lati wo awọn faili pataki kan ni apapo pẹlu awọn ofin pataki. Ati iwọnyi pẹlu:

Eyi ṣee ṣe faili akọkọ ti o fẹ lati wo inu, lati wo gbogbo eyiti o ṣafihan lakoko bata eto.

Dipo igbiyanju pupọ lati tẹle iṣẹjade loju iboju lakoko bata, a le wo faili yii lẹhin ti ilana bata ti pari lati ṣe iranlọwọ fun wa ni ipinnu ati ipinnu awọn ọran/awọn aṣiṣe bata.

A lo aṣẹ ologbo fun idi naa bii atẹle (ni isalẹ jẹ ayẹwo ti faili yii):

# cat /var/log/boot.log
[  OK  ] Started Load/Save RF Kill Switch Status.
[ TIME ] Timed out waiting for device dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615.device.
[DEPEND] Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c208ed615.
[DEPEND] Dependency failed for Swap.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on UUID daemon activation socket.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Started Daily apt activities.
[  OK  ] Reached target Timers.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Started ACPI Events Check.
[  OK  ] Started Trigger resolvconf update for networkd DNS.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Reached target Paths.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Listening on ACPID Listen Socket.
         Starting Console System Startup Logging...
[  OK  ] Listening on Cockpit Web Service Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
[  OK  ] Started ACPI event daemon.
[  OK  ] Started mintsystem.service.
         Starting Detect the available GPUs and deal with any system changes...
         Starting LSB: daemon to balance interrupts for SMP systems...
         Starting Bluetooth service...
[  OK  ] Started ClamAV virus database updater.
         Starting LSB: Starts syslogd...
[  OK  ] Started Regular background program processing daemon.
         Starting Modem Manager...
         Starting Accounts Service...
......

Lati iṣẹjade loke, a le rii pe awọn ọran bata kan wa ti itọkasi nipasẹ awọn ila isalẹ.

[DEPEND] Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c208ed615.
[DEPEND] Dependency failed for Swap.

Atejade: Isoro pẹlu ipin swap; eto boya kuna lati ka faili swap/ẹrọ/ipin tabi ko wa.

Jẹ ki a ṣayẹwo boya eto naa nlo aaye swap pẹlu aṣẹ ọfẹ.

# free

total        used        free      shared  buff/cache   available
Mem:        3742792     2421060      433696      287376      888036      967000
Swap:             0           0           0

Ni omiiran, a le ṣiṣẹ pipaṣẹ swapon lati wo akopọ lilo swap aaye eto (a kii yoo gba eyikeyi iṣelọpọ).

# swapon -s

A le yanju ọrọ yii, nipa ṣiṣẹda aaye swap ninu Linux.

Akiyesi: Akoonu ti faili yii ti yọ ni pipa eto: a ti fipamọ data tuntun sinu rẹ lori bata tuntun.

Faili yii tọju awọn ifiranṣẹ eto gbogbogbo, pẹlu awọn ifiranṣẹ ti o wọle lakoko bata eto.

Lati wo, tẹ:

# cat /var/log/messages
Jun  4 13:04:44 tecmint syslogd (GNU inetutils 1.9.4): restart
Jun  4 13:19:55 tecmint -- MARK --
Jun  4 13:39:55 tecmint -- MARK --
Jun  4 13:59:55 tecmint -- MARK --
Jun  4 14:19:55 tecmint -- MARK --
Jun  4 14:20:17 tecmint vmunix: [ 4945.388740] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
Jun  4 14:20:17 tecmint vmunix: [ 4945.388837] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
Jun  4 14:20:17 tecmint vmunix: [ 4945.388903] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
Jun  4 14:20:17 tecmint vmunix: [ 4945.388930] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
Jun  4 14:20:17 tecmint vmunix: [ 4945.389334] i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
Jun  4 14:20:17 tecmint vmunix: [ 4945.389402] pcieport 0000:00:1c.0: BAR 15: assigned [mem 0xdfa00000-0xdfbfffff 64bit pref]
.....

Nitori faili yii le jẹ gigun gigun, a le wo o ni awọn oju-iwe lo aṣẹ diẹ sii (eyiti paapaa fihan ipin kan) bii eleyi.

# more /var/log/messages

Awọn akoonu ti/var/log/awọn ifiranṣẹ ko dabi faili ti tẹlẹ ko tii tiipa nitori ko ni awọn ifiranṣẹ bata nikan ṣugbọn awọn ifiranṣẹ nipa awọn iṣẹ ṣiṣe eto miiran. Nitorinaa awọn faili agbalagba ti wa ni fisinuirindigbindigbin ati tọju lori eto fun ayewo nigbamii bi o ti han ni isalẹ.

# ls -l message*

-rw-r--r-- 1 root root 1206127 Jun 10 14:20 messages
-rw-r--r-- 1 root root 1419494 Jun  4 13:00 messages.1
-rw-r--r-- 1 root root  153011 May 28 09:30 messages.2.gz

Aṣẹ dmesg le ṣe afihan awọn iṣẹ ni kete ti ilana bata ti pari, gẹgẹbi awọn aṣayan laini aṣẹ ti o kọja si ekuro; Awọn ohun elo hardware ti a rii, awọn iṣẹlẹ nigba ti a fi kun ẹrọ USB tuntun, tabi awọn aṣiṣe bii NIC (Kaadi Iboju Nẹtiwọọki) ikuna ati awọn awakọ jabo ko si ọna asopọ asopọ ti a rii lori nẹtiwọọki ati pupọ diẹ sii.

# dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.0-21-generic ([email ) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic 4.4.6)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=57b36d48-1938-43c2-bf85-e97bc9f423ea ro quiet splash
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] x86/fpu: Using 'eager' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x00000000000bffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000040005000-0x0000000080b2ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000080b30000-0x0000000080d31fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000080d32000-0x00000000ce3eefff] usable
[    0.000000] BIOS-e820: [mem 0x00000000ce3ef000-0x00000000ce5eefff] type 20
[    0.000000] BIOS-e820: [mem 0x00000000ce5ef000-0x00000000daeeefff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000daeef000-0x00000000daf9efff] ACPI NVS
....

Eyi wulo ni distros Linux lọwọlọwọ julọ lilo systemd: eto tuntun ati oluṣakoso iṣẹ. Labẹ rẹ, gedu eto ti ṣe nipasẹ paati iwe-akọọlẹ - ipo ti aarin fun gbogbo awọn ifiranṣẹ ti o wọle nipasẹ oriṣiriṣi awọn paati.

Awọn ifiranṣẹ wọnyi pẹlu ekuro ati awọn ifiranṣẹ bata; awọn ifiranṣẹ lati syslog tabi awọn iṣẹ pupọ. A le lo lati ṣe atunyẹwo awọn ifiranṣẹ bata ati ṣeto awọn ọran bata nipasẹ kika nipasẹ iṣẹjade ati idanimọ awọn ila ti iwulo (awọn aṣiṣe ti a tọka nipasẹ awọn ila pupa ti o da lori awọn eto awọ ọrọ ebute).

# journalctl
Jun 13 16:35:32 tecmint mtp-probe[963]: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/u
Jun 13 16:35:32 tecmint mtp-probe[963]: bus: 2, device: 5 was not an MTP device
Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615.
Jun 13 16:35:54 tecmint systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d
Jun 13 16:35:54 tecmint systemd[1]: Dependency failed for /dev/disk/by-uuid/53e41ce9-dc18-458c-bc08-584c2
Jun 13 16:35:54 tecmint systemd[1]: Dependency failed for Swap.
Jun 13 16:35:54 tecmint systemd[1]: swap.target: Job swap.target/start failed with result 'dependency'.
Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615.
Jun 13 16:35:54 tecmint systemd[1]: dev-disk-by\x2duuid-53e41ce9\x2ddc18\x2d458c\x2dbc08\x2d584c208ed615.
Jun 13 16:35:54 tecmint systemd[1]: Reached target System Initialization.
Jun 13 16:35:54 tecmint systemd[1]: Started ACPI Events Check.
Jun 13 16:35:54 tecmint systemd[1]: Listening on CUPS Scheduler.
Jun 13 16:35:54 tecmint systemd[1]: Starting Console System Startup Logging...
Jun 13 16:35:54 tecmint systemd[1]: Started Daily Cleanup of Temporary Directories.

Eyi ti o wa loke jẹ apẹrẹ ti o wu aṣẹ ti o nfihan aṣiṣe ti a ti mọ tẹlẹ nipasẹ wiwo /var/log/boot.log: aṣiṣe aṣiṣe ipin swap. Lati wo awọn ila ilajade diẹ sii, tẹ bọtini [Tẹ] ni kia kia.

Tun ṣayẹwo awọn itọsọna to wulo wọnyi nipa bata eto Linux ati iṣakoso iṣẹ ni ibatan si eto ti o wọpọ ati awọn alakoso iṣẹ:

  1. Iṣakoso ilana ni RHEL 7: Bata, Tiipa, ati Ohun gbogbo ni Laarin
  2. Ṣiṣakoso ilana Ibẹrẹ Eto ati Awọn Iṣẹ (SysVinit, Systemd and Upstart)
  3. Itan Lẹhin Lẹhin ‘init’ ati ‘systemd’: Kilode ti ‘init’ Nilo lati Rọpo pẹlu ‘systemd’

Ninu àpilẹkọ yii, a ṣalaye ni kukuru awọn ipo oriṣiriṣi ninu ilana fifin eto Linux bi daradara bi a ti kọ bi a ṣe le fi idi mulẹ ati boya o le yanju awọn ọran bata. Lati ṣafikun eyikeyi ero si itọsọna yii, lo fọọmu asọye ni isalẹ.