ডেবিয়ানে এমন সমস্ত সফ্টওয়্যার প্যাকেজ সন্ধান করা যা একটি নির্দিষ্ট বিকল্প সরবরাহ করে


12

দেবিয়ান ডিস্ট্রিবিউশনে ডেবিয়ান বিকল্প সিস্টেম রয়েছে । উইকি থেকে:

ডেবিয়ান বিকল্প সিস্টেম একাধিক প্রোগ্রামের জন্য একটি উপায় তৈরি করে যা একই বা অনুরূপ ফাংশনগুলি সম্পন্ন করে বিকল্প বাস্তবায়ন হিসাবে তালিকাভুক্ত করা হয় যা একই সাথে ইনস্টল করা হয় তবে একটি নির্দিষ্ট প্রয়োগকে ডিফল্ট হিসাবে চিহ্নিত করা হয়। উদাহরণস্বরূপ, অনেক সিস্টেমে একই সাথে একাধিক পাঠ্য সম্পাদক ইনস্টল করা থাকে। Vi প্রোগ্রামটি এমন একটি সম্পাদকের একটি ক্লাসিক উদাহরণ যা এর অনেকগুলি বাস্তবায়ন যেমন এনভি, এলভিস, ভিম ইত্যাদি but তবে কোনটিকে ডিফল্ট হিসাবে চিহ্নিত করা উচিত?

সাধারণভাবে, দেবিয়ানতে একাধিক প্যাকেজ রয়েছে যা একটি নির্দিষ্ট বিকল্প সরবরাহ করে। ডেবিয়ান সংগ্রহস্থলে উপস্থিত এমন সমস্ত প্যাকেজের সম্পূর্ণ তালিকা কীভাবে পাওয়া যায়? আসুন উদাহরণস্বরূপ vi বিকল্পটি ব্যবহার করি।

দ্রষ্টব্য: ইনস্টল করা প্যাকেজগুলির তালিকার বিরুদ্ধে এই জাতীয় কোয়েরি করা সহজ, তবে এই প্রশ্নটি এটিকে জিজ্ঞাসা করে না।

উত্তর:


9

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

update-alternativesএখানে ব্যবহার করার ক্ষেত্রে সমস্যাটি হ'ল এটি কেবলমাত্র আপনাকে যতটা বলতে পারি ইনস্টল অপশনগুলি দেখায় (এর ম্যান পৃষ্ঠাটি বেশ বিচ্ছিন্ন)।

শিরোনামে উত্থাপিত প্রশ্নের উত্তর দেওয়ার জন্য, যেমন বিকল্প উপলব্ধ সমস্ত ইনস্টল করা প্যাকেজ সন্ধান করুন (ইনস্টল করা আছে কি না) আপনি ব্যবহার করতে পারেন:

aptitude search '?provides(pattern)'

যা সংক্ষেপে বলা যেতে পারে:

aptitude search '~Ppattern'

patternআপনি যে বিকল্পটির সন্ধান করছেন তার সমস্ত বা অংশ কোথায় । নির্দিষ্ট ক্ষেত্রে vi, এটি সত্যিই কাজ করে না। আপনি প্যাকেজ পরিদর্শন তাহলে nviএবং vimসঙ্গে aptitude showবা apt-cache show, আপনি দেখতে করবে তন্ন তন্ন এক তালিকা "চ" তার "প্রদান করে:" এ অধ্যায়। প্রকৃতপক্ষে, এনভিভির বর্ণনায় সেই বিভাগটি পুরোপুরি অনুপস্থিত।

তবে এটি অন্যান্য বিকল্পের জন্য যুক্তিসঙ্গতভাবে ভাল কাজ করে যেমন editor:

