فا نیکسی

8.3.4.4. nix-env --query

نام

nix-env --query - نمایش اطلاعات درباره بسته‌ها

خلاصه دستور

nix-env {--query | -q} names… [--installed | --available | -a][{`--status` | `-s`}] [{--attr-path | -P}][`--no-name`] [{--compare-versions | -c}][`--system`] [--drv-path][`--out-path`] [--description][`--meta`] [--xml][`--json`] [{--prebuilt-only | -b}][{`--attr` | `-A`} *attribute-path*]

توضیحات

عملیات جستجو اطلاعاتی را درباره مسیرهای انبار که در نسل فعلی از پروفایل فعال نصب شده‌اند (--installed)، یا درایویشن‌هایی که برای نصب در عبارت Nix فعال موجود هستند (--available) نمایش می‌دهد. این دستور فقط اطلاعاتی را درباره درایویشن‌هایی چاپ می‌کند که نام نمادین آن‌ها با یکی از names مطابقت داشته باشد.

درایویشن‌ها بر اساس صفت‌های name خود مرتب می‌شوند.

انتخاب منبع

پرچم‌های زیر مجموعه مواردی را که جستجو روی آن‌ها انجام می‌شود، مشخص می‌کنند.

  • --installed

    جستجو روی مسیرهای انباری انجام می‌شود که در نسل فعلی پروفایل فعال نصب شده‌اند. این حالت پیش‌فرض است.

  • --available / -a

    جستجو روی درایویشن‌هایی انجام می‌شود که در عبارت Nix فعال موجود هستند.

پرس‌وجوها

پرچم‌های زیر مشخص می‌کنند که چه اطلاعاتی درباره درایویشن‌های انتخاب‌شده نمایش داده شود. ممکن است چندین پرچم مشخص شود که در این صورت اطلاعات به ترتیبی که در اینجا آمده است نمایش داده می‌شوند. توجه داشته باشید که نام درایویشن نمایش داده می‌شود مگر اینکه --no-name مشخص شده باشد.

  • --xml

    نتیجه را با فرمت نمایشی XML مناسب برای پردازش خودکار توسط سایر ابزارها چاپ کنید. عنصر ریشه items نام دارد که شامل یک عنصر item برای هر درایویشن موجود یا نصب‌شده است. فیلدهایی که در ادامه بحث می‌شوند همگی در صفات عناصر item ذخیره می‌شوند.

  • --json

    نتیجه را با فرمت نمایشی JSON مناسب برای پردازش خودکار توسط سایر ابزارها چاپ کنید.

  • --prebuilt-only / -b

    فقط درایویشن‌هایی را نشان دهید که برای آن‌ها یک جایگزین (substitute) ثبت شده است؛ یعنی یک باینری پیش‌ساخته‌ی قابل بارگیری وجود دارد که می‌توان آن را به جای ساختن درایویشن دانلود کرد. بنابراین، این گزینه تمام بسته‌هایی را نشان می‌دهد که احتمالاً می‌توان آن‌ها را به سرعت نصب کرد.

  • --status / -s

    وضعیت درایویشن را چاپ کنید. وضعیت شامل سه کاراکتر است. کاراکتر اول I یا - است که نشان می‌دهد آیا درایویشن در حال حاضر در نسل فعلی پروفایل فعال نصب شده است یا خیر. این مورد طبق تعریف برای --installed صادق است، اما برای --available لزوماً این‌طور نیست. کاراکتر دوم P یا - است که نشان می‌دهد آیا درایویشن روی سیستم موجود است یا خیر. این نشان می‌دهد که آیا نصب یک درایویشنِ موجود مستلزم ساخت آن درایویشن خواهد بود یا خیر. کاراکتر سوم S یا - است که نشان می‌دهد آیا جایگزینی برای درایویشن موجود است یا خیر.

  • --attr-path / -P

    مسیر صفت (attribute path) درایویشن را چاپ کنید که می‌توان از آن برای انتخاب بدون ابهام درایویشن با استفاده از گزینه --attr در دستوراتی که درایویشن‌ها را نصب می‌کنند (مانند nix-env --install) استفاده کرد. این گزینه فقط همراه با --available کار می‌کند.

  • --no-name

    از چاپ صفت name هر درایویشن جلوگیری کنید.

  • --compare-versions / -c

