কোন ব্রিউ প্যাকেজ প্রদত্ত ফাইল সরবরাহ করে তা কীভাবে নির্ধারণ করবেন?


12

কোন brewপ্যাকেজ কোনও প্রদত্ত ফাইল সরবরাহ করে তা আবিষ্কার করার কোনও উপায় আছে (যেমন apt-fileউবুন্টু বা pkgfileআর্কের মতো)?

আমি স্থানীয়ভাবে ইনস্টল হওয়া প্যাকেজটি আমার সিস্টেমে একটি ফাইলের মালিকানা অনুসন্ধানের বিষয়ে কথা বলছি না, আমার একটি নির্দিষ্ট ফাইল রয়েছে যা আমার ইনস্টল করা দরকার ( /usr/local/lib/libboost_python.dylibনির্দিষ্ট হওয়ার জন্য) এবং কোন ফাইলটি রিমোট প্যাকেজ সরবরাহ করবে তা জানতে চাই।


ফাইলটি boostযতক্ষণ না আপনি এটি কনফিগার করেন ততক্ষণ সরবরাহ করা হয় --with-python। কোন ফাইলের মাধ্যমে কোন ফাইলগুলি সরবরাহ করা হয় সেগুলি অনুসন্ধান করার কোনও উপায় ছিল কিনা তা এখনও জানতে
পেরে ভাল লাগবে

FWIW এটি এখন boost-pythonপরিবর্তে সরবরাহ করা হয়।
টিম স্মিথ

উত্তর:


6

এখানে নেই. হোমব্রিউ-তে কোনও কিছুই প্যাকেজ ইনস্টল করার অনুমতিপ্রাপ্ত বা প্রত্যাশিত ফাইলগুলির একটি তালিকা বজায় রাখে না।



4

যদিও সেখানে নেই কার্যক্ষম-অনুসন্ধান টুল মত এক প্রকাশ্য homebrew প্যাকেজ করে একটি ফাইল প্রদান করতে পারে এটি করতে সক্ষম হবেন যে, অনেক চোলাই প্যাকেজ Linux অথবা UNIX সহযোগীর উপর ভিত্তি করে। প্রয়োজনীয় প্যাকেজটি খুঁজতে আপনি ডেবিয়ান প্যাকেজ ওয়েবসাইটটি অনুসন্ধান করতে পারেন।

প্যাকেজ সন্ধানের উদাহরণ যা ফাইলটি গোকানভাস.পিসি সরবরাহ করে

https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=contents&keywords=goocanvas.pc

রিটার্নস libgoocanvas-দেব

brew searchলাইবগোক্যানভাস-দেব বা লাইবোগোকানভাসের কোনও ফলাফল নেই তবে এটির একটি গোকানভাস প্যাকেজ রয়েছে।

আপনি ineedনিম্নলিখিত হিসাবে একটি কমান্ড সংজ্ঞায়িত করতে পারেন যা debian.org থেকে একটি তালিকা ফিরে আসবে ineed goocanvas.pc:

ineed() {
echo -en $(echo \
    $(curl -s "https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=contents&keywords=$1") \
       | sed 's%</*tr>%\\n%g') \
    | grep 'class="file"' \
    | sed 's/<[^>]*>//g' \
    | column -t \
    | grep --color -i -w "$1"
}

0

যদিও brewকোনও নির্দিষ্ট ফাইল অনুসন্ধানের জন্য অন্তর্নির্মিত কমান্ড না থাকলেও আপনি উত্তরটি পেতে brew listএবং এর সংমিশ্রণটি ব্যবহার করতে পারেন brew list <formula>। এটি কিছুক্ষণ সময় নেয় তবে আপনি যদি কিছু ক্লিনআপ করছেন এবং এই ধরণের প্রশ্নের উত্তর একাধিকবার দিতে হয় তবে আপনি যা করতে পারেন তা আমি মাঝে মাঝে করতে পারি: প্যাকেজ দ্বারা ফাইলগুলির একটি ক্যাটালগ তৈরি করুন:

#!/bin/sh
# make a catalog of Homebrew-installed packages by package
brew list |\
  while read formula; do
    brew list $formula |\
    while read file; do
      echo -e "$formula\t$file" # need -e to expand \t
    done
done

যদি আপনি এই স্ক্রিপ্টটির আউটপুট কোনও ফাইলের দিকে পুনর্নির্দেশ করেন তবে আপনি এটি প্যাকেজটি অনুসন্ধানের জন্য ব্যবহার করতে পারেন যা আগ্রহের ফাইল সরবরাহ করে।


এটি ভাল, তবে এটি বর্তমানে ইনস্টল করা প্যাকেজগুলি অনুসন্ধান করে। প্রশ্নটি ইনস্টল না থাকা প্যাকেজগুলি অনুসন্ধান করার বিষয়ে জিজ্ঞাসা করছে ।
বুরহান আলী

-1

binঠিক এই উদ্দেশ্যে আমার ডিরেক্টরিতে আমার ওয়ান-লাইনার রয়েছে :

$ cat ~/bin/brewpkg

#!/bin/bash
which -s $1 ; if [ $? -eq 0 ] ; then ls -lF `which $1` | sed -n 's/^.*\/Cellar\/\([^\/]\{1,\}\)\/.*$/\1/ p' ; fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.