systemd సిస్టమ్ మేనేజర్ విడుదల 248

నాలుగు నెలల అభివృద్ధి తర్వాత, సిస్టమ్ మేనేజర్ systemd 248 విడుదల చేయబడింది.కొత్త విడుదల సిస్టమ్ డైరెక్టరీలను విస్తరించడం, /etc/veritytab కాన్ఫిగరేషన్ ఫైల్, systemd-క్రిప్టెన్‌రోల్ యుటిలిటీ, TPM2 చిప్స్ మరియు FIDO2ని ఉపయోగించి LUKS2ని అన్‌లాక్ చేయడం కోసం చిత్రాలకు మద్దతునిస్తుంది. టోకెన్లు, ఐసోలేటెడ్ IPC ఐడెంటిఫైయర్ స్పేస్‌లో నడుస్తున్న యూనిట్లు, మెష్ నెట్‌వర్క్‌ల కోసం BATMAN ప్రోటోకాల్, systemd-nspawn కోసం nftables బ్యాకెండ్. Systemd-oomd స్థిరీకరించబడింది.

ప్రధాన మార్పులు:

  • Реализована концепция образов расширения системы (System Extension), которые можно использовать для расширения иерархии каталогов /usr/ и /opt/, и добавления дополнительных файлов во время работы, даже если указанные каталоги примонтированы в режиме только для чтения. При подключении образа расширения системы его содержимое накладывается на иерархию /usr/ и /opt/ при помощи OverlayFS.

    సిస్టమ్ పొడిగింపుల చిత్రాలను కనెక్ట్ చేయడానికి, డిస్‌కనెక్ట్ చేయడానికి, వీక్షించడానికి మరియు నవీకరించడానికి కొత్త యుటిలిటీ, systemd-sysext ప్రతిపాదించబడింది. బూట్ సమయంలో ఇప్పటికే ఇన్‌స్టాల్ చేయబడిన చిత్రాలను స్వయంచాలకంగా కనెక్ట్ చేయడానికి, systemd-sysext.service సేవ జోడించబడింది. మద్దతు ఉన్న సిస్టమ్ పొడిగింపుల స్థాయిని నిర్ణయించడానికి os-విడుదల ఫైల్‌కు "SYSEXT_LEVEL=" పారామీటర్ జోడించబడింది.

  • యూనిట్ల కోసం, ఎక్స్‌టెన్షన్‌ఇమేజెస్ సెట్టింగ్ అమలు చేయబడింది, ఇది సిస్టమ్ ఎక్స్‌టెన్షన్ ఇమేజ్‌లను వ్యక్తిగత వివిక్త సేవల FS నేమ్‌స్పేస్ సోపానక్రమానికి లింక్ చేయడానికి ఉపయోగించబడుతుంది.
  • dm-verity మాడ్యూల్ ఉపయోగించి బ్లాక్ స్థాయిలో డేటా ధృవీకరణను కాన్ఫిగర్ చేయడానికి /etc/veritytab కాన్ఫిగరేషన్ ఫైల్ జోడించబడింది. ఫైల్ ఫార్మాట్ /etc/crypttab - “section_name device_for_data device_for_hashes check_hash_root ఎంపికలు.” రూట్ పరికరం కోసం dm-verity ప్రవర్తనను కాన్ఫిగర్ చేయడానికి systemd.verity.root_options కెర్నల్ కమాండ్ లైన్ ఎంపిక జోడించబడింది.
  • systemd-cryptsetup JSON ఫార్మాట్‌లోని LUKS11 మెటాడేటా హెడర్ నుండి PKCS#2 టోకెన్ URI మరియు ఎన్‌క్రిప్టెడ్ కీని సంగ్రహించే సామర్థ్యాన్ని జోడిస్తుంది, ఎన్‌క్రిప్టెడ్ పరికరాన్ని తెరవడం గురించిన సమాచారాన్ని బాహ్య ఫైల్‌లతో సంబంధం లేకుండా పరికరంలోనే ఏకీకృతం చేయడానికి అనుమతిస్తుంది.
  • systemd-cryptsetup గతంలో మద్దతిచ్చిన PKCS#2 టోకెన్‌లతో పాటు, TPM2 చిప్స్ మరియు FIDO2 టోకెన్‌లను ఉపయోగించి LUKS11 ఎన్‌క్రిప్టెడ్ విభజనలను అన్‌లాక్ చేయడానికి మద్దతును అందిస్తుంది. libfido2 లోడ్ చేయడం dlopen(), అనగా. హార్డ్-వైర్డ్ డిపెండెన్సీగా కాకుండా ఫ్లైలో లభ్యత తనిఖీ చేయబడుతుంది.
  • గుప్తీకరణ మరియు డిక్రిప్షన్‌తో అనుబంధించబడిన I/O యొక్క సింక్రోనస్ ప్రాసెసింగ్‌ని ప్రారంభించడానికి systemd-cryptsetup కోసం "no-write-workqueue" మరియు "no-read-workqueue" అనే కొత్త ఎంపికలు /etc/crypttabకి జోడించబడ్డాయి.
  • systemd-repart యుటిలిటీ TPM2 చిప్‌లను ఉపయోగించి గుప్తీకరించిన విభజనలను సక్రియం చేయగల సామర్థ్యాన్ని జోడించింది, ఉదాహరణకు, మొదటి బూట్‌లో ఎన్‌క్రిప్టెడ్ /var విభజనను సృష్టించడానికి.
  • TPM2, FIDO2 మరియు PKCS#11 టోకెన్‌లను LUKS విభజనలకు బైండ్ చేయడానికి, అలాగే టోకెన్‌లను అన్‌పిన్ చేయడానికి మరియు వీక్షించడానికి, స్పేర్ కీలను బైండ్ చేయడానికి మరియు యాక్సెస్ కోసం పాస్‌వర్డ్‌ను సెట్ చేయడానికి systemd-క్రిప్టెన్‌రోల్ యుటిలిటీ జోడించబడింది.
  • PrivateIPC పరామితి జోడించబడింది, ఇది యూనిట్ ఫైల్‌ను వారి స్వంత ప్రత్యేక ఐడెంటిఫైయర్‌లు మరియు సందేశ క్యూతో వివిక్త IPC స్పేస్‌లో ప్రాసెస్‌లను అమలు చేయడానికి కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇప్పటికే సృష్టించబడిన IPC ఐడెంటిఫైయర్ స్పేస్‌కి యూనిట్‌ని కనెక్ట్ చేయడానికి, IPCNamespacePath ఎంపిక ప్రతిపాదించబడింది.
  • ఫైల్ సిస్టమ్ యొక్క నిర్దిష్ట భాగాలకు noexec ఫ్లాగ్‌ని వర్తింపజేయడానికి అనుమతించడానికి ExecPaths మరియు NoExecPaths సెట్టింగ్‌లు జోడించబడ్డాయి.
  • systemd-networkd BATMAN (మొబైల్ అడ్హాక్ నెట్‌వర్కింగ్‌కు మెరుగైన విధానం) మెష్ ప్రోటోకాల్‌కు మద్దతును జోడిస్తుంది, ఇది ప్రతి నోడ్ పొరుగు నోడ్‌ల ద్వారా అనుసంధానించబడిన వికేంద్రీకృత నెట్‌వర్క్‌ల సృష్టిని అనుమతిస్తుంది. కాన్ఫిగరేషన్ కోసం, .netdevలో [BatmanAdvanced] విభాగం, .network ఫైల్‌లలో BatmanAdvanced పరామితి మరియు కొత్త పరికరం రకం “batadv” ప్రతిపాదించబడ్డాయి.
  • systemd-oomd సిస్టమ్‌లో తక్కువ మెమరీ కోసం ప్రారంభ ప్రతిస్పందన విధానం యొక్క అమలు స్థిరీకరించబడింది. యూనిట్‌పై ప్రభావం చూపే ముందు విడుదలయ్యే వనరు కోసం వేచి ఉండే సమయాన్ని కాన్ఫిగర్ చేయడానికి DefaultMemoryPressureDurationSec ఎంపిక జోడించబడింది. Systemd-oomd PSI (ప్రెజర్ స్టాల్ ఇన్ఫర్మేషన్) కెర్నల్ సబ్‌సిస్టమ్‌ను ఉపయోగిస్తుంది మరియు వనరుల కొరత కారణంగా ఆలస్యాన్ని గుర్తించడానికి మరియు సిస్టమ్ ఇంకా క్లిష్టమైన స్థితిలో లేనప్పుడు మరియు లేని దశలో రిసోర్స్-ఇంటెన్సివ్ ప్రాసెస్‌లను ఎంపిక చేసి ముగించడానికి మిమ్మల్ని అనుమతిస్తుంది. కాష్‌ను తీవ్రంగా కత్తిరించడం మరియు డేటాను స్వాప్ విభజనలోకి స్థానభ్రంశం చేయడం ప్రారంభించండి.
  • కెర్నల్ కమాండ్ లైన్ పరామితి “root=tmpfs” జోడించబడింది, ఇది Tmpfsని ఉపయోగించి RAMలో ఉన్న తాత్కాలిక నిల్వలో రూట్ విభజనను మౌంట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • కీ ఫైల్‌ను పేర్కొనే /etc/crypttab పరామితి ఇప్పుడు AF_UNIX మరియు SOCK_STREAM సాకెట్ రకాలను సూచించగలదు. ఈ సందర్భంలో, సాకెట్‌కు కనెక్ట్ చేసేటప్పుడు కీ తప్పనిసరిగా ఇవ్వాలి, ఉదాహరణకు, డైనమిక్‌గా కీలను జారీ చేసే సేవలను సృష్టించడానికి ఉపయోగించవచ్చు.
  • సిస్టమ్ మేనేజర్ మరియు systemd-హోస్ట్‌నేమ్ ద్వారా ఉపయోగించడం కోసం ఫాల్‌బ్యాక్ హోస్ట్ పేరు ఇప్పుడు రెండు విధాలుగా సెట్ చేయబడుతుంది: OS-రిలీజ్‌లోని DEFAULT_HOSTNAME పారామీటర్ ద్వారా మరియు $SYSTEMD_DEFAULT_HOSTNAME ఎన్విరాన్‌మెంట్ వేరియబుల్ ద్వారా. systemd-hostnamed హోస్ట్ పేరులో "localhost"ని కూడా నిర్వహిస్తుంది మరియు DBus ద్వారా హోస్ట్ పేరును అలాగే "HardwareVendor" మరియు "HardwareModel" లక్షణాలను ఎగుమతి చేసే సామర్థ్యాన్ని జోడిస్తుంది.
  • బహిర్గతమైన ఎన్విరాన్మెంట్ వేరియబుల్స్‌తో బ్లాక్ ఇప్పుడు system.conf లేదా user.confలో కొత్త ManagerEnvironment ఎంపిక ద్వారా కాన్ఫిగర్ చేయబడుతుంది మరియు కెర్నల్ కమాండ్ లైన్ మరియు యూనిట్ ఫైల్ సెట్టింగ్‌ల ద్వారా మాత్రమే కాదు.
  • కంపైల్ సమయంలో, భద్రతా సందర్భాన్ని తనిఖీ చేయడం మరియు దానిని వర్తింపజేయడం మధ్య ఆలస్యాన్ని తగ్గించడానికి execve()కి బదులుగా ప్రాసెస్‌లను ప్రారంభించడానికి fexecve() సిస్టమ్ కాల్‌ని ఉపయోగించడం సాధ్యపడుతుంది.
  • యూనిట్ ఫైల్‌ల కోసం, TPM2 పరికరాలు మరియు వ్యక్తిగత CPU సామర్థ్యాల ఉనికిని తనిఖీ చేయడానికి కొత్త షరతులతో కూడిన ఆపరేషన్లు ConditionSecurity=tpm2 మరియు ConditionCPUFeature జోడించబడ్డాయి (ఉదాహరణకు, ప్రాసెసర్ RDRAND ఆపరేషన్‌కు మద్దతు ఇస్తుందో లేదో తనిఖీ చేయడానికి ConditionCPUFeature=rdrand ఉపయోగించవచ్చు).
  • అందుబాటులో ఉన్న కెర్నల్‌ల కోసం, seccomp ఫిల్టర్‌ల కోసం సిస్టమ్ కాల్ టేబుల్‌ల ఆటోమేటిక్ జనరేషన్ అమలు చేయబడింది.
  • సేవలను పునఃప్రారంభించకుండానే, ఇప్పటికే ఉన్న మౌంట్ నేమ్‌స్పేస్‌లలోకి కొత్త బైండ్ మౌంట్‌లను ప్రత్యామ్నాయం చేయగల సామర్థ్యం జోడించబడింది. 'systemctl bind' ఆదేశాలతో ప్రత్యామ్నాయం నిర్వహించబడుతుంది ...' మరియు 'systemctl మౌంట్-ఇమేజ్ …'.
  • స్టాండర్డ్ అవుట్‌పుట్ మరియు స్టాండర్డ్‌ఎర్రర్ సెట్టింగ్‌లలో “ట్రంకేట్:” రూపంలో పాత్‌లను పేర్కొనడానికి మద్దతు జోడించబడింది. » ఉపయోగం ముందు శుభ్రం చేయడానికి.
  • sd-busకు స్థానిక కంటైనర్‌లో పేర్కొన్న వినియోగదారు సెషన్‌కు కనెక్షన్‌ని ఏర్పాటు చేసే సామర్థ్యం జోడించబడింది. ఉదాహరణకు "systemctl -user -M lennart@ start quux".
  • కింది పారామితులు [Link] విభాగంలో systemd.link ఫైల్‌లలో అమలు చేయబడతాయి:
    • ప్రామిస్క్యూస్ - ప్రస్తుత సిస్టమ్‌లో ప్రస్తావించని వాటితో సహా అన్ని నెట్‌వర్క్ ప్యాకెట్‌లను ప్రాసెస్ చేయడానికి పరికరాన్ని “వ్యభిచార” మోడ్‌కి మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది;
    • TX మరియు RX క్యూల సంఖ్యను సెట్ చేయడానికి ట్రాన్స్‌మిట్ క్యూలు మరియు రిసీవ్ క్యూలు;
    • TX క్యూ పరిమాణాన్ని సెట్ చేయడానికి TransmitQueueLength; GRO (జనరిక్ రిసీవ్ ఆఫ్‌లోడ్) సాంకేతికత వినియోగం కోసం పరిమితులను సెట్ చేయడానికి GenericSegmentOffloadMaxBytes మరియు GenericSegmentOffloadMaxSegment.
  • systemd.network ఫైల్‌లకు కొత్త సెట్టింగ్‌లు జోడించబడ్డాయి:
    • [నెట్‌వర్క్] రూటింగ్ టేబుల్‌ని ఎంచుకోవడానికి రూట్ టేబుల్;
    • [RoutingPolicyRule] రౌటింగ్ రకం కోసం టైప్ చేయండి ("బ్లాక్‌హోల్, "అన్ రీచబుల్", "నిషేధించు");
    • [IPv6AcceptRA] అనుమతించబడిన మరియు తిరస్కరించబడిన రూట్ ప్రకటనల జాబితాల కోసం RouteDenyList మరియు RouteAllowList;
    • [DHCPv6] DHCP జారీ చేసిన చిరునామాను విస్మరించడానికి చిరునామాలను ఉపయోగించండి;
    • [DHCPv6PrefixDelegation] తాత్కాలిక చిరునామాను నిర్వహించండి;
    • ఇంటర్‌ఫేస్ కార్యకలాపానికి సంబంధించిన విధానాన్ని నిర్వచించడానికి యాక్టివేషన్ పాలసీ (ఎల్లప్పుడూ UP లేదా DOWN స్థితిని నిర్వహించండి లేదా “ip link set dev” కమాండ్‌తో స్థితులను మార్చడానికి వినియోగదారుని అనుమతించండి).
  • VLAN ప్యాకెట్ ప్రాసెసింగ్‌ను కాన్ఫిగర్ చేయడానికి systemd.netdev ఫైల్‌లకు [VLAN] ప్రోటోకాల్, IngressQOSMaps, EgressQOSMaps మరియు [MACVLAN] BroadcastMulticastQueueLength ఎంపికలు జోడించబడ్డాయి.
  • /dev/sgx ఫైల్‌లతో ఎక్జిక్యూటబుల్ ఫ్లాగ్‌ని ఉపయోగిస్తున్నప్పుడు వైరుధ్యాన్ని కలిగిస్తుంది కాబట్టి noexec మోడ్‌లో /dev/ డైరెక్టరీని మౌంట్ చేయడం ఆపివేయబడింది. పాత ప్రవర్తనను తిరిగి ఇవ్వడానికి, మీరు NoExecPaths=/dev సెట్టింగ్‌ని ఉపయోగించవచ్చు.
  • /dev/vsock ఫైల్ అనుమతులు 0o666కి మార్చబడ్డాయి మరియు /dev/vhost-vsock మరియు /dev/vhost-net ఫైల్‌లు kvm సమూహానికి తరలించబడ్డాయి.
  • హార్డ్‌వేర్ ID డేటాబేస్ స్లీప్ మోడ్‌కు సరిగ్గా మద్దతిచ్చే USB ఫింగర్‌ప్రింట్ రీడర్‌లతో విస్తరించబడింది.
  • systemd-పరిష్కరించబడిన DNSSEC ప్రశ్నలకు స్టబ్ రిసల్వర్ ద్వారా ప్రతిస్పందనలను అందించడానికి అదనపు మద్దతు. స్థానిక క్లయింట్‌లు తమపైనే DNSSEC ధ్రువీకరణను నిర్వహించగలరు, అయితే బాహ్య క్లయింట్‌లు మాతృ DNS సర్వర్‌కు మారకుండా ప్రాక్సీ చేయబడతాయి.
  • CacheFromLocalhost ఎంపికను solved.confకు జోడించబడింది, సెట్ చేసినప్పుడు, systemd-resolved DNS సర్వర్‌కి 127.0.0.1 వద్ద కాల్‌ల కోసం కూడా కాషింగ్‌ని ఉపయోగిస్తుంది (డిఫాల్ట్‌గా, డబుల్ కాషింగ్‌ను నివారించడానికి అటువంటి అభ్యర్థనల క్యాచింగ్ నిలిపివేయబడుతుంది).
  • systemd-resolved స్థానిక DNS రిసల్వర్‌లో RFC-5001 NSIDలకు మద్దతును జోడిస్తుంది, క్లయింట్‌లు లోకల్ రిసల్వర్ మరియు మరొక DNS సర్వర్‌తో పరస్పర చర్యల మధ్య తేడాను గుర్తించడానికి అనుమతిస్తుంది.
  • రిజల్యూషన్ యుటిలిటీ డేటా యొక్క మూలం (స్థానిక కాష్, నెట్‌వర్క్ అభ్యర్థన, స్థానిక ప్రాసెసర్ ప్రతిస్పందన) మరియు డేటాను ప్రసారం చేసేటప్పుడు ఎన్‌క్రిప్షన్ ఉపయోగం గురించి సమాచారాన్ని ప్రదర్శించే సామర్థ్యాన్ని అమలు చేస్తుంది. పేరు నిర్ధారణ ప్రక్రియను నియంత్రించడానికి --కాష్, --సింథసైజ్, --నెట్‌వర్క్, --జోన్, --ట్రస్ట్-యాంకర్ మరియు --వాలిడేట్ ఎంపికలు అందించబడ్డాయి.
  • systemd-nspawn ఇప్పటికే ఉన్న iptables మద్దతుతో పాటు nftablesని ఉపయోగించి ఫైర్‌వాల్‌ను కాన్ఫిగర్ చేయడానికి మద్దతును జోడిస్తుంది. systemd-networkdలోని IPMasquerade సెటప్ nftables-ఆధారిత బ్యాకెండ్‌ని ఉపయోగించగల సామర్థ్యాన్ని జోడించింది.
  • systemd-localed తప్పిపోయిన లొకేల్‌లను రూపొందించడానికి లొకేల్-జెన్‌కి కాల్ చేయడానికి మద్దతు జోడించబడింది.
  • JSON ఆకృతిలో పేజింగ్ మోడ్ మరియు అవుట్‌పుట్‌ని ఎనేబుల్/డిసేబుల్ చేయడానికి వివిధ యుటిలిటీలకు --pager/-no-pager/-json= ఎంపికలు జోడించబడ్డాయి. SYSTEMD_COLORS ఎన్విరాన్మెంట్ వేరియబుల్ (“16” లేదా “256”) ద్వారా టెర్మినల్‌లో ఉపయోగించిన రంగుల సంఖ్యను సెట్ చేసే సామర్థ్యం జోడించబడింది.
  • ప్రత్యేక డైరెక్టరీ సోపానక్రమాలు (స్ప్లిట్ / మరియు / usr) మరియు cgroup v1 మద్దతుతో బిల్డ్ నిలిపివేయబడింది.
  • Gitలోని మాస్టర్ బ్రాంచ్ 'మాస్టర్' నుండి 'మెయిన్'గా మార్చబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి