لینکس میں "Systemctl Command Not Found" کی خرابی کو کیسے ٹھیک کریں۔

'systemctl' کمانڈ اور اس کے کچھ موثر متبادل کے تعارف کے ساتھ مسئلے کو حل کرنے کے لیے ایک فوری حل

systemctl لینکس ایکو سسٹم میں ایک اہم افادیت ہونے کے ناطے، یہ بہت عام ہے کہ آپ کو چلانے کی کوشش کرتے وقت "systemctl: command not found" کی خرابی کا سامنا کرنا پڑ سکتا ہے۔ systemctl کمانڈ. ممکن ہے یہ لینکس کی تمام تقسیم کے لیے ایسا نہ ہو، لیکن آپ کو اس غلطی کا سامنا ہو سکتا ہے جب آپ لینکس کی تقسیم کا پرانا ورژن استعمال کر رہے ہوں جو systemctl کمانڈ.

آپ کو پیش آنے والا مسئلہ ایک بہت عام مسئلہ ہے اور اسے آسانی سے حل کیا جا سکتا ہے۔ لہذا، بالکل بھی پریشان نہ ہوں اور فوری اور آسان حل تلاش کرنے کے لیے مکمل ٹیوٹوریل کو دیکھیں۔

ہم پہلے مسئلہ کو سمجھنے کی کوشش کریں گے اور پھر اسے ٹھیک کریں گے۔

میں بصیرت systemctl اور systemd

جیسا کہ غلطی کے حوالے سے ہے۔ systemctl کمانڈ، اس غلطی کے حل کو بہتر طور پر سمجھنے کے لیے اس کمانڈ کی بنیادی باتوں کو جاننا اچھا ہوگا۔

systemctl ایک کمانڈ لائن یوٹیلیٹی ہے جو لینکس پیش کرتا ہے، جس کا استعمال ایک اور کمانڈ لائن یوٹیلیٹی کی نگرانی اور کنٹرول کے لیے کیا جاتا ہےsystemd' یہ سسٹم مینیجر کا بھی معائنہ اور کنٹرول کرتا ہے 'systemd' افادیت.

عمومی نحو:

systemctl [آپشن] [نام]

systemd ڈیمنز، لائبریریوں اور افادیت کا ایک بنڈل ہے جو آپ کے سسٹم کے بوٹ ہونے پر چلنے والے پروگراموں کو کنٹرول کرتا ہے۔ systemd نظام کی سرگرمی کا جرنل شروع کرنے جیسے اہم کام کو شروع کرنے کا بھی انتظام کرتا ہے۔

یہ افادیت زیادہ تر کے لیے مرکزی انتظامی افادیت کے طور پر کام کرتی ہے اگر تمام لینکس پر مبنی آپریٹنگ سسٹمز کے لیے نہیں۔

خرابی کی اصل وجہ

اس خرابی کی سب سے ممکنہ وجہ یہ ہو سکتی ہے کہ آپ لینکس ڈسٹری بیوشن کا پرانا ورژن استعمال کر رہے ہیں۔ بہت سے پرانے ورژن استعمال کرتے ہیں۔ SysV init کے بجائے systemd افادیت

systemd لینکس کے پچھلے ورژن میں یوٹیلیٹی غائب ہے کیونکہ یہ لینکس کی طرف سے فراہم کردہ یوٹیلیٹیز کی ٹوکری میں حالیہ اضافہ ہے۔ systemctl کے ساتھ کام کرنے اور مانیٹر کرنے کے لیے مطابقت رکھتا ہے۔ systemd افادیت اور پچھلی ترتیب کے ساتھ کام کرنے میں ناکام رہے گی جیسے SysVاس میں یا اپ اسٹارٹ.

اگر آپ استعمال نہیں کر رہے ہیں۔ systemd، پھر اس غلطی کی توقع ہے۔ یہ اتنا ہی سادہ اور سیدھا ہے۔

آپ کو مندرجہ ذیل طریقے سے اس غلطی کا سامنا کرنا پڑ سکتا ہے۔

gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] پاس ورڈ for gaurav: sudo: systemctl: کمانڈ نہیں ملا gaurav@ubuntu:~$ 

یہاں، ہم نے اوبنٹو فائر وال کو شروع کرنے کی کوشش کی (ufw) کا استعمال کرتے ہوئے systemctl کمانڈ اور "systemctl: کمانڈ نہیں ملا" غلطی کا سامنا کرنا پڑا۔

لہذا، اب کیا کریں اگر آپ اپنی موجودہ لینکس ڈسٹری بیوشن کو تبدیل نہیں کرنا چاہتے جو اس کے علاوہ کوئی دوسری مرکزی انتظامی افادیت استعمال کر رہی ہے۔ systemd? ٹھیک ہے، ہمارے پاس آپ کے لیے ایک فوری حل ہے جو آپ کو اپنی موجودہ لینکس ڈسٹری بیوشن کو برقرار رکھنے کے ساتھ ساتھ اپنی غلطی کو فوری طور پر ٹھیک کرنے کی اجازت دے گا۔

آئیے اب اصلاح کا مشاہدہ کریں۔

