خودکار سیکیورٹی اپ ڈیٹس
Debian اور Ubuntu پر unattended-upgrades اور AlmaLinux پر dnf-automatic کیسے کنفیگر کریں تاکہ پیچ خود انسٹال ہوں اور رات کو سروس بند نہ ہو۔
اپ ڈیٹ 23 اگست، 2026
زیادہ تر بریکیں اُن کمزوریوں سے ہوتی ہیں جنہیں مہینوں پہلے پیچ کر دیا گیا تھا۔ دستی اپڈیٹس ٹال دی جاتی ہیں؛ خودکار اپڈیٹس نہیں ٹلتیں۔ سمجھدار سیٹ اپ صرف سیکیورٹی اپڈیٹس انسٹال کرتا ہے اور باقی سب کچھ ویسا ہی رہنے دیتا ہے۔
Debian اور Ubuntu
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades
فائل /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
"postgresql-.*";
"docker-ce";
};
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "you@example.com";
شیڈول /etc/apt/apt.conf.d/20auto-upgrades میں رہتا ہے:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
بغیر کوئی تبدیلی کیے ڈرائی رن:
unattended-upgrade --dry-run --debug
systemctl status unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log
AlmaLinux اور CentOS Stream
dnf install -y dnf-automatic
/etc/dnf/automatic.conf میں:
[commands]
upgrade_type = security
apply_updates = yes
reboot = never
systemctl enable --now dnf-automatic.timer
systemctl list-timers | grep dnf
کیا خارج رکھیں
ہر وہ چیز خارجی فہرست میں شامل کریں جو اپنے ورژن کے غیر متوقع طور پر بدلنے پر ٹوٹ جاتی ہے: ڈیٹا بیس سرور، Docker، اور خود ایپلیکیشن انجن۔ انہیں کسی پرسکون وقت میں ہاتھ سے اپڈیٹ کریں — دیکھیں سسٹم اور پیکیج اپڈیٹس۔
کرنل کی سیکیورٹی اپڈیٹس بھی انسٹال ہوتی ہیں، مگر وہ صرف ری بوٹ کے بعد مؤثر ہوتی ہیں:
test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs
ری بوٹ: صرف انسان کا فیصلہ
Automatic-Reboot "true" سیٹ کرنے کا لالچ شدید ہوتا ہے، مگر خودکار رات کا ری بوٹ مطلب ہے کہ سروس بغیر کسی کی نگرانی کے دوبارہ شروع ہو گی۔ اگر کوئی چیز واپس اوپر نہ آئے، تو آپ کو صبح اپنے صارفین سے اس کا پتہ چلے گا۔
ایک سمجھدار مصالحت: اپڈیٹس خود انسٹال ہوں، اور آپ مہینے میں ایک بار /hosting/vds/m/<id> پینل میں کنسول دیکھتے ہوئے دستی طور پر ری بوٹ کریں۔ ساتھ ہی یہ بھی چیک کریں کہ سروسز خود بخود شروع ہوتی ہیں:
systemctl is-enabled nginx postgresql
systemctl list-units --state=failed
عام غلطیاں
| غلطی | نتیجہ | حل |
|---|---|---|
| صرف سیکیورٹی کے بجائے تمام ریپوزٹریز کے لیے اپڈیٹس فعال کرنا | فیچر کی تبدیلیاں آ جاتی ہیں | صرف -security سورس رکھیں |
| ڈیٹا بیس خارجی فہرست میں نہ ہونا | میجر ورژن ڈیٹا خراب کر دیتا ہے | اسے Package-Blacklist میں شامل کریں |
| رات کو خودکار ری بوٹ | سروس اوپر نہ آئی اور کسی نے دھیان نہ دیا | Automatic-Reboot "false" |
| سیٹ اپ کر کے بھول جانا | کرنل اپڈیٹ ہوتا ہے مگر اپڈیٹ لاگو نہیں ہوتی | مہینے میں ایک بار reboot-required چیک کریں |
| ڈاؤن لوڈ شدہ پیکیجز نے ڈسک بھر دی | جگہ ختم ہو جاتی ہے | خودکار کیش صفائی فعال رکھیں |
خودکار اپڈیٹس ایک انشورنس ہیں، توجہ کا متبادل نہیں۔ مہینے میں ایک بار مشین کھولیں، اپڈیٹ لاگ، ناکام سروسز کی فہرست اور یہ کہ ری بوٹ درکار ہے یا نہیں، دیکھیں۔ مہینے کے پندرہ منٹ بریک کی نشانیاں مضمون کے زیادہ تر منظرنامے کور کر دیتے ہیں۔