'\" t .\" Man page generated from reStructuredText .\" by the Docutils 0.22.4 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "ABIDB" "1" "May 01, 2026" "" "Libabigail" .SH "نام (NAME)" abidb \- بررسی باینری‌ها در برابر پیکرهٔ abixml یا ثبت داده‌های جدید .sp دستور \fBabidb\fP یک مخزن git از فایل‌های abixml توصیف‌کنندهٔ کتابخانه‌های اشتراکی را مدیریت می‌کند و باینری‌ها را در برابر آن‌ها بررسی می‌نماید. برنامه‌های \fBelfutils\fP و \fBlibabigail\fP برای پرس‌وجو و پردازش باینری‌ها به کار می‌روند. \fBabidb\fP برای دریافت خودکار محتوای DWARF مورد نیاز، به‌خوبی با \fBdebuginfod\fP هماهنگ می‌شود. .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 .sp .EX abidb [OPTIONS] [\-\-submit PATH1 PATH2 ...] [\-\-check PATH1 PATH2 ...] .EE .UNINDENT .UNINDENT .SH "گزینه‌های عمومی (COMMON OPTIONS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fB\-\-abicompat PATH\fP .sp مسیر برنامهٔ \fBabicompat\fP مورد استفاده را مشخص می‌کند. در صورت عدم استفاده از این گزینه، به‌طور پیش‌فرض برنامهٔ \fBabicompat\fP موجود در دایرکتوری‌های فهرست‌شده در متغیر محیطی $PATH به کار گرفته می‌شود. .IP \(bu 2 \fB\-\-abidw PATH\fP .sp مسیر برنامهٔ \fBabidw\fP مورد استفاده را مشخص می‌کند. در صورت عدم استفاده از این گزینه، به‌طور پیش‌فرض برنامهٔ \fBabidw\fP موجود در دایرکتوری‌های فهرست‌شده در متغیر محیطی $PATH به کار گرفته می‌شود. .IP \(bu 2 \fB\-\-distrobranch BRANCH\fP .sp شاخهٔ git مربوط به فایل‌های abixml را در مخزن git مشخص می‌کند. مقدار پیش‌فرض رشته‌ای مانند DISTRO/VERSION/ARCHITECTURE است که از محیط در حال اجرا محاسبه می‌شود. .IP \(bu 2 \fB\-\-git REPO\fP .sp درخت کاری git از پیش موجود را برای ارسال به آن یا بررسی در برابر آن توسط abidb مشخص می‌کند. مقدار پیش‌فرض، دایرکتوری کاری فعلی است. این درخت می‌تواند به‌طور هم‌زمان توسط چندین عملیات \(dqcheck\(dq استفاده شود، اما در یک زمان تنها یک عملیات \(dqsubmit\(dq مجاز است. .IP \(bu 2 \fB\-\-help | \-h\fP .sp نمایش راهنمای کوتاه دربارهٔ دستور و خروج. .IP \(bu 2 \fB\-\-loglevel LOGLEVEL\fP .sp سطح عیب‌یابی پیام‌ها برای ارسال به stderr را مشخص می‌کند. یکی از مقادیر \fBdebug\fP، \fBinfo\fP، \fBwarning\fP، \fBerror\fP یا \fBcritical\fP؛ بدون حساسیت به حروف کوچک و بزرگ. مقدار پیش‌فرض \fBinfo\fP\& است. .IP \(bu 2 \fB\-\-timeout SECONDS\fP .sp حداکثر زمان مجاز اجرا (به ثانیه) را برای برنامه‌های اجرایی \fBabidw\fP و \fBabicompat\fP تعیین می‌کند. به‌طور پیش‌فرض، هیچ محدودیتی برای زمان اجرای این برنامه‌ها در نظر گرفته نشده است. .UNINDENT .UNINDENT .UNINDENT .SH "گزینه‌های ثبت (SUBMIT OPTIONS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fB\-\-allow\-no\-debug\-info\fP .sp به‌طور پیش‌فرض، در صورتی که اطلاعات اشکال‌زدایی مرتبط با یک باینری یافت نشود، ثبت آن ناموفق خواهد بود. با این حال با استفاده از این گزینه، در صورت عدم وجود اطلاعات اشکال‌زدایی، اطلاعات ABI ارسال‌شده برای باینری تنها از نمادهای ELF استخراج شده و اطلاعات مربوط به نوع (type) حذف می‌گردد. .IP \(bu 2 \fB\-\-archive | \-Z .EXT[=CMD]\fP .sp مسیرهای (PATH) با پسوند \fB\&.EXT\fP را مشخص می‌کند تا به عنوان آرشیو با آن‌ها رفتار شود. اگر \fBCMD\fP مشخص شده باشد، PATH از طریق لوله به دستور شل داده‌شده فرستاده می‌شود، در غیر این صورت گویی از طریق \fBcat\fP\& عبور داده می‌شود. جریان دادهٔ حاصل سپس توسط \fBlibarchive\fP باز می‌شود تا محتویات طیف گسترده‌ای از قالب‌های فایلی آرشیو ممکن را فهرست‌بندی کند. هر فایل درون آرشیو به‌طور جداگانه پردازش شده و به abixml تبدیل می‌شود. .sp برای نمونه، \fB\-Z .zip\fP هر فایل درون یک فایل zip را پردازش می‌کند و \fB\-Z .deb=\(aqdpkg\-deb \-\-fsys\-tarfile\(aq\fP هر فایل محموله (payload) را درون یک آرشیو دبیان پردازش خواهد کرد. .IP \(bu 2 \fB\-\-filter REGEX\fP .sp فایل‌های انتخاب‌شده برای استخراج abixml را به مواردی که با عبارت باقاعدهٔ مشخص‌شده همخوانی دارند محدود می‌کند. مقدار پیش‌فرض \fB/lib.*\e.so\fP است که به عنوان یک روش تجربی برای شناسایی کتابخانه‌های اشتراکی استفاده می‌شود. .IP \(bu 2 \fB\-\-submit PATH1 PATH2 ...\fP .sp با استفاده از \fBabidw\fP، با در نظر گرفتن فیلتر نام فایل و گزینه‌های رمزگشایی آرشیو، abixml را برای هر یک از فایل‌های مشخص‌شده (عموماً کتابخانه‌های اشتراکی) استخراج می‌کند. خروجی هر بار اجرای \fBabidw\fP در شاخهٔ توزیع (distrobranch) انتخاب‌شده از مخزن git مورد نظر ذخیره می‌شود. اگر هر دو گزینهٔ \fB\-\-submit\fP و \fB\-\-check\fP داده شوند، ابتدا عملیات‌های ثبت انجام می‌پذیرند. .IP \(bu 2 \fB\-\-sysroot PREFIX\fP مسیر پیشوندی را مشخص می‌کند که باید از نام فایل‌های ثبت‌شده حذف شود. .UNINDENT .UNINDENT .UNINDENT .SH "گزینه‌های بررسی (CHECK OPTIONS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fB\-\-check PATH1 PATH2 ...\fP .sp با استفاده از \fBabidiff\fP، هر یک از فایل‌های مشخص‌شده (عموماً فایل‌های اجرایی) را در برابر اسناد abixml نسخه‌های انتخاب‌شده برای تمام کتابخانه‌های اشتراکی مورد نیاز آن فایل اجرایی مقایسه می‌کند. این کتابخانه‌ها با برشمردن تگ‌های بخش پویای \fBDT_NEEDED\fP فایل اجرایی مشخص می‌شوند. .IP \(bu 2 \fB\-\-ld\-library\-path DIR1:DIR2:DIR3...\fP .sp مسیرهای جستجوی اسناد abixml را برای مکان‌یابی هر \fBSONAME\fP خاص تعیین می‌کند. نخستین دایرکتوری مشخص‌شده اولویت دارد. با این حال، تمام نسخه‌های مربوط به یک \fBSONAME\fP در آن دایرکتوری برای مقایسه انتخاب می‌شوند. حالت پیش‌فرض نامشخص است؛ بدین معنی که بدون در نظر گرفتن دایرکتوری خاص، برای تمام ورودی‌های مطابق با \fBSONAME\fP در شاخهٔ توزیع جستجو می‌شود. .UNINDENT .UNINDENT .UNINDENT .SH "وضعیت خروج (EXIT STATUS)" .sp در صورت ثبت و/یا بررسی موفقیت‌آمیز تمام مسیرها، کد خروج 0 است. .sp در صورت بروز خطا، کد خروج \fBabidb\fP غیر صفر بوده و فهرست کوتاهی از باینری‌هایی که ثبت و/یا بررسی آن‌ها با شکست مواجه شده است چاپ می‌شود. .SH "طرح مخزن گیت (GIT REPOSITORY SCHEMA)" .sp دستور \fBabidb\fP اسناد abixml را با طرح نام‌گذاری زیر در شاخهٔ توزیع (distrobranch) درون یک مخزن git ذخیره می‌کند: .INDENT 0.0 .IP 1. 3 مسیر دایرکتوری منتهی به فایل کتابخانهٔ اشتراکی .IP 2. 3 مقدار SONAME فایل کتابخانهٔ اشتراکی، به عنوان نام زیردایرکتوری .IP 3. 3 فایلی به نام BUILDID.xml، که در آن \fBBUILDID\fP یادداشتِ هگزادسیمالِ ELF build\-id کتابخانهٔ اشتراکی است. .UNINDENT .sp برای نمونه: .TS box center; l|l. T{ نام فایل کتابخانهٔ اشتراکی T} T{ مسیر abixml در git T} _ T{ /usr/lib64/libc.so.6.2.32 /usr/lib64/libc.so.6.2.33 /lib/ld\-linux.so.2 T} T{ /usr/lib64/libc.so.6/788cdd41a15985bf8e0a48d213a46e07d58822df.xml /usr/lib64/libc.so.6/e2ca832f1c2112aea9d7b9bc639e97e873a6b516.xml /lib/ld\-linux.so.2/b65f3c15b129f33f44f504da1719926aec03c07d.xml T} .TE .sp هدف از گنجاندن buildid در نام این است که در صورت به‌روزرسانی توزیع با نسخه‌های متعدد از یک کتابخانهٔ اشتراکی مشخص، این نسخه‌ها بتوانند در کنار یکدیگر و بدون تداخل نگهداری شوند. \fBSONAME\fP در جزء ماقبل آخر نام به کار رفته که این رفتار از \fBld.so\fP و \fBldconfig\fP الهام گرفته شده است؛ برنامه‌هایی که برای نگاشت ارجاعات از \fBSONAME\fP به یک فایل واقعی، به پیوندهای نمادین تکیه دارند. .SH "همچنین ببینید (SEE ALSO)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 ELF: \% .IP \(bu 2 DWARF: \% .IP \(bu 2 Debuginfod: \% .IP \(bu 2 Git: \% .IP \(bu 2 Libarchive: \% .UNINDENT .UNINDENT .UNINDENT .SH "نویسندگان (AUTHORS)" Frank Ch. Eigler .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2014-2025, Red Hat, Inc. .\" End of generated man page.