আমি কীভাবে একটি নির্দিষ্ট প্যাকেজের জন্য সমস্ত বিল্ড নির্ভরতা অপসারণ করতে পারি?


10

আমি যখন উবুন্টু / ডেবিয়ানের উত্স থেকে কিছু সংকলন করতে চাই, আমি সাধারণত sudo apt-get build-dep PACKAGE_NAMEটার্মিনালে " " চালনা করে বিল্ড-নির্ভরতা পাই ।

সংকলনের কাজটি শেষ হয়ে গেলে তারা (সাধারণত) অকেজো হয়।

সুতরাং, আমি কীভাবে একটি নির্দিষ্ট প্যাকেজের সমস্ত বিল্ড-নির্ভরতা অপসারণ করব?

উত্তর:


5

আপনি apt-cache showsrc pkgnameযে প্রোগ্রাম চালাতে পারেন তার বিল্ড-নির্ভরতাগুলি অনুসন্ধান করতে এবং এটি অন্যান্য তথ্যের মধ্যে তালিকাবদ্ধ করবে Build-Dependsযা প্রায়শই ফাইলগুলি অন্তর্ভুক্ত থাকে -dev; যদিও এটি পরীক্ষা করার মতো যে কোনও ফাইল (বিশেষত চিহ্নিত নয় -dev) অন্যান্য প্রোগ্রামের জন্য প্রয়োজনীয় কিনা। আপনি এটি ব্যবহার করে apt-cache depends fileএবং এটি খুঁজে পেতে পারেন apt-cache rdepends file। নিম্নলিখিত উদাহরণটি হ'ল Shotwell:

apt-cache showsrc shotwell

বিল্ড-নির্ভর করে: ডিবেহেল্পার (> = 7.0.50 ~), এম 4, ভালাক-0.16 (> = 0.15), লিবিজি-দেব (> = 0.5.0), লিবগটক -3-দেব (> = 3.0.11), লিক্সেক্সিফ -দেব (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxML2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), লিবগুদেভ -১.০-দেব (> = 145), লিবডবাস-গ্লিব -১-দেব (> = 0.80), গ্রন্থাগার-দেব (> = 0.13.1-2), লিবসব-দেব, লিবজসন-গ্লিব -দেব (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-plugins-base0.10-dev (> = 0.10.32), পাইথন-স্কোর, লিবিউনিটি-দেব, লিবলঞ্চপ্যাড- ইন্টিগ্রেশন-3.0-দেব (> = 0.1.36), লিবারেস্ট-দেব

ওয়েবআপডি 8 সাইটে একবারে এটি করার জন্য একটি কমান্ড রয়েছে , তবে আমি পেয়েছি যে উবুন্টুর বর্তমান সংস্করণটি এটি খুব বেশি সরিয়ে ফেলবে বলে বিশ্বাসযোগ্যভাবে কাজ করছে বলে মনে হচ্ছে না । আমি এটি পিন্তার সাথে চেষ্টা করেছিলাম এবং এটি পুরো মনো লাইব্রেরিটি সরিয়ে দেওয়ার পরামর্শ দিয়েছিল। লঞ্চপ্যাডে ওয়েবআপড ৮ এর মতো কমান্ড ব্যবহার করে এ জাতীয় সমস্যা নিয়ে আলোচনা রয়েছে । আপনি যে কোনও 'সমাধান' খুঁজে পেতে পারেন তার পরীক্ষা-নিরীক্ষা করার সময় খুব সতর্ক থাকুন।

এটি লজ্জার বিষয় যে ইনস্টল করা প্যাকেজগুলির autoremoveজন্য কোনও আদেশ নেই build-dep


1
আমি প্রবণতা পদ্ধতি চেষ্টা করেছি এবং হ্যাঁ, আপনি ঠিক বলেছেন, এটি অনেক বেশি সরিয়ে দেয় ... ক্রস-নির্ভরতার কারণে। পরস্পর mothod আমি দেখেছি (বিল্ড-প্রস্থাঃ কমান্ড ব্যবহার করার সময়) নিম্নলিখিত বিকল্প পাস করা: sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME। এখন এগুলি দিয়ে সরানো যেতে পারে apt-get autoremove। তবে এটি কেবল প্যাকেজ মুছে ফেলার পরে কাজ করে।
খুরশিদ আলম

2
যাইহোক, আমি কেবল শিখেছি যে এটি করার সঠিক উপায়টি ব্যবহার করছে pbuilder। সুতরাং নির্ভরতা ইনস্টল / আনইনস্টল করার বিষয়ে কারওই চিন্তা করতে হবে না।
খুরশিদ আলম

6

টাম্বলওয়েড লিখেছেন :

ভবিষ্যতের জন্য, আমি mk-build-depsপরিবর্তে ... পরিবর্তে ব্যবহার করার পরামর্শ দিচ্ছি aptitude build-dep। এটি আপনার সিস্টেমে বিল্ড-ডিপগুলিতে [যার নির্ভরতা রয়েছে] একটি প্যাকেজ রেখে দেয় যা আপনি পরে সহজেই আনইনস্টল করতে পারেন।

mk-build-deps সঙ্গে ইনস্টল করা যাবে sudo apt install devscripts


4

বিকল্প 1:

মনে রাখবেন কোন প্যাকেজগুলি ইনস্টল হয়েছিল sudo apt-get build-dep PACKAGE_NAMEএবং বিল্ডিংয়ের পরে সেগুলি সরিয়ে ফেলুন।

বিকল্প 2:

apt-cache showsrc বিল্ড-নির্ভরতার একটি তালিকা সহ উত্স প্যাকেজগুলি সম্পর্কে প্রচুর তথ্য দেয়।

apt-cache showsrc PACKAGE_NAME

উদাহরণ স্বরূপ:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
 cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra

এই বিকল্পটির সাথে ঝুঁকিটি হ'ল আপনি প্যাকেজ্যাগ তৈরি করার পাশাপাশি কোনও প্যাকেজ মুছে ফেলতে পারেন । এগিয়ে যাওয়ার আগে সরিয়ে ফেলা প্যাকেজগুলির তালিকাটি কেবল পড়ুন।

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