রিপোজিটরিগুলি থেকে বর্তমান ডিরেক্টরিতে একটি ডেব ফাইল ডাউনলোড করার জন্য কোন অ্যাপ্ট কমান্ড রয়েছে?


46

আমি প্রায়শই ইনস্টলেশন ট্রিগারগুলিতে (পোস্টিনস্ট, পোস্টআরএম) বা প্যাকেজের কিছু অংশে (যেমন /usr/shareএবং /etc) আগ্রহী। বর্তমানে, আমি উত্স কোডটি পুনরুদ্ধার করার জন্য পরবর্তী কমান্ডটি চালাচ্ছি:

apt-get source [package-name]

খারাপ দিকটি হ'ল, এই ফাইলটি প্রায়শই বাইনারি প্যাকেজের চেয়ে অনেক বড় এবং ইনস্টলেশন ট্রি প্রতিফলিত করে না।

এখনই, আমি প্যাকেজগুলি http://packages.ubuntu.com/ এর মাধ্যমে ডাউনলোড করছি :

  1. সন্ধান করা [package-name]
  2. প্যাকেজটি নির্বাচন করুন
  3. ডাউনলোডের জন্য amd64 / i386 এ ক্লিক করুন
  4. আসল ফাইলটি ডাউনলোড করুন

এটি আমার পক্ষে খুব দীর্ঘ সময় নেয় এবং যে কেউ সত্যিকারের শেলটি পছন্দ করেন, আমি পরবর্তী ( কল্পিত ) আদেশের মতো কিছু করতে চাই :

apt-get get-deb-file [package-name]

আমি এ্যাপ-গিও ম্যানুয়াল পৃষ্ঠাতে এর মতো কিছু খুঁজে পাইনি । সর্বাধিক নিকটস্থ আমি --download-onlyস্যুইচটি পেয়েছি , তবে এটি প্যাকেজটি রাখে /var/cache/apt/archives(যার জন্য রুট অনুমতি প্রয়োজন) এবং বর্তমান ডিরেক্টরিতে নয়।


ফাইল সংরক্ষণ না করে মেশিনে পার্থক্য: ssh debianmachine1 "dpkg --get-Seferences" | ভিন্ন - <(dpkg --get-Seferences)
— স্কট রবার্ট শ্রেকেনগাস্ট

আপনি debgetপ্যাকেজ থেকে ব্যবহার করতে পারেন debian-goodies।
— শায়ান

উত্তর:


59

আপনি , বা এর downloadসাব-কমান্ড ব্যবহার করতে পারেন । উদাহরণস্বরূপ, যদি $ PKG আপনার পছন্দসই প্যাকেজ হয় তবে এর যে কোনও একটি এটি করবে:aptapt-getaptitude

apt-get download $PKG
apt download $PKG
aptitude download $PKG

এর জন্য রুট সুবিধার দরকার নেই। একইটি ব্যবহার করে apt-getএবং প্রায় wget:

wget $(apt-get install --reinstall --print-uris -qq $PKG | cut -d"'" -f2)

এটি অবশ্য প্যাকেজ ইনস্টল করতে প্রয়োজনীয় সমস্ত প্যাকেজ আনবে, আপনি পরিবর্তে এটি সীমাবদ্ধ করার চেষ্টা করতে পারেন:

wget $(apt-get install --reinstall --print-uris -qq $PKG | cut -d"'" -f2 | grep "/${PKG}_")

প্যাকেজ হিসাবে প্যাকেজের নাম সহ কমান্ড অ্যাপ-ডাউনলোড হিসাবে এটি ব্যবহার করতে সক্ষম হতে আপনি কোনও ফাংশনে উইজেট লাইন রাখতে পারেন:

function apt-download { wget -c $(apt-get install --reinstall --print-uris -qq $1 | cut -d"'" -f2); }

