কোন ফাইল (ইনস্টলড নেই) প্যাকেজটি নিক্সস-এ অন্তর্গত তা কীভাবে আবিষ্কার করবেন?


13

আমি ব্যবহার করছি তুষার প্যাকেজ ম্যানেজার উপর NixOS । ধরুন আমি একটি প্যাকেজ ইনস্টল করতে চাই যা একটি ফাইল সরবরাহ করে libgtk-x11-2.0.so.0অন্যান্য জিএনইউ / লিনাক্স বিতরণগুলির মতো এই ফাইলটি সরবরাহকারী একটি প্যাকেজ আমি কীভাবে খুঁজে পাব ?

বর্তমানে আমাকে ফাইল গুগল করতে হবে এবং এটি কোন প্যাকেজটির অন্তর্ভুক্ত হতে পারে তা বের করতে হবে এবং নিক্স সংগ্রহস্থলে সম্পর্কিত প্যাকেজটি খুঁজে পেতে হবে, তবে আমি আরও একটি আইডোমেটিক পদ্ধতি চাই।


1
ছাড়ার আগে আমি " সিটিগস ডাটাবেস সেটআপ ..." হিসাবে পেয়েছিলাম
ট্রিগার করুন

কিছু প্যাকেজ পরিচালক (যেমন yumএবং dnfআরপিএমল্যান্ডে) আপনাকে "ইনস্টল ফাইল" বলতে দেয়, তারা সঠিক প্যাকেজটি খুঁজে বের করে এবং এটি ইনস্টল করে।
ভোনব্র্যান্ড

2
আমাদের কাছে এটি কেবল এক্সিকিউটেবল এটিএম ( $ command-not-found foo) এর জন্য রয়েছে। দ্রষ্টব্য যে নিক্স ফাইলগুলি অনুসন্ধান করা (উদাহরণস্বরূপ ctags সহ) সেখানে সাহায্য করবে না। এটি কী ইনস্টল করে তা খুঁজতে আপনাকে বিল্ডটি সম্পাদন করতে হবে।
ভ্লাদিমার অুনাট

কেন? অন্যান্য প্যাকেজ পরিচালকদের কি আসলেই এমন কোনও কার্যকারিতা রয়েছে? আরও "আইডোমেটিক" পদ্ধতিটি হ'ল INSTALLপ্যাকেজটির ফাইল পড়ুন (যার জন্য আপনি পরিবেশ তৈরি করতে চান), প্যাকেজগুলির জন্য Requirements/ Dependenciesবিভাগ যা আপনার আগে ইনস্টল করতে হবে। তারপরে প্যাকেজগুলি সন্ধান করুন nixpkgs। (অন্য কথায়, প্যাকেজ পরিচালকরা ফাইলগুলি নয় এমন প্যাকেজগুলি সম্পর্কে ...)
অ্যান্ড্রু মিলোরাডোভস্কি

3
@ অ্যান্ড্রুমিলোরাডোভস্কি, কারণ কখনও কখনও আপনি একটি কমান্ডের নাম (বা অন্য কোনও ফাইলের নাম) জানেন তবে এটি সরবরাহ করে এমন প্যাকেজের নাম নয়। এবং হ্যাঁ, অন্যান্য প্যাকেজ পরিচালকদের এমন বৈশিষ্ট্য রয়েছে, যেমন yum provides '*/bin/grep'বা dnf provides '*/bin/grepবা apt-file search 'fprintf.3.gz'
maxschlepzig

উত্তর:


9

নিক্স-সূচক আপনার যা প্রয়োজন।

সূচকটি ইনস্টল করুন এবং তৈরি করুন:

nix-env -iA nixos.nix-index
nix-index

অবস্থান libgtk-x11-2.0.so.0:

nix-locate -w libgtk-x11-2.0.so.0

আউটপুট:

(zed.out)                                             0 s /nix/store/bc4mngklj2j7hmm21jra4641x4pm9r8z-node-webkit-env/lib/libgtk-x11-2.0.so.0
(thrust.out)                                          0 s /nix/store/wzg0k4i2cy0qsm3hwxlywxxbga019hbq-env-thrust/lib/libgtk-x11-2.0.so.0
(nwjs_0_12.out)                                       0 s /nix/store/js6klvzjfi5q4djmwb0bqzfb4x0vzm6g-nwjs-env/lib/libgtk-x11-2.0.so.0
(node_webkit_0_11.out)                                0 s /nix/store/30vm6a7bmc56ckl575rqassw60ccxjpg-node-webkit-env/lib/libgtk-x11-2.0.so.0
(mumble_overlay.out)                                  0 s /nix/store/wayx023w1nslqg2z0c5v4n0b4jxn5n06-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0
gnome2.gtk.out                                        0 s /nix/store/3iqchhncghm5s458lzy99c3prfymrnp2-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0

শেষ লাইনটি বলে যে gtk+-2.24.31বৈশিষ্ট্যযুক্ত প্যাকেজটিতে gnome2.gtkএই ফাইলটি রয়েছে।


2

ডকুমেন্টেশনের মাধ্যমে দেখে মনে হচ্ছে এটি করার কোনও সহজ উপায় নেই।

ইয়াম ভিত্তিক ডিস্ট্রো দিয়ে আপনি করতে পারতেন yum provides $fileএবং এপিটি-গেট ডিস্রোতে আপনি অ্যাপ্লিকেশন ইনস্টল করতে পারেন এবং করতে apt-file $fileপারেন তবে আমি এর সমতুল্য দেখতে পাচ্ছি না nix-env -q

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.