$ aptitude search '~Peditor'
p   deutex                         - composition tool for doom-style WAD files
p   edbrowse                       - /bin/ed-alike webbrowser written in C    
p   emacs24                        - GNU Emacs editor (with GTK+ GUI support) 
p   emacs24-lucid                  - GNU Emacs editor (with Lucid GUI support)
p   emacs24-nox                    - GNU Emacs editor (without GUI support)   
p   fte-console                    - Text editor for programmers - console edi
p   fte-terminal                   - Text editor for programmers - version for
p   fte-xwindow                    - Text editor for programmers - X Window Sy
p   jed                            - editor for programmers (textmode version)
p   jove                           - Jonathan's Own Version of Emacs - a compa
p   jupp                           - user friendly full screen text editor    
p   le                             - Text editor with block and binary operati
p   ledit                          - line editor for interactive programs     
p   levee                          - very small vi clone                      
p   mg                             - microscopic GNU Emacs-style editor       
p   nano                           - small, friendly text editor inspired by P
p   nano-tiny                      - small, friendly text editor inspired by P
p   ne                             - easy-to-use and powerful text editor     
p   pluma                          - official text editor of the MATE desktop 
p   rlfe                           - Front-end using readline to "cook" input 
p   rlwrap                         - readline feature command line wrapper    
p   scite                          - Lightweight GTK-based Programming Editor 
p   vigor                          - nvi with the evil paperclip              
p   vile                           - VI Like Emacs - vi work-alike            
p   vim                            - Vi IMproved - enhanced vi editor         
p   vim-athena                     - Vi IMproved - enhanced vi editor - with A
p   vim-gnome                      - Vi IMproved - enhanced vi editor - with G
i   vim-gtk                        - Vi IMproved - enhanced vi editor - with G
p   vim-nox                        - Vi IMproved - enhanced vi editor - with s
i   vim-tiny                       - Vi IMproved - enhanced vi editor - compac
p   xjed                           - editor for programmers (x11 version)     
p   xul-ext-password-editor        - edit password manager entries in Mozilla 
p   xvile                          - VI Like Emacs - vi work-alike (X11) 

যদিও এই নিখুঁত নয়, aptitudeহয়েছে অবিশ্বাস্যভাবে নমনীয় অনুসন্ধান ক্ষমতা ঘন ঘন আপনি প্যাকেজ সঠিকভাবে তালিকা করেন নি সমস্যা যা বিকল্প তারা উদাহরণস্বরূপ provide- ব্যবহার প্রায় কাজ করা যাক করবে "~seditors ~dvi\s"একটি সার্চ প্যাটার্ন হিসাবে "সম্পাদকদের" বিভাগে যার মধ্যে সমস্ত প্যাকেজ তালিকা প্রস্তুত করা যাবে বর্ণনায় "vi" স্ট্রিং রয়েছে।

অন্য বিকল্পটি হ'ল ডেবিয়ানের প্যাকেজ ওয়েবসাইটগুলি ব্যবহার করা , যেখানে ডান দিকের বিভাগে অনুরূপ প্যাকেজগুলি তালিকাভুক্ত করা হয়।


1
উত্তরের জন্য ধন্যবাদ. তবে কী aps ~Peditor? তাহলে apsপ্রবণতা, জরিমানা জন্য একটি সংক্ষিপ্ত কাটা, কিন্তু ব্যবহার করবেন না দয়া করে একটি উত্তর দেয়ার উদ্দেশ্যে করা হচ্ছে, এটা ঠিক দ্বিধায় পরে সবাই হবে। এছাড়াও, যদি আপনি মনে করেন যে সরবরাহগুলি অনুপস্থিত রয়েছে, তবে আপনি সংশ্লিষ্ট প্যাকেজগুলির বিরুদ্ধে একটি বাগ রিপোর্ট ফাইল করতে পারেন।
ফাহিম মিঠা

