UKI (Unified Kernel Image) ஆதரவுடன் systemd கணினி மேலாளர் 252 வெளியீடு

ஐந்து மாத மேம்பாட்டிற்குப் பிறகு, கணினி மேலாளர் systemd 252 வெளியிடப்பட்டது.புதிய பதிப்பில் முக்கிய மாற்றம் நவீனமயமாக்கப்பட்ட துவக்க செயல்முறைக்கான ஆதரவை ஒருங்கிணைப்பதாகும், இது கர்னல் மற்றும் பூட்லோடரை மட்டும் சரிபார்க்க உங்களை அனுமதிக்கிறது. டிஜிட்டல் கையொப்பங்களைப் பயன்படுத்தி அடிப்படை அமைப்பு சூழலின்.

முன்மொழியப்பட்ட முறையானது, UEFI (UEFI பூட் ஸ்டப்), லினக்ஸ் கர்னல் இமேஜ் மற்றும் நினைவகத்தில் ஏற்றப்பட்ட initrd கணினி சூழல் ஆகியவற்றிலிருந்து கர்னலை ஏற்றுவதற்கான ஹேண்ட்லரை ஒருங்கிணைக்கும் ஒரு ஒருங்கிணைந்த கர்னல் படத்தை UKI (யுனிஃபைட் கர்னல் இமேஜ்) ஏற்றும் போது பயன்படுத்துகிறது. ரூட் FS ஐ ஏற்றுவதற்கு முன் கட்டத்தில் ஆரம்ப துவக்கத்திற்கு. UKI படம் PE வடிவத்தில் ஒரு இயங்கக்கூடிய கோப்பாக தொகுக்கப்பட்டுள்ளது, இது பாரம்பரிய பூட்லோடர்களைப் பயன்படுத்தி ஏற்றப்படலாம் அல்லது UEFI ஃபார்ம்வேரிலிருந்து நேரடியாக அழைக்கப்படும். UEFI இலிருந்து அழைக்கப்படும் போது, ​​கர்னலின் டிஜிட்டல் கையொப்பத்தின் ஒருமைப்பாடு மற்றும் நம்பகத்தன்மையை சரிபார்க்க முடியும், ஆனால் initrd இன் உள்ளடக்கங்களையும் சரிபார்க்க முடியும்.

TPM PCR (Trusted Platform Module Platform Configuration Register) பதிவேடுகளின் அளவுருக்களைக் கணக்கிட, UKI படத்தின் ஒருமைப்பாட்டைக் கண்காணிக்கவும் டிஜிட்டல் கையொப்பத்தை உருவாக்கவும், ஒரு புதிய பயன்பாட்டு systemd-அளவை சேர்க்கப்பட்டுள்ளது. கையொப்பம் மற்றும் அதனுடன் இணைந்த PCR தகவலில் பயன்படுத்தப்படும் பொது விசையை UKI துவக்கப் படத்தில் நேரடியாக உட்பொதிக்க முடியும் (விசை மற்றும் கையொப்பம் PE கோப்பில் '.pcrsig' மற்றும் '.pcrkey' புலங்களில் சேமிக்கப்படும்) மற்றும் அதிலிருந்து வெளியிலிருந்து பிரித்தெடுக்கப்படும். அல்லது உள் பயன்பாடுகள்.

குறிப்பாக, systemd-cryptsetup, systemd-cryptenroll மற்றும் systemd-creds பயன்பாடுகள் இந்தத் தகவலைப் பயன்படுத்துவதற்கு மாற்றியமைக்கப்பட்டுள்ளன, இதன் மூலம் மறைகுறியாக்கப்பட்ட வட்டு பகிர்வுகள் டிஜிட்டல் கையொப்பமிடப்பட்ட கர்னலுடன் பிணைக்கப்பட்டிருப்பதை உறுதிசெய்யலாம் (இந்த விஷயத்தில், மறைகுறியாக்கப்பட்ட பகிர்வுக்கான அணுகல். TPM இல் உள்ள அளவுருக்கள் அடிப்படையில் UKI படம் டிஜிட்டல் கையொப்பம் மூலம் சரிபார்ப்பை நிறைவேற்றியிருந்தால் மட்டுமே வழங்கப்படும்).