مقایسه نسخه‌های نصب‌شده با نسخه‌های موجود، یا برعکس (اگر --available داده شده باشد). این کار برای بررسی سریع اینکه آیا ارتقاها برای بسته‌های نصب‌شده در یک عبارت Nix موجود هستند یا خیر، مفید است. ستونی با معنای زیر اضافه می‌شود:

  • < نسخه

    نسخه جدیدتری از بسته موجود یا نصب شده است.

  • = نسخه

    حداکثر همان نسخه از بسته موجود یا نصب شده است.

  • > نسخه

    فقط نسخه‌های قدیمی‌تری از بسته موجود یا نصب شده‌اند.

  • - ?

    هیچ نسخه‌ای از بسته موجود یا نصب نشده است.

  • --system

    چاپ صفت system مربوط به derivation.

  • --drv-path

    چاپ [مسیر انبار] به store derivation.

  • --out-path

    چاپ مسیر خروجی derivation.

  • --description

    چاپ توضیحات کوتاه (تک‌خطی) مربوط به derivation، در صورت وجود. توضیحات از صفت meta.description مربوط به derivation گرفته می‌شود.

  • --meta

    چاپ تمام صفات متا (meta-attributes) مربوط به derivation. این گزینه فقط با --xml یا --json در دسترس است.

مثال‌ها

برای نمایش بسته‌های نصب‌شده:

$ nix-env --query
bison-1.875c
docbook-xml-4.2
firefox-1.0.4
MPlayer-1.0pre7
ORBit2-2.8.3
…

برای نمایش بسته‌های موجود:

$ nix-env --query --available
firefox-1.0.7
GConf-2.4.0.1
MPlayer-1.0pre7
ORBit2-2.8.3
…

برای نمایش وضعیت بسته‌های موجود:

$ nix-env --query --available --status
-P- firefox-1.0.7   (not installed but present)
--S GConf-2.4.0.1   (not present, but there is a substitute for fast installation)
--S MPlayer-1.0pre3 (i.e., this is not the installed MPlayer, even though the version is the same!)
IP- ORBit2-2.8.3    (installed and by definition present)

برای نمایش بسته‌های موجود در عبارت نیکس (Nix expression) foo.nix:

$ nix-env --file ./foo.nix --query --available
foo-1.2.3

برای مقایسه نسخه‌های نصب‌شده با موارد موجود:

$ nix-env --query --compare-versions
...
acrobat-reader-7.0 - ?      (package is not available at all)
autoconf-2.59      = 2.59   (same version)
firefox-1.0.4      < 1.0.7  (a more recent version is available)
...

برای نمایش تمام بسته‌هایی که عبارت «zip» را در نام خود دارند:

$ nix-env --query --available '.*zip.*'
bzip2-1.0.6
gzip-1.6
zip-3.0
…

برای نمایش تمام بسته‌هایی که عبارت «firefox» یا «chromium» در نام خود دارند:

$ nix-env --query --available '.*(firefox|chromium).*'
chromium-37.0.2062.94
chromium-beta-38.0.2125.24
firefox-32.0.3
firefox-with-plugins-13.0.1
…

برای نمایش تمام بسته‌ها در آخرین نسخهٔ مخزن Nixpkgs:

$ nix-env --file https://github.com/NixOS/nixpkgs/archive/master.tar.gz --query --available

nix.dev/manual/nix/stable/command-ref/nix-env/query.html

نیکسی · یادداشت‌های فارسی Nix local fonts