প্রসঙ্গ থেকে, আমি মনে করি যে apsদাঁড়ানো উচিত aptitude search। তবে আপনার এটি স্পষ্টভাবে ব্যবহার করা উচিত। তবে, আমি মনে করি না যে এটি একটি কার্যক্ষম উত্তর, নির্বিশেষে - এটি কিছু সংশোধন নিয়ে কাজ করবে। aptitude search -Pviঅপ্রাসঙ্গিক স্টাফ একটি লোড দেয়। আমি অনুমান করছি এটি সম্পূর্ণ প্যাকেজের বিবরণ সন্ধান করে।
ফাহিম মিঠা

aptitude search ~P(টিল্ডটি নোট করুন) অনুসন্ধানগুলি কেবল এতে করে Provides, তবে viঅন্যান্য Providesএন্ট্রিগুলির সাথে মেলে ; আপনার সাথে একটি সঠিক ম্যাচ নির্দিষ্ট করা দরকার aptitude search '~P^vi$'। এই উদাহরণটি এই পদ্ধতির সাথে একটি মৌলিক সীমাবদ্ধতা হাইলাইট করেছে: যদিও viবিকল্প আছে, কোনও viভার্চুয়াল প্যাকেজ নেই ...
স্টিফেন কিট

5

এটি নির্ভর করে। এক্স-www-ব্রাউজারের মতো কিছু বিকল্প রয়েছে, কোনও প্যাকেজ ব্যবহার করবেন না এবং আপডেট-বিকল্পগুলিতে রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলির মাধ্যমে যুক্ত করা হয়:

/var/lib/dpkg/info/iceweasel.postinst:    update-alternatives --install /usr/bin/x-www-browser \
/var/lib/dpkg/info/iceweasel.postinst:    update-alternatives --remove mozilla /usr/bin/iceweasel
/var/lib/dpkg/info/iceweasel.postinst:    update-alternatives --install /usr/bin/gnome-www-browser \
/var/lib/dpkg/info/iceweasel.prerm:    update-alternatives --remove x-www-browser /usr/bin/iceweasel
/var/lib/dpkg/info/iceweasel.prerm:    update-alternatives --remove gnome-www-browser /usr/bin/iceweasel
/var/lib/dpkg/info/chromium.postinst:    update-alternatives --install /usr/bin/x-www-browser \
/var/lib/dpkg/info/chromium.postinst:    update-alternatives --install /usr/bin/gnome-www-browser \
/var/lib/dpkg/info/chromium.prerm:    update-alternatives --remove x-www-browser /usr/bin/chromium
/var/lib/dpkg/info/chromium.prerm:    update-alternatives --remove gnome-www-browser /usr/bin/chromium

আবার অনেকে আছেন যা একই বাইনারিটির কোনও সংস্করণ ইনস্টল করতে একক মেটাপ্যাকেজ ব্যবহার করে (জাভা / ওপেনজেআরই প্যাকেজগুলি মনেও আসে init)। অন্যরা "সরবরাহ করে" (এটি সাধারণত ডিপিকেজি ডাটাবেসের বিকল্প হিসাবে আপডেট আসে) পূরণ করে একটি ভার্চুয়াল প্যাকেজ ব্যবহার করে , সেই ক্ষেত্রে, এই প্যাকেজের যে কোনও একটি একই বাইনারি সরবরাহ করা উচিত।

সুতরাং, একটি নির্দিষ্ট ফাইল সরবরাহ করে এমন সমস্ত প্যাকেজ কীভাবে সন্ধান করবেন? আপনি যদি এমন কোনও প্যাকেজ জানেন যা apt-file search fileঅন্য সমস্ত কিছুর জন্য সরবরাহ করে তবে আমি ব্যবহার করব ।


ভিমের উদাহরণ?
ফাহিম মিঠা

1
@ ফাহিমমিঠ ভিম সরবরাহ করে editor
ব্রায়াম

এটা করে. সুতরাং ভিএম এর সাথে কোনও সম্পর্ক নেই এমনগুলি সহ আরও অনেকগুলি প্যাকেজ করুন। সুতরাং, এই ক্ষেত্রে একটি উদাহরণ দেখতে কেমন হবে?
ফাহিম মিঠা

