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


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.