পরিবর্তনগুলি দ্রষ্টব্য: $ PKG $ 1 দিয়ে প্রতিস্থাপন করা হয়েছে এবং -c প্যারামিটার অব্যাহত বাধা ডাউনলোডগুলি সক্ষম করে।


1
দুর্দান্ত, আমি এটিই সন্ধান করছি। আমার সিস্টেমে প্রবণতা রাখার আরেকটি কারণ, অন্যান্য দরকারী কমান্ড যে দ্বারা উপলব্ধ না aptহয় aptitude changelog $PKG।
— লেকেনস্টেইন

4
আপডেট করুন: Natty থেকে (কার্যক্ষম সংস্করণ 0.8.11 ভালো হবে), aptitude downloadবৈশিষ্ট্য পাওয়া যায় aptপাশাপাশি: apt-get download $PKG।
— লেকেনস্টেইন

মিষ্টি, আমার প্রাচীন এপিটি সত্ত্বেও কাজ করে v0.8.10
— রজারডপ্যাক

দেখে মনে হচ্ছে তারা
— প্রিন্ট


8
sudo apt-get -o dir::cache::archives="/path/to/folder/" -d install package

বিঃদ্রঃ:

গন্তব্য ফোল্ডারে আপনাকে আংশিক নামে একটি ফোল্ডার তৈরি করতে হবে।


খারাপ লাগে না। বিকল্পগুলি বর্ণিত বলে মনে হচ্ছে man apt.conf। আমি ফোল্ডারটি তৈরি করা এড়াতে চাই।
— লেকেনস্টেইন

আমি শুধু কৌতূহলী, আপনি ফোল্ডার তৈরি করা এড়াবেন কেন?
— Mount.cifs

আমার চিরতরে প্যাকেজটি সংরক্ষণ করার দরকার নেই এবং ফোল্ডারটি তৈরি করা এড়াতেও সময় সাশ্রয় করে।
— লেকেনস্টেইন

কেবলমাত্র দ্রষ্টব্যই চেয়েছিলেন যে এই সমাধানটি প্যাকেজ অপসারণের জন্যও জোর দেবে (উদাহরণস্বরূপ, যদি আপনি /etc/apt/sources.listপরবর্তী প্যাকেজগুলি ডাউনলোড করার অভিপ্রায় সহ কোনও নতুনের মাধ্যমে সংস্করণ পরিবর্তন করেন ) - এই ক্ষেত্রে, wgetউপরের পদ্ধতিটি আরও কার্যকর হতে পারে, আপনি যদি ডন না করেন কোনও কিছু মুছতে চাই না ...
— sdaau

5

উবুন্টু 14.04 এ ( aptপ্যাকেজ সংস্করণের 1.0.1ubuntu2, আমি বিশ্বাস করি), apt-getঅন্তর্ভুক্ত downloadকমান্ড হিসেবে দেওয়া প্যাকেজ ডাউনলোড করতে .debবর্তমান ডিরেক্টরির মধ্যে।

উদাহরণস্বরূপ, ধরুন আমরা ফাইল ম্যানেজারটি ডাউনলোড করতে চাই Ranger:

$ apt-get download ranger

ফলাফল স্বরূপ:

$ ls . | grep ranger
ranger_1.6.0-1_all.deb

এটি নিখুঁত। অন্যান্য apt installনির্ভরযোগ্যতাগুলির সমস্ত প্রয়োজনীয়তা পূরণ করতে না পারলে আমি চেষ্টা করেছি এমন সমস্ত সমাধান কাজ করে না। আমি শুধু টিঙ্কিংয়ের জন্য .deb ফাইলটি চেয়েছিলাম!
— রাজিয়েল

3

আপনি যদি কোনও তালিকা থেকে সমস্ত ডিবে প্যাকেজ ডাউনলোড করতে চান তবে আপনি এটি করতে পারেন:

cat path/to/text/file.txt | xargs apt-get install --reinstall --print-uris -qq $PKG | cut -d"'" -f2 | xargs wget