4

ভার্চুয়াল প্যাকেজ এবং ডেবিয়ান বিকল্প সিস্টেম (যা যেখানে বাইনারিগুলি খেলতে আসে) সম্পর্কিত তবে একই নয়। ভার্চুয়াল প্যাকেজগুলির জন্য, আপনি apt-cacheকোন (বাস্তব) প্যাকেজগুলি "সরবরাহ করে" তা খুঁজে পেতে ব্যবহার করতে পারেন :

$ apt-cache showpkg awk
Package: awk
Versions: 

Reverse Depends: 
  base-files,awk
  base-files,awk
Dependencies: 
Provides: 
Reverse Provides: 
mawk:i386 1.3.3-17ubuntu2
gawk:i386 1:4.0.1+dfsg-2.1ubuntu2
original-awk 2012-12-20-1
mawk 1.3.3-17ubuntu2
gawk 1:4.0.1+dfsg-2.1ubuntu2

প্রদর্শন পরিচালকদের জন্য, ভার্চুয়াল প্যাকেজটি হ'ল x-display-manager:

$ apt-cache showpkg x-display-manager
Package: x-display-manager
Versions: 

Reverse Depends: 
  utf8-migration-tool,x-display-manager
  razorqt,x-display-manager
  lxde,x-display-manager
  numlockx,x-display-manager
  ltsp-client-core,x-display-manager
Dependencies: 
Provides: 
Reverse Provides: 
gdm 3.10.0.1-0ubuntu3.1
lightdm 1.10.6-0ubuntu1
kdm 4:4.11.11-0ubuntu0.2
xdm 1:1.1.11-1ubuntu1
wdm 1.28-16
slim 1.3.4-2.1
lxdm 0.4.1-0ubuntu6
kdm 4:4.11.8-0ubuntu6
gdm 3.10.0.1-0ubuntu3
lightdm 1.10.0-0ubuntu3

বিকল্প সিস্টেমটি update-alternativesব্রায়ামের উত্তরগুলি দেখায় যেমন রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলিতে কল করে পরিচালনা করা হয় , এবং বাকী প্যাকেজিং সিস্টেম আনন্দের সাথে এগুলি অজানা। Providesক্ষেত্র থেকে একটি প্যাকেজ পরিষেবা বা লাইব্রেরি, প্রদত্ত নিছক না বাইনেরিতে মাধ্যমে পরিপ্রেক্ষিতে আরেকটি প্রদান করতে পারে, বিকল্প চেয়ে আরও সাধারণ রয়েছেন।

প্যাকেজ রক্ষণাবেক্ষণকারীরা Providesক্ষেত্রের বিকল্পগুলি সম্পর্কে তথ্য যুক্ত না করে (এবং বিকল্পের শেষ পয়েন্টগুলির জন্য ভার্চুয়াল প্যাকেজ তৈরি করা - যেমন vi) এবং প্যাকেজগুলি নিজেরাই তদন্ত না করে প্যাকেজ কোনও বিকল্প সরবরাহ করতে পারে তার এখনও সাধারণ উপায় নেই।


2

কঠোরভাবে প্রশ্নের সাথে সম্পর্কিত, vi বিকল্প খুঁজে পেতে :

 update-alternatives --list editor

আউটপুট:

/bin/ed
/bin/nano
/usr/bin/mcedit
/usr/bin/vim.basic
/usr/bin/vim.tiny

বা:

update-alternatives --config vi

আউটপুট:

There are 2 choices for the alternative vi (providing /usr/bin/vi).



Selection    Path                Priority   Status

------------------------------------------------------------

* 0            /usr/bin/vim.basic   30        auto mode

  1            /usr/bin/vim.basic   30        manual mode

  2            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number:

3
ঠিক আছে, তবে এটি কেবল ইনস্টলড প্যাকেজটির জন্যই কাজ করে। প্রশ্নটি সমস্ত প্যাকেজগুলির জন্য এটি কীভাবে করতে হয় তা জিজ্ঞাসা করে। সম্ভবত আমার প্রশ্নে আরও স্পষ্ট হওয়া উচিত ছিল।
ফাহিম মিঠা

1
সঠিক। তবে আমি আপনার প্রাথমিক পোস্ট আপডেটটি যাচাই করার আগে এটি পোস্ট করেছি ... আপনি যে অংশটি
অ্যান্ডি

ঠিক আছে, আমার কাছে "এই জাতীয় সমস্ত প্যাকেজ" ছিল, যা আমি ভেবেছিলাম পরিষ্কার ছিল, তবে দৃশ্যত তা নয়। এর জন্যে দুঃখিত. যাইহোক, ইউনিক্স.এসএক্স-তে স্বাগতম আমি আপনাকে আজ যোগদানের দেখতে পাচ্ছি।
ফাহিম মিঠা

1

ইন উবুন্টু , প্যাকেজ command-not-foundএকটি ডাটাবেস অনেক বিকল্প ধারণকারী ধারণ করে। ইনস্টলেশনের পরে, এটি দিয়ে অনুসন্ধান করা যেতে পারে /usr/lib/command-not-found --no-failure-msg --ignore-installed mail(এর বিকল্পগুলির তালিকাতে mail)।
সতর্কতা অবলম্বন করুন, আপনি যখন ব্যাশে অনুপস্থিত কমান্ডগুলি সম্পর্কে স্বয়ংক্রিয় পরামর্শগুলি চান না, unset -f command_not_found_handleআপনার ~ / .bashrc এ লিখুন বা বিশ্বব্যাপী সংজ্ঞাটি সরিয়ে দিন /etc/bash.bashrc। (Zsh এর জন্যও একই কাজ করুন))

ইন ডেবিয়ান , এই টুল শুধুমাত্র কার্যক্ষম ফাইল ব্যবহার, ডাটাবেজ তৈরি করতে তাই কোনও বিকল্প পরিচিত হয় (পরীক্ষিত নয়)। সেখানে এটি হিসাবে একই বলে apt-file search ...

উবুন্টু উত্স: https://launchpad.net/command-not-found


আপনি যা পরামর্শ দিচ্ছেন আমি তা অনুসরণ করি না। আপনি আরও স্পষ্ট হতে পারে? বিশেষত /usr/lib/command-not-found /usr/bin/mailদেখে মনে হয় কোনও ধরণের রেসিপি, তবে এটি কী করার কথা তা আমি বুঝতে পারি না। একটি ব্যাখ্যা সহায়ক হবে।
ফাহিম মিঠা

স্পষ্ট করতে কিছু শব্দ যুক্ত করা হয়েছে, এবং /usr/bin/এটি কাজ করে না বলে কমান্ড থেকে অপসারণ করা হয়েছে।
সিমোহে

ঠিক আছে, আমার প্রশ্ন উবুন্টু নয়, দেবিয়ান সম্পর্কে। যদিও আমি বুঝতে পারি না কেন এখানে দেবিয়ান এবং উবুন্টু আলাদা হয়। এবং প্রকৃতপক্ষে আপনার তালিকাভুক্ত কমান্ডটি এখানে কার্যকর কিছু করে না। # /usr/lib/command-not-found mail Command 'mail' is available in '/usr/bin/mail' mail: command not found
ফাহিম মিঠা

উত্তরটি জানায় যে mailইতিমধ্যে ইনস্টল করা আছে। এই চেকটি বিকল্প সহ এড়ানো যায় --ignore-installed। তবে এর পরেও, আপনি আর কোনও তথ্য (ডিবিয়ানে) পাবেন না apt-file search mail
সিমোহে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.