"systemctl: کمانڈ نہیں ملا" غلطی کو ٹھیک کرنا

آخر میں، آئیے اب اس مسئلے کے اسباب اور بنیادی حقائق کا تجزیہ کرنے کے بعد زیر بحث مسئلے کے حل کو دیکھتے ہیں۔

درست کریں 1: تبدیل کرنا systemctl کے ساتھ سروس کمانڈ

سوال میں غلطی کا ایک آسان حل استعمال کرنا ہے۔ سروس غلطی پیدا کرنے کی بجائے کمانڈ systemctl کمانڈ.

سروس کمانڈ چلانے میں مدد کرتا ہے۔ سسٹم وی شروع اسکرپٹ جو پرانی لینکس کی تقسیم کے ذریعہ استعمال ہوتی ہے۔ اگر آپ انسٹال نہیں کرنا چاہتے ہیں۔ systemd آپ کے سسٹم پر افادیت، یہ فکس آپ کے لیے ضرور کام کرے گا۔

آپ اپنی لینکس ڈسٹری بیوشن پر کسی بھی سروس اور ڈیمن کو شروع، دوبارہ شروع یا روک سکتے ہیں۔ سروس کمانڈ.

دی سروس کمانڈ اور systemctl اسی طرح کمانڈ فنکشن، یہاں فرق صرف ان یوٹیلیٹیز کے ساتھ کمانڈ کی مطابقت کا ہے جو آپ کے سسٹم کو خوبصورت طریقے سے چلانے کے لیے ذمہ دار ہیں۔

آئیے دیکھتے ہیں۔ سروس ایک مثال کے ساتھ حکم.

عمومی نحو:

sudo سروس [سروس_نام] [کارروائی]

مندرجہ بالا نحو میں، the [عمل] جگہ جیسے اعمال شامل ہو سکتے ہیں۔ شروع, روکو, دوبارہ شروع کریں یا حالت.

ہم شروع کرنے کے لیے وہی کمانڈ چلائیں گے۔ ufw کا استعمال کرتے ہوئے سروس سروس کمانڈ.

sudo سروس ufw اسٹارٹ

آؤٹ پٹ:

gaurav@ubuntu:~$ sudo service ufw start gaurav@ubuntu:~$ sudo سروس ufw اسٹیٹس ● ufw.service - غیر پیچیدہ فائر وال لوڈ: لوڈ شدہ (/lib/systemd/system/ufw.service; فعال؛ وینڈر پیش سیٹ: فعال: فعال: 28-09-2020 پیر سے فعال (خارج) =0/SU مین PID: 333 (code=exited, status=0/SUCCESS) ستمبر 28 11:22:34 ubuntu systemd[1]: غیر پیچیدہ فائر وال شروع کیا گیا۔ وارننگ: جرنل کو گھمایا گیا ہے جب سے یونٹ شروع ہوا ہے۔ لاگ آؤٹ پٹ ہے نامکمل

یہاں، دی سروس کمانڈ کی بجائے استعمال کیا جاتا ہے۔ systemctl کمانڈ اور اس نے بالکل ٹھیک کام کیا۔

آئیے اس کی ایک اور مثال دیکھیں سروس اس کی صحیح تفہیم حاصل کرنے کا حکم۔

sudo سروس اپاچی 2 اسٹارٹ

آؤٹ پٹ:

gaurav@ubuntu:~$ sudo service apache2 status ● apache2.service - اپاچی HTTP سرور لوڈ: لوڈ شدہ (/lib/systemd/system/apache2.service؛ فعال؛ وینڈر پیش سیٹ: ڈراپ ان: /lib/systemd/system/ apache2.service.d └─apache2-systemd.conf فعال: فعال (چل رہا ہے) پیر 2020-09-28 11:22:47 IST؛ 1 گھنٹے 16 منٹ پہلے عمل: 1172 ExecStart=/usr/sbin/apachectl start (code= باہر نکلا، status=0/SUCCE مین PID: 1248 (apache2) Tasks: 55 (حد: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k آغاز ├─/usr12/ sbin/apache2 -k آغاز └─1250 /usr/sbin/apache2 -k شروع 28 ستمبر 11:22:43 ubuntu systemd[1]: Apache HTTP سرور شروع کرنا... ستمبر 28 11:22:47 ubuntu apachectl[1172 ]: AH00112: وارننگ: DocumentRoot [/var/www Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: قابل اعتماد طریقے سے 28 ستمبر 11:22:47 ubuntu کا سسٹم بنایا گیا سرور۔ gaurav@ubuntu:~$ 

ہم نے استعمال کیا ہے۔ سروس apache2 یوٹیلیٹی کو شروع کرنے کا حکم۔ کا استعمال کرتے ہوئے حالت کے ساتھ آپشن سروس کمانڈ سروس کی موجودہ حیثیت کو ظاہر کرے گا۔ ہم تفصیلات حاصل کریں گے کہ آیا یہ چل رہا ہے یا مردہ ہے (غیر فعال)۔

آئیے اب استعمال کریں۔ روکو کا استعمال کرتے ہوئے apache2 سروس کو روکنے کی کارروائی سروس کمانڈ.

gaurav@ubuntu:~$ sudo service apache2 stop gaurav@ubuntu:~$ sudo service apache2 اسٹیٹس لائنز 1--1...skipping... ● apache2.service - اپاچی HTTP سرور لوڈ ہوا: loaded (/lib/systemd/ system/apache2.service؛ فعال؛ وینڈر پیش سیٹ: فعال) ڈراپ ان: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf فعال: غیر فعال (مردہ) پیر 2020-09-28 12 @42:06 IST; 1 سیکنڈ پہلے عمل: 4928 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) عمل: 1172 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) مین PID : 1248 (code=exited, status=0/SUCCESS) Sep 28 11:22:43 ubuntu systemd[1]: Apache HTTP سرور شروع کرنا... Sep 28 11:22:47 ubuntu apachectl[1172]: AH00112: وارننگ : DocumentRoot [/var/www/html] موجود نہیں ہے Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: ::1 کا استعمال کرتے ہوئے، سرور کے مکمل اہل ڈومین نام کا قابل اعتماد طریقے سے تعین نہیں کیا جا سکا۔ سیٹ کریں 'S Sep 28 11:22:47 ubuntu systemd[1]: Apache HTTP سرور شروع کیا۔

اوپر بیان کردہ تفصیلی مثالوں سے، ہم یہ نتیجہ اخذ کر سکتے ہیں کہ ہم اس کمانڈ کے بجائے استعمال کر سکتے ہیں۔ systemctl لینکس ڈسٹری بیوشن کے تحت دیگر ڈیمنز اور سروسز کو کنٹرول اور مانیٹر کرنے کا کمانڈ۔

درست کریں 2: کی جانچ کر رہا ہے۔ systemd پیکج

کبھی کبھی ایسا بھی ہو سکتا ہے کہ صرف systemd پیکیج کی تنصیب سے مسئلہ حل ہو سکتا ہے۔ سب سے پہلے، آپ کو تنصیب کی حیثیت کو چیک کرنے کی ضرورت ہے systemd آپ کے سسٹم پر پیکیج۔

اپنے سسٹم پر پیکیج چیک کرنے کے لیے درج ذیل کمانڈ کا استعمال کریں۔

sudo dpkg -l | grep systemd

اگر systemd utilty پہلے سے ہی انسٹال ہے آپ کو ایک آؤٹ پٹ ملے گا جیسا کہ نیچے دکھایا گیا ہے۔

gaurav@ubuntu:~$ sudo dpkg -l | grep systemd [sudo] پاس ورڈ for gaurav: ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 سادہ انٹر پروسیس میسجنگ سسٹم (systemd --user integration) ii libnss-systemd:amd64 237-3ubuntu10.42 amd64 فراہم کرنے والا ایم ڈی ایم ڈی صارف اور گروپ کے نام کی ریزولیوشن ii libpam-systemd:amd64 237-3ubuntu10.42 amd64 سسٹم اور سروس مینیجر - PAM ماڈیول ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd یوٹیلٹی لائبریری ii libsystemd64 systemd یوٹیلیٹی لائبریری ii networkd-dispatcher 1.7-0ubuntu3.3 systemd-networkd کنکشن کی حیثیت کے لیے تمام ڈسپیچر سروس ri python3-systemd 234-1build1 amd64 Python 3 بائنڈنگز systemd ii systemd 237-3ubuntu10.42 systemd-systemd 237-3ubuntu10.42 systemd-systemd 237-3ubuntu10.42 systemd-systemd 234. 3ubuntu10.42 amd64 سسٹم اور سروس مینیجر - SysV لنکس gaurav@ubuntu:~$ 

اگر آپ کو اس سے ملتا جلتا آؤٹ پٹ ملتا ہے تو اس کا مطلب ہے۔ systemd آپ کے سسٹم پر انسٹال ہے۔

اگر یہ انسٹال نہیں ہے تو آپ اسے درج ذیل طریقے سے انسٹال کر سکتے ہیں۔

sudo apt-get update
sudo apt-get install systemd

اگر یہ انسٹال ہے اور پھر بھی خرابی برقرار رہتی ہے، تو درج ذیل کمانڈ کا استعمال کرکے اسے دوبارہ انسٹال کرنے کی کوشش کریں۔

sudo apt-get install --reinstall systemd

یہ انسٹال کرکے آپ کا مسئلہ حل کردے گا۔ systemd افادیت

نتیجہ

ہم نے اس ٹیوٹوریل میں "systemctl: command not found" کو ٹھیک کرنا سیکھا۔ ہم محفوظ طریقے سے یہ نتیجہ اخذ کر سکتے ہیں کہ کا استعمال کرتے ہوئے سروس کے بجائے کمانڈ systemctl ایک اچھا خیال ہے اور اس مسئلے کو بہت اچھی طرح سے حل کرتا ہے۔ ہم آسانی سے استعمال کر سکتے ہیں۔ سروس ٹیوٹوریل میں دکھائی گئی مثالی مثالوں کو سمجھنے کے بعد کمانڈ کریں۔