கூடுதலாக, systemd-pcrphase பயன்பாடு சேர்க்கப்பட்டுள்ளது, இது TPM 2.0 விவரக்குறிப்பை ஆதரிக்கும் கிரிப்டோபிராசசர்களின் நினைவகத்தில் உள்ள அளவுருக்களுடன் பல்வேறு துவக்க நிலைகளை பிணைப்பதைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது (எடுத்துக்காட்டாக, நீங்கள் LUKS2 பகிர்வு மறைகுறியாக்க விசையை இதில் மட்டுமே கிடைக்கச் செய்யலாம். initrd படத்தைப் பதிவிறக்கி, அதன் அடுத்த கட்டங்களில் அணுகலைத் தடுக்கவும்).

வேறு சில மாற்றங்கள்:

  • அமைப்புகளில் வேறு மொழி குறிப்பிடப்படாவிட்டால், இயல்புநிலை மொழி C.UTF-8 என்பதை உறுதி செய்கிறது.
  • முதல் துவக்கத்தின் போது ஒரு முழுமையான சேவை முன்னமைக்கப்பட்ட செயல்பாட்டை (“systemctl முன்னமைவு”) இப்போது செய்ய முடியும். துவக்க நேரத்தில் முன்னமைவுகளை இயக்க "-Dfirst-boot-full-preset" விருப்பத்துடன் உருவாக்க வேண்டும், ஆனால் எதிர்கால வெளியீடுகளில் முன்னிருப்பாக செயல்படுத்த திட்டமிடப்பட்டுள்ளது.
  • பயனர் மேலாண்மை அலகுகள் ஒரு CPU ஆதாரக் கட்டுப்படுத்தியை உள்ளடக்கியது, இது CPUWeight அமைப்புகள் அனைத்து ஸ்லைஸ் யூனிட்களுக்கும் பயன்படுத்தப்படுவதை உறுதிசெய்து, கணினியை பகுதிகளாக (app.slice, background.slice, session.slice) பிரித்து ஆதாரங்களுக்கு இடையே தனிமைப்படுத்துகிறது. வெவ்வேறு பயனர் சேவைகள், CPU ஆதாரங்களுக்காக போட்டியிடுகின்றன. CPUWeight பொருத்தமான ஆதார வழங்கல் பயன்முறையைச் செயல்படுத்த "சும்மா" மதிப்பையும் ஆதரிக்கிறது.
  • தற்காலிக (“நிலையான”) அலகுகள் மற்றும் systemd-repart பயன்பாட்டில், /etc/systemd/system/name.d/ கோப்பகத்தில் டிராப்-இன் கோப்புகளை உருவாக்குவதன் மூலம் அமைப்புகளை மீறுதல் அனுமதிக்கப்படுகிறது.
  • கணினிப் படங்களுக்கு, ஆதரவு-முடிவுக் கொடி அமைக்கப்பட்டுள்ளது, இது /etc/os-release கோப்பில் உள்ள புதிய அளவுருவான “SUPPORT_END=” மதிப்பின் அடிப்படையில் இந்த உண்மையைத் தீர்மானிக்கிறது.
  • “ConditionCredential=” மற்றும் “AssertCredential=” அமைப்புகள் சேர்க்கப்பட்டுள்ளன, சில நற்சான்றிதழ்கள் கணினியில் இல்லை என்றால் யூனிட்களைப் புறக்கணிக்க அல்லது செயலிழக்கப் பயன்படுத்தலாம்.
  • "DefaultSmackProcessLabel=" மற்றும் "DefaultDeviceTimeoutSec=" அமைப்புகளை system.conf மற்றும் user.conf இல் இயல்புநிலை SMACK பாதுகாப்பு நிலை மற்றும் யூனிட் ஆக்டிவேஷன் காலாவதியை வரையறுக்க சேர்க்கப்பட்டது.
  • “ConditionFirmware=” மற்றும் “AssertFirmware=” அமைப்புகளில், தனிப்பட்ட SMBIOS புலங்களைக் குறிப்பிடும் திறன் சேர்க்கப்பட்டுள்ளது, எடுத்துக்காட்டாக, /sys/class/dmi/id/board_name புலத்தில் “Custom” மதிப்பு இருந்தால் மட்டுமே ஒரு யூனிட்டைத் தொடங்குவதற்கு. போர்டு”, “ConditionFirmware=smbios” -field(board_name = "Custom Board")" என்பதை நீங்கள் குறிப்பிடலாம்.
  • துவக்கச் செயல்பாட்டின் போது (PID 1), SMBIOS புலங்களிலிருந்து நற்சான்றிதழ்களை இறக்குமதி செய்யும் திறன் (வகை 11, “OEM விற்பனையாளர் சரங்கள்”) qemu_fwcfg வழியாக அவற்றின் வரையறைக்கு கூடுதலாக சேர்க்கப்பட்டுள்ளது, இது மெய்நிகர் இயந்திரங்களுக்கு நற்சான்றிதழ்களை வழங்குவதை எளிதாக்குகிறது மற்றும் நீக்குகிறது. கிளவுட்-இனிட் மற்றும் பற்றவைப்பு போன்ற மூன்றாம் தரப்பு கருவிகள் தேவை.
  • பணிநிறுத்தத்தின் போது, ​​மெய்நிகர் கோப்பு முறைமைகளை (proc, sys) அகற்றுவதற்கான தர்க்கம் மாற்றப்பட்டது மற்றும் கோப்பு முறைமைகளின் மவுண்ட் செய்வதைத் தடுக்கும் செயல்முறைகள் பற்றிய தகவல்கள் பதிவில் சேமிக்கப்படும்.
  • கணினி அழைப்பு வடிகட்டி (SystemCallFilter) இயல்புநிலையாக riscv_flush_icache கணினி அழைப்பை அணுக அனுமதிக்கிறது.
  • sd-boot bootloader ஆனது கலப்பு முறையில் துவக்கும் திறனை சேர்க்கிறது, இதில் 64-bit Linux கர்னல் 32-bit UEFI firmware இலிருந்து இயங்குகிறது. ESP (EFI கணினிப் பகிர்வு) இல் காணப்படும் கோப்புகளிலிருந்து SecureBoot விசைகளைத் தானாகப் பயன்படுத்துவதற்கான சோதனைத் திறன் சேர்க்கப்பட்டது.
  • bootctl பயன்பாட்டில் புதிய விருப்பங்கள் சேர்க்கப்பட்டுள்ளன: அனைத்து ஆதரிக்கப்படும் EFI கட்டமைப்புகளுக்கும் பைனரிகளை நிறுவுவதற்கு “—all-architectures”, “—root=” மற்றும் “—image=” ஒரு அடைவு அல்லது வட்டு படத்துடன் வேலை செய்ய, “—install-source =” நிறுவலுக்கான மூலத்தை வரையறுக்க, "-efi-boot-option-description=" துவக்க நுழைவு பெயர்களைக் கட்டுப்படுத்த.
  • 'list-automounts' கட்டளை systemctl பயன்பாட்டில் தானாக ஏற்றப்பட்ட கோப்பகங்களின் பட்டியலைக் காண்பிக்க மற்றும் குறிப்பிட்ட வட்டு படத்துடன் தொடர்புடைய கட்டளைகளை இயக்க '--image=' விருப்பத்தை சேர்க்கப்பட்டுள்ளது. ‘ஷோ’ மற்றும் ‘ஸ்டேட்டஸ்’ கட்டளைகளில் “--ஸ்டேட்=” மற்றும் “--டைப்=” விருப்பங்கள் சேர்க்கப்பட்டது.
  • systemd-networkd ஆனது TCP நெரிசல் கட்டுப்பாட்டு வழிமுறையைத் தேர்ந்தெடுக்க “TCPCongestionControlAlgorithm=” விருப்பங்களைச் சேர்த்தது, TUN/TAP இடைமுகங்களின் கோப்பு விளக்கத்தைச் சேமிக்க “KeepFileDescriptor=”, NetLabels ஐ அமைக்க “NetLabel=”, “RapidCommit=” வழியாக ஸ்பீட்அப் சிபிகுரேஷன். (RFC 6). “RouteTable=” அளவுரு ரூட்டிங் அட்டவணைகளின் பெயர்களைக் குறிப்பிட அனுமதிக்கிறது.
  • systemd-nspawn "--bind=" மற்றும் "--overlay=" விருப்பங்களில் தொடர்புடைய கோப்பு பாதைகளைப் பயன்படுத்த அனுமதிக்கிறது. கொள்கலனில் உள்ள ரூட் பயனர் ஐடியை ஹோஸ்ட் பக்கத்தில் உள்ள மவுண்டட் டைரக்டரியின் உரிமையாளருடன் இணைக்க "--bind=" விருப்பத்திற்கு 'rootidmap' அளவுருவிற்கு ஆதரவு சேர்க்கப்பட்டது.
  • systemd-resolved OpenSSL ஐ அதன் என்க்ரிப்ஷன் பின்தளமாக முன்னிருப்பாகப் பயன்படுத்துகிறது (gnutls ஆதரவு ஒரு விருப்பமாகத் தக்கவைக்கப்படுகிறது). ஆதரிக்கப்படாத DNSSEC அல்காரிதம்கள் பிழையை (SERVFAIL) வழங்குவதற்குப் பதிலாகப் பாதுகாப்பற்றவையாகக் கருதப்படுகின்றன.
  • systemd-sysusers, systemd-tmpfiles மற்றும் systemd-sysctl ஆகியவை நற்சான்றிதழ் சேமிப்பக பொறிமுறை மூலம் அமைப்புகளை மாற்றும் திறனை செயல்படுத்துகின்றன.
  • பதிப்பு எண்களுடன் ('rpmdev-vercmp' மற்றும் 'dpkg --compare-versions' போன்றது) சரங்களை ஒப்பிடுவதற்கு systemd-analyze பயன்பாட்டில் 'compare-versions' கட்டளை சேர்க்கப்பட்டது. முகமூடி மூலம் அலகுகளை வடிகட்டுவதற்கான திறன் 'systemd-analyze dump' கட்டளையில் சேர்க்கப்பட்டுள்ளது.
  • மல்டி-ஸ்டேஜ் ஸ்லீப் பயன்முறையைத் தேர்ந்தெடுக்கும்போது (சஸ்பெண்ட்-பின்-ஹைபர்னேட்), மீதமுள்ள பேட்டரி ஆயுளின் முன்னறிவிப்பின் அடிப்படையில் காத்திருப்பு பயன்முறையில் செலவழித்த நேரம் இப்போது தேர்ந்தெடுக்கப்படுகிறது. 5% க்கும் குறைவான பேட்டரி சார்ஜ் இருக்கும்போது தூக்க பயன்முறைக்கு உடனடி மாற்றம் ஏற்படுகிறது.
  • ஒரு புதிய வெளியீட்டு முறை "-o short-delta" 'journalctl' இல் சேர்க்கப்பட்டது, பதிவில் உள்ள வெவ்வேறு செய்திகளுக்கு இடையேயான நேர வேறுபாட்டைக் காட்டுகிறது.
  • systemd-repart ஆனது Squashfs கோப்பு முறைமையுடன் பகிர்வுகளை உருவாக்குவதற்கான ஆதரவையும், டிஜிட்டல் கையொப்பங்கள் உட்பட dm-verityக்கான பகிர்வுகளையும் சேர்க்கிறது.
  • குறிப்பிட்ட காலக்கெடுவுக்குப் பிறகு செயலற்ற அமர்வை முடிக்க "StopIdleSessionSec=" அமைப்பு systemd-logind இல் சேர்க்கப்பட்டது.
  • Systemd-cryptenroll பயனரைத் தூண்டுவதற்குப் பதிலாக ஒரு கோப்பிலிருந்து மறைகுறியாக்க விசையைப் பிரித்தெடுக்க "--unlock-key-file=" விருப்பத்தைச் சேர்த்தது.
  • udev இல்லாமல் சூழல்களில் systemd-growfs பயன்பாட்டை இயக்குவது இப்போது சாத்தியமாகும்.
  • systemd-backlight ஆனது பல கிராபிக்ஸ் கார்டுகளுடன் கூடிய கணினிகளுக்கான ஆதரவை மேம்படுத்தியுள்ளது.
  • ஆவணத்தில் வழங்கப்பட்ட குறியீட்டு எடுத்துக்காட்டுகளுக்கான உரிமம் CC0 இலிருந்து MIT-0 க்கு மாற்றப்பட்டுள்ளது.

