اسٹریس ایک CLI افادیت ہے جو نظام میں موجود غلطیوں کی جانچ کرنے کے لئے استعمال ہوتی ہے کے بعد سسٹم کالوں کی نگرانی کی اجازت دیتا ہے کسی خاص پروگرام اور اسے حاصل ہونے والے تمام اشارے کے ذریعہ استعمال کیا جاتا ہے۔ افادیت صارف کی نگرانی کرنے کی اجازت دیتا ہے اور (ورژن 4.15 کے بعد سے) پروگرام اور بنیادی کے مابین تعامل کے عمل میں مداخلت کریںبشمول جاری سسٹم کالز ، پاپ اپس ، اور عمل میں حالت تبدیلیاں
اس کا عمل لینکس دانا کی ایک خصوصیت کے ذریعہ ممکن ہوا ہے جسے پیٹریس کہتے ہیں۔ یہ دوسرے یونکس سسٹم پر دستیاب ٹرس ایپلیکیشن کی طرح ہے۔ سائگ وین پروگرام اسی طرح کی افادیت فراہم کرتا ہے۔ اس کا سب سے عام استعمال یہ ہے کہ اسے اس پروگرام کے ساتھ مل کر شروع کیا جا that جس کا سراغ لگایا جارہا ہے ، جو اس نظام کی ایک فہرست پرنٹ کرتا ہے جسے اسے عمل میں لایا جاتا ہے۔
کسی خاص پروگرام کی ناکامی کی وجہ معلوم کرنا مفید ہےیا اس کی وجہ یہ ہے کہ ایسی صورتحال کی اطلاع دی جاسکتی ہے ، مثال کے طور پر ، پروگرام ایسی فائل تک رسائی حاصل کرنے کی کوشش کر رہا ہے جو موجود نہیں ہے یا جس کے ل read اسے پڑھنے کی اجازت نہیں ہے۔
ان خصوصیات میں سے جو اسٹریس سے نمایاں ہیں ، مندرجہ ذیل ہیں۔
- سیسکل نام کے فلٹر کی نشاندہی کرنے کے قابل ہوجائیں (جس کا استعمال کرتے ہوئے -e ٹریس = آپشن): نام کے ذریعہ ، جیسے کلون ، کانٹا ، vfork؛ پہلے سے طے شدہ گروپوں میں سے کسی ایک کا استعمال ، جیسے٪ ipc یا٪ فائل؛ یا (ورژن 4.17 کے بعد سے) باقاعدہ اظہار نحو کا استعمال کرتے ہوئے ، جیسے گھڑی_ *۔
- راستوں کی ایک فہرست بتائیں۔ (مثال کے طور پر -P /etc/ld.so.cache)
- فائل ڈسکریپٹروں کی ایک فہرست بتائیں جن کے I / O کو پھینک دیا جائے
- عملدرآمد کا وقت اور اسکیل کی گنتی کریں
- رشتہ دار یا مطلق ٹائم اسٹیمپ پرنٹ کرنا
- مخصوص نظام کالز کے ریٹرن اور ایرر کوڈ میں ترمیم کریں اور عمل درآمد کے بعد سگنل لگائیں
- فائل ڈسریکٹرز (ساکٹس سمیت) پر معلومات نکالنا۔
- اسٹیک ٹریس پرنٹنگ ، بشمول (ورژن 4.21) مانگ کی علامت (-ک)۔
- اسکیل واپسی کی حیثیت سے فلٹرنگ
- اسٹریس کچھ ioctl کمانڈ کلاسوں ، جیسے BTRFS_ * ، V4L2_ * ، DM_ * ، NSFS_ * ، MEM * ، EVIO * ، KVM_ * ، اور متعدد دیگر کے دلائل کو ضابطہ اخلاق کی تائید کرتا ہے۔
جیسا کہ صرف سسٹم کی کالوں کی تفصیلات ہیں ، جی این یو ڈیبگر (جی ڈی بی) جیسے کوڈ ڈیبگر جتنی پریشانیوں کا پتہ لگانے کے لئے اس کا استعمال نہیں کیا جاسکتا۔ تاہم ، کوڈ ڈیبگر کے مقابلے میں استعمال کرنا آسان ہے ، اور یہ سسٹم کے منتظمین کے لئے ایک انتہائی مفید ٹول ہے۔ یہ محققین بعد میں پلے چلانے کے لئے سسٹم کال ٹریسس تیار کرنے کے لئے بھی استعمال کرتے ہیں۔
اسٹریس 5.3 کے نئے ورژن کے بارے میں
حال ہی میں اسٹریس 5.3 کا نیا ورژن پیش کیا گیا جس میں کوڈ لائسنس ٹرائل ورژن کیلئے BSD سے LGPLv2.1 + اور GPLv2 + میں تبدیل ہوگیا۔
نیز ان تبدیلیوں کے اندر جو وہاں کھڑے ہیں سیکٹرکمپٹر فلٹر بنا کر سسٹم کالوں کو فلٹر کرنے کے لئے معاونت ("ecSeccomp-bpf") نیز ریٹرن کوڈ ("-e status = ...")۔
ایک اور تبدیلی جو اس نئے ورژن کے اعلان میں کھڑی ہوتی ہے وہ یہ ہے کہ ڈویلپرز نے مزید کہا pidfd_open اور clone3 ضابطہ سازی سسٹم کالز کیلئے تعاون ، اس کے علاوہ io_cancel ، io_submit ، s390_sthyi ، اور syslog سسٹم کالوں کی بہتر کوڈوٹنگ۔
اشتہار میں بھی اس پر روشنی ڈالی گئی ہے ioctl کمانڈ میں لینکس 5.3 دانا کے ساتھ ہم آہنگی کی فہرست دی گئی ہے
دوسری تبدیلیوں میں سے اشتہار میں جن کا تذکرہ کیا گیا ہے ، وہ ہیں:
- NETLINK_ROUTE پروٹوکول ضابطہ بندی بہتر ہوا
- ضابطہ ربائی شدہ نیٹ ورک لنک کا وصف UNIX_DIAG_UID اور WDIOC_ * ioctl کے احکامات
- AUDIT_ *، BPF_ *، ETH_ *، KEYCTL_ *، KVM_ *، MAP_ *، SO_ *، TCP_ *، V4L2_ *، XDP_ * اور * _MAGIC مستقل فہرستیں تازہ کاری کریں
اوبنٹو اور مشتق افراد پر اسٹریس 5.3 کیسے انسٹال کریں؟
اسٹریس کی افادیت اوبنٹو کے ذخیروں کے ساتھ ساتھ اس کے مشتقات میں بھی پائی جاسکتی ہے ، لیکن جہاں تک اس نئے ورژن میں ، اسے ذخیروں میں شامل نہیں کیا گیا ہے۔ ذخیروں کے ذریعے تنصیب مندرجہ ذیل کمانڈ پر عمل کرکے کی جاسکتی ہے۔
sudo apt install strace
اب ان لوگوں کے ل who جو یہ نیا ورژن انسٹال کرنا چاہتے ہیں ان کو ماخذ کوڈ ڈاؤن لوڈ کرکے مرتب کرنا چاہئے آپ کے سسٹم پر
وہ اس کے ذریعہ سورس کوڈ ڈاؤن لوڈ کرتے ہیں:
git https://gitlab.com/strace/strace.git
وہ اس کے ساتھ داخل ہوتے ہیں:
cd strace
اور ان کے ساتھ مرتب:
./configure && make && make install
آخر کار استعمال کے بارے میں ، آپ کو نیٹ پر کچھ گائیڈ مل سکتے ہیں۔
تبصرہ کرنے والا پہلا ہونا