Rocky Linux, Fedoraలో apt ఆదేశాలకు dnf సమానాలు
Rocky Linux, AlmaLinux, Fedoraలో apt ఆదేశాలకు సరైన dnf రూపాలను తెలుసుకోండి. repository జోడింపు, rollback, package group, unattended updatesలో నేరుగా సమానం లేని భాగాలనూ చూడండి.
చిన్న సమాధానం
apt నుంచి dnf కు మారడం ఎక్కువగా పదజాలంలో మార్పు మాత్రమే. apt install nginx అనేది dnf install nginx గా మారుతుంది. apt remove nginx అనేది dnf remove nginx గా మారుతుంది. apt update కు నేరుగా సమానమైన ఆపరేషన్ లేదు, ఎందుకంటే cached copy పాతబడినప్పుడు dnf repository metadata ను స్వయంగా refresh చేస్తుంది. అనువాదంలో సులభమైన భాగం ఒక screen లో పూర్తవుతుంది. ఉపయోగకరమైన భాగంలో అసలు సరిపోలని నాలుగు ఆపరేషన్లు ఉన్నాయి: repository జోడించడం, transaction ను రద్దు చేయడం, package group ను install చేయడం, unattended updates ను అమలు చేయడం.
క్రింద ఉన్న ప్రతి command ను మీ స్వంత server పై అమలు చేయడానికి రాశాం. y కు సమాధానం ఇచ్చే ముందు dnf చూపించే transaction summary ను చదవండి. ముఖ్యంగా removals విషయంలో జాగ్రత్తగా పరిశీలించండి.
ఏ distroలు dnf ను ఉపయోగిస్తాయి, ఏవి apt ను ఉపయోగిస్తాయి
Fedora, Red Hat Enterprise Linux (RHEL), అలాగే RHEL ఆధారంగా పునర్నిర్మించిన Rocky Linux, AlmaLinux, CentOS Stream distributionsలో package manager dnf. Debian మరియు Debian నుంచి ఉద్భవించిన అన్ని distributionsలో apt package managerగా ఉంటుంది. VPS సందర్భంలో దీనర్థం దాదాపు ఎల్లప్పుడూ Ubuntu. మూడవ ఎంపిక లేదు. మీ provider image listలో Rocky Linux లేదా AlmaLinux ఉంటే, మీరు dnf ఉపయోగించే distribution పొందుతున్నారు. అందులో Ubuntu ఉంటే, మీరు apt ఉపయోగించే distribution పొందుతున్నారు. దాదాపు ఒకే విధమైన systemకు ఒక వైపు నాలుగు పేర్లు ఎందుకు ఉన్నాయో తెలుసుకోవడం, వాటిలో ఒకదాన్ని ఎంచుకునే ముందు ఉపయోగకరం. Red Hat Linux ఎలా Fedora, RHEL, CentOS, Rocky మరియు AlmaLinuxగా మారిందో ప్రతి distribution ఎలా ఏర్పడిందో వివరిస్తుంది.
Package format కూడా toolనే అనుసరిస్తుంది. dnf .rpm filesను install చేస్తుంది, దాని database rpm. apt .deb filesను install చేస్తుంది, దాని database dpkg. అందుకే అనేక vendor installation pagesలో ప్రతి familyకి ఒక tab ఉంటుంది. అలాగే project release page నుంచి download చేసిన .deb Rocky Linuxలో ఉపయోగం ఉండదు.
మీరు ఏ familyని ఎంచుకున్నా, మొదటి loginలో చేయాల్సిన పని ఒకటే. కొత్త VPSలో మొదటి పది నిమిషాలు రెండింటికీ వర్తిస్తుంది. మారేది install command మాత్రమే.
apt మరియు దానికి సమానమైన dnf ఆదేశాలు
ఇన్స్టాల్ చేయడం, తొలగించడం, శోధించడం మరియు వివరాలు చూపించడం. రెండు వైపులా ఇవి దాదాపు ఒకే పదాలను ఉపయోగిస్తాయి.
# apt
sudo apt install nginx
sudo apt remove nginx
apt search nginx
apt show nginx
# dnf
sudo dnf install nginx
sudo dnf remove nginx
dnf search nginx
dnf info nginxapt show అనేది dnf info. ఈ సమూహంలో పేరు మార్చబడిన ఏకైక క్రియ ఇదే. అయితే ఒక ప్రవర్తనా తేడా ఉంది, దీనివల్ల చాలామంది తప్పు చేస్తారు. dnf remove మరే ఇతర ప్యాకేజీకి అవసరం లేని dependencies ను కూడా తొలగిస్తుంది. కానీ apt remove వాటిని తరువాతి apt autoremove కోసం ఇన్స్టాల్గానే ఉంచుతుంది. అందువల్ల Rocky Linux లో చిన్న utility ను తొలగించేటప్పుడు దానితో పాటు డజను libraries ను తొలగించే ప్రతిపాదన కనిపించవచ్చు. నిర్ధారించే ముందు ఆ జాబితాను చదవండి.
Metadata ను refresh చేయడం, ఏవి వేచి ఉన్నాయో చూడడం మరియు upgrade చేయడం.
# apt
sudo apt update
apt list --upgradable
sudo apt install --only-upgrade nginx
sudo apt upgrade
# dnf
sudo dnf makecache
dnf check-update
sudo dnf upgrade nginx
sudo dnf upgradeapt వైపు apt update తప్పనిసరి. ఎందుకంటే apt disk పై ఉన్న metadata నే ఉపయోగిస్తుంది. Archive నుంచి నెలల క్రితమే తొలగించబడిన version ను కూడా అది సులభంగా ఇన్స్టాల్ చేయగలదు. ప్రతి transaction కు ముందు dnf తన cache వయస్సును పరిశీలించి, తాజా metadata ను స్వయంగా download చేస్తుంది. అందువల్ల తదుపరి install సమయంలో కాకుండా ఇప్పుడే ఆ download జరగాలని బలవంతం చేయడానికి మాత్రమే sudo dnf makecache ఉపయోగిస్తారు.
apt మొత్తం system upgrade ను రెండు భాగాలుగా విభజిస్తుంది. dnf అలా చేయదు. apt upgrade ఇన్స్టాల్ చేసిన ఏ package ను తొలగించడానికి నిరాకరిస్తుంది. అందువల్ల update కు ఏదైనా package తొలగించాల్సి వస్తే అది అక్కడే ఆగిపోతుంది. apt full-upgrade అనేది తొలగించడానికి అనుమతించబడిన version. dnf కు అలాంటి పరిమితి లేదు. అందువల్ల dnf upgrade అనేది apt full-upgrade కు సమానం, apt upgrade కు కాదు. dnf update ఇదే command కు పాత alias. ఇది ఇప్పటికీ పనిచేస్తుంది.
మీరు దీనిని script లో ఉపయోగిస్తే ఒక విషయం ముఖ్యం: updates వేచి ఉన్నప్పుడు dnf check-update status 100 తో exit అవుతుంది. Updates ఏవీ లేకపోతే 0 తో exit అవుతుంది. apt list --upgradable రెండు సందర్భాల్లోనూ 0 తో exit అవుతుంది. కాబట్టి scripts దాని output ను parse చేయాలి.
ఏవి ఇన్స్టాల్ అయ్యాయో జాబితా చేయడం, ఒక file కు ఏ package యజమానో తెలుసుకోవడం.
# apt
dpkg -l
dpkg -S /usr/sbin/nginx
dpkg -L nginx
apt-file search /usr/sbin/nginx
# dnf
dnf list --installed
rpm -qf /usr/sbin/nginx
rpm -ql nginx
dnf provides /usr/sbin/nginxప్రతి block లోని చివరి line, దాని పైన ఉన్న lines కంటే వేరే ప్రశ్నకు సమాధానం ఇస్తుంది. dpkg -S మరియు rpm -qf ఇప్పటికే ఇన్స్టాల్ అయిన packages లో మాత్రమే శోధిస్తాయి. అందువల్ల అవి “ఈ file ను ఇక్కడికి ఏది తీసుకువచ్చింది” అనే ప్రశ్నకు సమాధానం ఇస్తాయి. apt-file search మరియు dnf provides repositories లో శోధిస్తాయి. అందువల్ల అవి “ఈ file పొందడానికి నేను ఏది install చేయాలి” అనే ప్రశ్నకు సమాధానం ఇస్తాయి. apt-file Ubuntu లో ప్రత్యేక package గా ఉంటుంది. మొదటి run కు ముందు sudo apt-file update అవసరం. dnf provides కు అదనంగా ఏదీ అవసరం లేదు. అయితే సమాధానం ఇవ్వడానికి dnf repository file lists ను download చేయాల్సి ఉండటంతో మొదటి run నెమ్మదిగా ఉండవచ్చు.
మీరు ఇంకా install చేయని package లోని files ను జాబితా చేయడానికి dnf repoquery -l nginx ఉపయోగించండి. apt వైపు దానికి సమానమైనది apt-file list nginx.
Autoremove చేయడం, cache ను శుభ్రం చేయడం మరియు ఒక version ను hold చేయడం.
# apt
sudo apt autoremove
sudo apt clean
sudo apt-mark hold nginx
apt-mark showhold
sudo apt-mark unhold nginx
# dnf
sudo dnf autoremove
sudo dnf clean all
sudo dnf versionlock add nginx
dnf versionlock list
sudo dnf versionlock delete nginxRocky Linux లేదా AlmaLinux లో versionlock default గా install అయి ఉండదు. అందువల్ల fresh box లో ఆ lines లో మొదటిది No such command: versionlock తో విఫలమవుతుంది. ముందుగా sudo dnf install python3-dnf-plugin-versionlock తో దాన్ని install చేయండి. apt-mark hold కోసం apt కు అదనంగా ఏదీ అవసరం లేదు. ఎందుకంటే hold అనేది plugin కాదు; అది dpkg state.
మ్యాపింగ్ ఎక్కడ విఫలమవుతుంది: repository ను జోడించడం
Ubuntu admins కు లేని command కోసం వెతకాల్సి వచ్చే భాగం ఇదే. dnf లో add-apt-repository లేదు. అలాగే personal package archives (PPAs) కూడా లేవు. PPA అనేది Launchpad నడిపే service, Launchpad Ubuntu infrastructure లో భాగం. RPM ప్రపంచంలో దీనికి సమానమైనదాన్ని host చేసే వ్యవస్థ లేదు.
దానికి బదులుగా dnf ప్రతి repository కోసం /etc/yum.repos.d/ లో ఒక plain text file ను ఉపయోగిస్తుంది. ఆ file పేరు .repo తో ముగుస్తుంది.
[docker-ce-stable]
name=Docker CE Stable
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg$releasever మరియు $basearch dnf variables. Runtime సమయంలో dnf మీ major release number మరియు CPU architecture ను వాటి స్థానంలో నింపుతుంది. అందువల్ల అదే file version 9, version 10, x86_64, aarch64 అన్నింటిలోనూ పనిచేస్తుంది.
చాలా vendors ఆ file ను publish చేసి, దాన్ని fetch చేయమని సూచిస్తారు. RHEL మరియు దాని rebuilds కోసం Docker ఇచ్చిన సూచనలు రెండు commands:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoమొదటి line అవసరం, ఎందుకంటే config-manager అనేది plugin; అది dnf లో భాగం కాదు. దీన్ని skip చేస్తే రెండో line No such command: config-manager తో విఫలమవుతుంది. అదే .repo file ను curl తో manually download చేసి /etc/yum.repos.d/ లో ఉంచవచ్చు. ఫలితం ఒకటే. VPSలో Dockerను ఇన్స్టాల్ చేయడం ఇదే పనికి సంబంధించిన Debian విధానాన్ని వివరిస్తుంది. అక్కడ సమానమైన దశలో source list మరియు signing key ను రెండు వేర్వేరు directories లో రాస్తారు.
Repository సరిగ్గా పనిచేయనప్పుడు ఎక్కడ పరిశీలించాలో ఈ layout తేడా నిర్ణయిస్తుంది. apt definitions ను /etc/apt/sources.list మరియు /etc/apt/sources.list.d/ లో ఉంచుతుంది. Signing keys ను /etc/apt/keyrings/ కింద విడిగా ఉంచుతుంది. dnf మాత్రం అన్నింటినీ /etc/yum.repos.d/ లో ఉంచుతుంది. Key అనేది .repo file లోని URL. అందువల్ల చదవాల్సింది ఒక file, తొలగించాల్సింది కూడా ఒక file మాత్రమే. కొత్త apt, deb822 format ద్వారా ఇదే విధానానికి మారుతోంది. ఇందులో ప్రతి repository కోసం ఒక .sources file ఉంటుంది. Ubuntuలో deb822 duplicate sources error ను మీరు ఎదుర్కొంటే, ఈ సమస్యలోని apt భాగాన్ని ఇప్పటికే చూశారన్నమాట.
EPELను చాలా గైడ్లు ముందుగానే ఉన్నదిగా భావిస్తాయి
Extra Packages for Enterprise Linux (EPEL) అనేది RHEL మరియు దాని rebuilds కోసం Fedora packages ను build చేసే Fedora project. ఈ ప్రపంచంలో universal PPA కు ఇది అత్యంత సమీపమైన ఎంపిక. చాలా tutorials ఇది ఇప్పటికే enabled అయి ఉందని భావిస్తాయి. ప్రాజెక్ట్ స్వంత website లో కనిపించే package కోసం dnf install, No match for argument కు సమాధానం ఇస్తే, ముందుగా పరిశీలించాల్సింది EPEL.
Rocky Linux మరియు AlmaLinuxలో:
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
sudo dnf makecacheCRB అంటే CodeReady Builder. ఇది distribution తో ship అయ్యే libraries ఉన్న repository, కానీ default గా enabled అయి ఉండదు. చాలా EPEL packages దీనిలోని ఏదో ఒకదానిపై ఆధారపడతాయి. అందువల్ల CRB లేకుండా EPELను enable చేసిన వెంటనే error కనిపించదు. తరువాత install సమయంలో, మీకు ఎప్పుడూ తెలియని package పై unresolved dependencies కారణంగా అది విఫలమవుతుంది. ముందుగా CRBను enable చేయండి. అప్పుడు ఈ తరహా error కనిపించదు.
RHELలో CRB, config-manager ద్వారా కాకుండా మీ subscription ద్వారా అందుతుంది. కాబట్టి ఆ దశకు Red Hat స్వంత EPEL సూచనలను అనుసరించండి. Fedoraకు ఇవేవీ అవసరం లేదు. EPEL backport చేసే packages దాని ప్రధాన repositoryలోనే ఇప్పటికే ఉంటాయి. RHEL ship చేసే ఏ packageనూ భర్తీ చేయకూడదనేది EPEL policy. అందువల్ల ఈ repositoryని జోడించడం వల్ల మీ serverలో ఇప్పటికే installed ఉన్న వాటిలో ఎలాంటి మార్పూ ఉండదు.
dnf history undo, apt చేయలేనిది
dnf ప్రతి transaction ను నమోదు చేస్తుంది. వాటిలో ఒకదానికి వ్యతిరేక transaction ను కూడా నిర్మించగలదు.
sudo dnf history
sudo dnf history info 42
sudo dnf history undo 42dnf history ప్రతి transaction కు క్రమ సంఖ్యతో కూడిన జాబితాను చూపుతుంది. ప్రతి transaction ను ప్రారంభించిన command line కూడా అందులో ఉంటుంది. undo ఆ transaction కు వ్యతిరేక transaction ను నిర్మిస్తుంది: ఆ transaction ఇన్స్టాల్ చేసిన packages తొలగించబడతాయి. అప్గ్రేడ్ చేసిన packages మీరు ముందుగా ఉపయోగించిన version కు తిరిగి వెళ్తాయి. apt నుంచి మారిన వినియోగదారులు ఎక్కువగా మిస్ అయ్యే feature ఇదే.
దీనికి వాస్తవ పరిమితులు ఉన్నాయి. దీనిపై ఆధారపడే ముందు వాటిని తెలుసుకోవాలి. undo enabled repository లో ఇప్పటికీ ఉన్న package version ను మాత్రమే మళ్లీ install చేయగలదు. పాత build mirror నుంచి తొలగించబడితే undo విఫలమై not-found error వస్తుంది. Rollback package database వద్ద ఆగిపోతుంది. Upgrade మార్చిన config file అలాగే మార్చబడిన స్థితిలో ఉంటుంది. Service మొదట ప్రారంభమైనప్పుడు migrate చేసిన database schema కూడా migrate అయిన స్థితిలోనే ఉంటుంది. dnf files ను తిరిగి ఉంచుతుంది. మీ data ను తిరిగి ఉంచదు.
apt కు దీనికి సమానమైన సదుపాయం లేదు. /var/log/apt/history.log ఏం జరిగిందో ఖచ్చితంగా నమోదు చేస్తుంది. అందులో command line కూడా ఉంటుంది. కానీ log చదవడం ద్వారా మార్పును undo చేయలేరు. apt వైపు recovery మాన్యువల్గా చేయాలి: archive లో ఇప్పటికీ ఏ versions ఉన్నాయో చూడటానికి ముందుగా apt list -a nginx నడపండి. తరువాత ఒక version ను pin చేయడానికి sudo apt install nginx=<exact version string> నడపండి. మీ fix ను తదుపరి upgrade రద్దు చేయకుండా ఉండేందుకు sudo apt-mark hold nginx కూడా జోడించండి.
Package groups కు apt లో సమానమైన సౌకర్యం లేదు
dnf ఒకే కమాండ్తో పేరున్న package సమూహాన్ని install చేయగలదు.
dnf group list
dnf group info "Development Tools"
sudo dnf group install "Development Tools"పాత మార్గదర్శకాల్లో dnf groupinstall "Development Tools" అని వ్రాస్తారు. ఆ alias dnf 4లో పనిచేస్తుంది, కానీ dnf 5లో తొలగించబడింది. అందువల్ల రెండు పదాల dnf group install మాత్రమే అన్ని చోట్ల పనిచేసే spelling. దానినే ఉపయోగించి, ఈ విషయంపై ఇక ఆలోచించాల్సిన అవసరం లేదు.
aptలో groups లేవు. Debianలో దీనికి అత్యంత సమీపమైన భావన metapackage. ఇది వాస్తవానికి ఖాళీగా ఉండే package; దాని ఏకైక content dependencies జాబితా. ఉదాహరణకు build-essential. ఆచరణాత్మక తేడా తొలగించే సమయంలో కనిపిస్తుంది: metapackageను తొలగించినా, apt autoremove అమలు చేసే వరకు దాని dependencies install అయి ఉంటాయి. అయితే dnf group remove అదే transactionలో ఆ groupకు చెందిన packagesను కూడా తొలగిస్తుంది.
unattended-upgrades మరియు dnf-automatic
ఈ రెండు కుటుంబాలు login చేసిన వినియోగదారు ఎవరూ లేకపోయినా updates install చేసే విధానాన్ని అందిస్తాయి. వీటి మధ్య ఉద్దేశ్యం తప్ప మరే సామ్యమూ లేదు.
Ubuntu మరియు Debianలో package పేరు unattended-upgrades. దీని configuration /etc/apt/apt.conf.d/50unattended-upgrades లో ఉంటుంది. అక్కడి నుంచి updates తీసుకోవడానికి అనుమతించిన origins ను మీరు నమోదు చేస్తారు. Ubuntuలో unattended upgrades సెటప్ చేయడం అనే విభాగంలో ఆ config file మరియు దానితో సంబంధం ఉన్న reboot అంశాన్ని వివరించారు.
Rocky Linux, AlmaLinux మరియు Fedoraలో package పేరు dnf-automatic. మీరు enable చేసే systemd timer దాని ప్రవర్తనను నిర్ణయిస్తుంది.
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic-install.timer
systemctl list-timers 'dnf-automatic*'dnf-automatic-install.timer updates ను download చేసి apply చేస్తుంది. dnf-automatic-download.timer updates ను download చేసి ఆపివేస్తుంది; వాటిని మీరు స్వయంగా install చేయాలి. dnf-automatic-notifyonly.timer కేవలం నివేదిస్తుంది. ఈ units ప్రతి ఒక్కటి /etc/dnf/automatic.conf లోని apply_updates setting ను override చేస్తాయి. అందువల్ల config file లో ఉన్న విలువకన్నా మీరు ఎంచుకునే timer ముఖ్యమైనది. Update install చేసినా, పాత code తో ఇంకా నడుస్తున్నది restart కాదు. కాబట్టి system patched అయిందని భావించే ముందు ఆ updates లో ఏవాటికి reboot అవసరమో, ఏవాటికి service restart మాత్రమే అవసరమో చూడండి.
దీనిని security fixes కు మాత్రమే పరిమితం చేయడానికి /etc/dnf/automatic.conf లో upgrade_type = security ను set చేయండి. ఈ filter మీ repositories security errata ను publish చేస్తున్నాయా అనే దానిపై ఆధారపడి ఉంటుంది. అందువల్ల ముందుగా dnf updateinfo list security తో తనిఖీ చేయండి. Updates pending ఉన్న serverలో ఫలితం ఖాళీగా ఉంటే metadata అందుబాటులో లేదని అర్థం. అప్పుడు security ఏ updateనూ install చేయదు.
Fedoraలో dnf 5 unit పేరు మార్చింది. అది dnf5-automatic.timer. ఇది అదే /etc/dnf/automatic.conf ను చదువుతుంది.
yum ఇప్పటికీ నిజమైన command ఏనా?
అవును. అయితే ఇది స్వయంగా ఏ పని చేయదు. Rocky Linux, AlmaLinux మరియు CentOS Stream లో /usr/bin/yum అనేది dnf కు సూచించే symbolic link. మీ సిస్టమ్లో దాన్ని ఇలా తనిఖీ చేయండి:
ls -l /usr/bin/yum
dnf --versionపాత yum syntax tutorialల్లో ఇప్పటికీ కనిపిస్తుంది, ఎందుకంటే అందులోని ఎక్కువ భాగం నేరుగా పనిచేస్తుంది. yum install, yum remove మరియు yum update అన్నీ పనిచేస్తాయి. అయితే ఒక అలవాటును మార్చాలి: dnf 4 systems లో yum-config-manager ఇప్పటికీ ప్రత్యేక binary గా ఉంటుంది. కానీ ప్రస్తుత documentation లో ఉపయోగించే spelling dnf config-manager. సిస్టమ్ dnf 5 కు మారినప్పటికీ ఇది పనిచేస్తూనే ఉంటుంది.
dnf 4 మరియు dnf 5: command ను copy చేయడానికి ముందు తనిఖీ చేయండి
dnf 5 ఒక పునర్రచన చేసిన సంస్కరణ. ఇందులో అనేక commands యొక్క spelling మార్చబడింది. Fedora 41 మరియు తరువాతి సంస్కరణలు దీనిని dnf గా అందిస్తున్నాయి. Enterprise rebuilds మారడానికి ఎక్కువ సమయం తీసుకున్నాయి. కాబట్టి distribution పేరు ఆధారంగా ఊహించవద్దు. మీ స్వంత server పై dnf --version అమలు చేసి, మొదటి line చదవండి. ఎందుకంటే ఆ సంఖ్య ఆధారంగానే కింది syntax లో మీకు అవసరమైనదాన్ని నిర్ణయించాలి.
ప్రతి సంస్కరణకు Docker వేర్వేరు repository command ను ప్రచురించడం దీనికి స్పష్టమైన ఉదాహరణ. RHEL మరియు దాని rebuilds లో, dnf 4 ఉపయోగించినప్పుడు:
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoFedora లో, dnf 5 ఉపయోగించినప్పుడు:
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repoVendor ఒకటే. పని ఒకటే. Commands వేర్వేరు. dnf 5, config-manager ను subcommand ఆధారిత tool గా మార్చింది. అందువల్ల పాత --add-repo flag ఆమోదించబడదు. Repository బదులుగా usage error కనిపిస్తుంది. మీరు ఎదుర్కొనే మరో మార్పు repository ను enable చేయడం. dnf 4 లోని dnf config-manager --set-enabled crb, dnf 5 లో dnf config-manager setopt crb.enabled=1 అవుతుంది.
నిజంగా ముఖ్యమైన ఎంపిక
Package manager ఆధారంగా మాత్రమే server distribution ను ఎంచుకోవడం సరైన ప్రమాణం కాదు. dnf మరియు apt ఒకే పని చేస్తాయి. వాటి పరిభాషను నేర్చుకోవడానికి ఒక మధ్యాహ్నం సరిపోతుంది. మీ మొత్తం సంవత్సరం అనుభవాన్ని ప్రభావితం చేసేది repository వెనుక ఉన్న release model. Fedora వేగంగా మారుతుంది. ఒక release అందుబాటులోకి వచ్చిన సుమారు thirteen నెలల తర్వాత దానికి updates నిలిచిపోతాయి. Workstation కు ఇది అనుకూలంగా ఉండవచ్చు. కానీ మళ్లీ నిర్మించాల్సిన అవసరం లేని server కు ఇది ఇబ్బందికరం. Rocky Linux మరియు AlmaLinux, RHEL ను అనుసరిస్తాయి. అందువల్ల మీకు ten year support window లభిస్తుంది. Package versions కూడా ఉద్దేశపూర్వకంగా స్థిరంగా ఉంటాయి. Ubuntu ఈ రెండు విధానాలను అందిస్తుంది. Server లో Ubuntu LTS మరియు interim releases మధ్య తేడా apt ప్రపంచంలో తీసుకునే అదే నిర్ణయం.
August 2026 నాటికి, ఇవన్నీ సాధారణ VPS images. మీకు కావలసిన support window ను ఎంచుకుని, పై ten commands ను నేర్చుకోండి.
FAQ
apt update కు dnf సమానమైనది ఏమిటి?
మీరు తప్పనిసరిగా అమలు చేయాల్సిన ప్రత్యేక command ఏదీ లేదు. ప్రతి transaction కు ముందు dnf తన cached metadata ఎంత పాతదో తనిఖీ చేస్తుంది. అది గడువు ముగిసినట్లయితే కొత్త కాపీని download చేస్తుంది. అందువల్ల, ఒక నెలగా మీరు తాకని server పై కూడా dnf install ప్రస్తుత packages ను చూస్తుంది. sudo dnf makecache command ఉంది. అది ఆ download ను తప్పనిసరిగా ప్రారంభిస్తుంది. అయితే దాని అసలు ఉపయోగం తదుపరి install సమయంలో delay రావడానికి బదులుగా, మీకు అనుకూలమైన సమయంలో ఆ delay ను ముందుగానే నిర్వహించడం. “నా కోసం ఏమి వేచి ఉంది?” అనే ప్రశ్నకు సమాధానం ఇచ్చే command dnf check-update. ఇది apt list --upgradable కు సమానమైన పని చేస్తుంది. Updates అందుబాటులో ఉంటే status 100 తో exit అవుతుంది.
Rocky Linux లేదా Fedora లో PPA కు సమానమైనది ఉందా?
లేదు. Personal package archives అనేవి Launchpad service. Launchpad అనేది Ubuntu infrastructure. అందువల్ల add-apt-repository కు అనువదించదగిన సమానం లేదు. RPM కు సమానమైనది .repo file. ఇది /etc/yum.repos.d/ లో ఉంటుంది. అందులో name, baseurl మరియు gpgkey ఉంటాయి. Vendors ఆ file ను మీ కోసం publish చేస్తారు. dnf 4 లో sudo dnf config-manager --add-repo <url>, dnf 5 లో sudo dnf config-manager addrepo --from-repofile <url> దాన్ని download చేసి సరైన స్థానంలో ఉంచుతుంది. సాధారణంగా అదనపు software కోసం EPEL ఉపయోగిస్తారు. దీన్ని ముందుగా sudo dnf config-manager --set-enabled crb, తరువాత sudo dnf install epel-release అమలు చేసి enable చేయాలి.
dnf upgrade వల్ల నా server దెబ్బతింటే దాన్ని వెనక్కి తీసుకోగలనా?
అవును, కొన్ని పరిమితులతో. Transaction number తెలుసుకోవడానికి sudo dnf history అమలు చేయండి. అది మార్చిన విషయాలను ఖచ్చితంగా చూడటానికి sudo dnf history info <id> అమలు చేయండి. తరువాత sudo dnf history undo <id> అమలు చేయండి. పాత package version ఏ enabled repository లోనూ లేకపోతే undo విఫలమవుతుంది. ఎందుకంటే dnf దాన్ని మళ్లీ install చేయడానికి ఎక్కడి నుంచీ పొందలేను. ఇది package changes ను మాత్రమే reverse చేస్తుంది. Upgrade మార్చిన configuration file లేదా service మొదటిసారి start అయినప్పుడు migrate చేసిన database అలాగే ఉంటుంది. apt కు దీనికి సమానమైన command ఏదీ లేదు. /var/log/apt/history.log లోని record మాత్రమే ఉంటుంది.
Rocky Linux మరియు AlmaLinux లో yum ఇంకా పనిచేస్తుందా?
పనిచేస్తుంది. ఎందుకంటే /usr/bin/yum అనేది dnf కు symbolic link. మీ స్వంత box లో దీన్ని ls -l /usr/bin/yum తో నిర్ధారించండి. yum install httpd టైప్ చేస్తే dnf అమలవుతుంది. అందువల్ల పాత tutorials ఎక్కువగా ఇప్పటికీ పనిచేస్తాయి. కొత్త scripts మరియు documentation లో dnf ఉపయోగించండి. yum పేరు compatibility కోసం మాత్రమే ఉంది. పాత yum-config-manager binary కంటే dnf config-manager ను ఉపయోగించడం మంచిది.
dnf remove ఎందుకు ఇన్ని packages తొలగించాలనుకుంటుంది?
అదే transaction లో మరెక్కడా అవసరం లేని dependencies ను dnf తొలగిస్తుంది. దీనికి విరుద్ధంగా, apt remove వాటిని మీరు విడిగా apt autoremove అమలు చేసే వరకు install చేసినట్టే ఉంచుతుంది. అందువల్ల Ubuntu లో చిన్నదిగా కనిపించే removal, Rocky Linux లో పొడవైన జాబితాను చూపవచ్చు. ఆ జాబితా సాధారణంగా సరైనదే. అయినప్పటికీ confirm చేయడానికి ముందు దాన్ని చదవండి. అందులోని ఏదైనా package మీకు కావాల్సినదైతే, ముందుగా దాన్ని explicit గా install చేయండి. అప్పుడు dnf దాన్ని స్వతంత్రంగా కావాల్సిన package గా నమోదు చేస్తుంది.