இணக்கத்தன்மையை உடைக்கும் மாற்றங்கள்:

  • ConditionKernelVersion கட்டளையைப் பயன்படுத்தி கர்னல் பதிப்பு எண்ணைச் சரிபார்க்கும் போது, ​​ஒரு எளிய சரம் ஒப்பீடு இப்போது '=' மற்றும் '!=' ஆபரேட்டர்களில் பயன்படுத்தப்படுகிறது, மேலும் ஒப்பீட்டு ஆபரேட்டர் குறிப்பிடப்படவில்லை என்றால், குளோப்-மாஸ்க் பொருத்தத்தைப் பயன்படுத்தி பயன்படுத்தலாம் எழுத்துகள் '*', '?' மற்றும் '[', ']'. stverscmp() செயல்பாட்டின் பாணியில் பதிப்புகளை ஒப்பிட, நீங்கள் '', '=' ஆபரேட்டர்களைப் பயன்படுத்த வேண்டும்.
  • ஒரு யூனிட் கோப்பிலிருந்து அணுகலைச் சரிபார்க்கப் பயன்படுத்தப்படும் SELinux குறிச்சொல் இப்போது அணுகல் சரிபார்ப்பு நேரத்தில் இல்லாமல் கோப்பு ஏற்றப்படும் நேரத்தில் படிக்கப்படுகிறது.
  • "ConditionFirstBoot" நிலை இப்போது கணினியின் முதல் துவக்கத்தில் நேரடியாக துவக்க நிலையில் தூண்டப்படுகிறது மற்றும் துவக்கம் முடிந்ததும் யூனிட்களை அழைக்கும் போது "false" என்று திரும்பும்.
  • 2024 ஆம் ஆண்டில், systemd வெளியீடு 1 இல் நீக்கப்பட்ட cgroup v248 வளக் கட்டுப்படுத்தும் பொறிமுறையை ஆதரிப்பதை systemd நிறுத்த திட்டமிட்டுள்ளது. cgroup v2- அடிப்படையிலான சேவைகளை cgroup v1 க்கு நகர்த்துவதில் நிர்வாகிகள் முன்கூட்டியே கவனமாக இருக்குமாறு அறிவுறுத்தப்படுகிறார்கள். cgroups v2 மற்றும் v1 ஆகியவற்றுக்கு இடையேயான முக்கிய வேறுபாடு என்னவென்றால், CPU ஆதாரங்களை ஒதுக்கீடு செய்வதற்கும், நினைவக நுகர்வுகளை ஒழுங்குபடுத்துவதற்கும், I/O க்கும் தனித்தனி படிநிலைகளுக்குப் பதிலாக, அனைத்து வகையான ஆதாரங்களுக்கும் பொதுவான cgroups படிநிலையைப் பயன்படுத்துவதாகும். தனித்தனி படிநிலைகள் கையாளுபவர்களுக்கிடையேயான தொடர்புகளை ஒழுங்கமைப்பதில் சிக்கல்கள் மற்றும் வெவ்வேறு படிநிலைகளில் குறிப்பிடப்பட்ட செயல்முறைக்கான விதிகளைப் பயன்படுத்தும்போது கூடுதல் கர்னல் வள செலவுகளுக்கு வழிவகுக்கும்.
  • 2023 இன் இரண்டாம் பாதியில், பிளவு அடைவு படிநிலைகளுக்கான ஆதரவை நிறுத்த திட்டமிட்டுள்ளோம், அங்கு /usr ரூட்டிலிருந்து தனித்தனியாக ஏற்றப்படும், அல்லது /bin மற்றும் /usr/bin, /lib மற்றும் /usr/lib பிரிக்கப்படும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்