প্রতি লাইনে একটি প্যাকেজের নাম দিন। প্রয়োজনীয়তা.এসটিএসটি ফাইলের মতো। উদাহরণস্বরূপ, এর মতো সামগ্রী সহ:

apache2-mpm-event
curl
dmidecode
ethtool
libapache2-mod-wsgi
libapache2-mod-python

আশাকরি এটা সাহায্য করবে. ;)


2

sudo apt-get install devscripts

dget [package-name]


এটি প্রশ্নের উত্তর দেয় না। কোনও লেখকের সমালোচনা বা স্পষ্টতার জন্য অনুরোধ জানাতে, তাদের পোস্টের নীচে একটি মন্তব্য দিন leave
— s3lph

কীভাবে এটি কোনও উত্তর সরবরাহ করে না? এটি সংরক্ষণাগার থেকে বর্তমান ডিরেক্টরিতে একটি ডেব ডাউনলোড করে। প্রশ্নটি কি ঠিক তাই ছিল না?
— মাইকেল টেরি

আরও কিছু বিশদ দরকারী হতে পারে। এটি প্রযুক্তিগতভাবে একটি উত্তর হিসাবে যোগ্যতা অর্জন করার পরেও আপনি আরও দুটি কমান্ড সরবরাহ করতে চাইতে পারেন।
— s3lph

:: শ্রাগ :: এখানে অন্যান্য উত্তরগুলির মতো নয়, এইটির কোনও প্রোভিসো বা ক্যাভ্যাট নেই। এটি একটি সহজ প্রশ্নের সহজ উত্তর।
— মাইকেল টেরি

0

/var/cache/apt/archivesবিশ্বের পাঠযোগ্য। এর পরে apt-get -d, এটিকে সেখান থেকে আপনার হোম ডিরেক্টরিতে সরিয়ে ফেলুন। dpkg -e /var/cache/apt/archives/foo_version.deb fooআপনার হোম ডিরেক্টরিতে থাকাকালীন চালান এবং নিয়ন্ত্রণ ফাইলগুলিতে ফেলা হবে foo/।


আমি মনে করি এই পদ্ধতির সমস্যাটি হ'ল ডাউনলোডের জন্য এখনও প্রশাসনিক সুবিধাগুলি প্রয়োজন। আপনার বাড়ির ডিরেক্টরিতে একটি ফাইল পেতে কেবল এই জাতীয় চূড়ান্ত দিকে যাওয়া নির্বোধ বলে মনে হয়।
— ündrük

.Debs খুলতে সমস্যা হয় না, এটি ডাউনলোড করা। এটি একটি বাগ বা নাও হতে পারে, তবে / var / cache / apt / সংরক্ষণাগারসমূহের প্যাকেজগুলি উমাস্ক দ্বারা প্রভাবিত হয়। আমি 027 এর একটি উমাস্ক সেট করেছি এবং অতএব, প্যাকেজগুলি /var/cache/apt/archivesআমার দ্বারা পড়া যায় না। যেহেতু আমার কেবল প্যাকেজ বিষয়বস্তুগুলি পরীক্ষা করা দরকার, আমি কেবল এটি একবারে ডাউনলোড করতে হবে: থেকে /tmp।
— লেকেনস্টেইন

0

আপনি debgetপ্যাকেজ অন্তর্ভুক্ত কমান্ড ব্যবহার করতে পারেন debian-goodies।

এটি দিয়ে এটি ইনস্টল করুন:

sudo apt install debian-goodies

প্যাকেজগুলি ব্যবহার করে ডাউনলোড করুন:

debget <package_name>

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

debget debian-goodies

যা debian-goodies_0.79_all.debআপনার বর্তমান ডিরেক্টরিতে ডাউনলোড করবে ( pwdআপনার বর্তমান ওয়ার্কিং ডিরেক্টরি মুদ্রণের জন্য করুন)।


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