जवाबों:
संपादित करें: मैंने यह जानने के बारे में आपका पिछला बयान नहीं देखा कि आप इसे भूल सकते हैं, यह थोड़ा अजीब है ... मैं इसे यहां छोड़ दूंगा जो कोई भी जानना चाहता है कि यह कैसे करना है। इसके अतिरिक्त मेरे उत्तर के पिछले संस्करण ने काम नहीं किया लेकिन यह संस्करण (कुछ अधिक लंबा होने की कीमत पर) करता है:
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'http://path.to/my.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
आपको शुरुआत में सिर्फ URL को बदलना होगा। यह उबाऊ या बाश फ़ंक्शन के रूप में लिखा जा सकता है।
मुझे लगता है कि इसके आस-पास तकनीकी और सुरक्षा के मुद्दे हैं (आपको स्वचालित अपडेट नहीं मिलते हैं, क्या स्रोत पर भरोसा किया जा सकता है, आदि), लेकिन विशुद्ध रूप से कैन-आई-टू-इट आधार पर, यह काम कर सकता है।
यह एक अस्थायी फ़ाइल बनाए बिना संभव नहीं है । आम तौर पर आप ऐसा करते होंगे
### Does not work
wget --quiet --output-document=- http://example.com/path/to/package.deb | dpkg --install -
या हो सकता है
### Does not work
dpkg --install <(wget --quiet --output-document=- http://example.com/path/to/package.deb)
लेकिन dpkg फाइल को एक्सेस करने के लिए mmap का उपयोग करता है इसलिए न तो काम करता है। इस बारे में एक बग रिपोर्ट है: # 367297
सबसे तेज तरीका इस तरह है। शटर इंस्टॉल करना शुरू करने के लिए क्लिक करें ।
नाम पर क्लिक करने के लिए उपयोग किए जाने वाले URL:
http://packages.ubuntu.com/shutter
... और आइकन पर क्लिक के लिए:
http://apt.ubuntu.com/p/shutter
और हाँ आपको .DEB की स्थापना को पूरा करने के लिए उबंटू सॉफ्टवेयर सेंटर की आवश्यकता है। अन्यथा आपको Nautilus या कमांड लाइन से इंस्टॉलेशन निष्पादित करना होगा।
इसके लिए उपयोग किया जाने वाला पूरा पाठ केवल उबंटू के लिए है ताकि आपको इसे एंकर में सुधारने की आवश्यकता हो:
[shutter](http://packages.ubuntu.com/shutter) [![Install shutter]
(https://i.stack.imgur.com/HjNGK.png)](http://apt.ubuntu.com/p/shutter)
अधिक जानकारी apturl विकि पृष्ठ पर पाई जा सकती है :
1 पैकेज:
a href="apt:package"
कई पैकेज बंडल:
a href="apt:package1,package2,package3"
रिपोजिटरी को सक्षम करना:
apturl apt:freevial?section=universe
इसलिए यदि सॉफ़्टवेयर डिफ़ॉल्ट रूप से सक्षम रिपॉजिटरी में नहीं है तो आपको इसमें 'सेक्शन =' जोड़ना चाहिए। अन्यथा आप इस पद्धति का उपयोग नहीं कर सकते हैं और उपयोगकर्ता को इसे डाउनलोड करने और खुद को स्थापित करने की आवश्यकता है।
आप के साथ कोशिश कर सकते हैं curl
।
फ़ाइल को वर्तमान फ़ोल्डर में डाउनलोड करने और स्थानीय फ़ाइल से इंस्टॉल करने के लिए:
curl -sLO https://apt.puppetlabs.com/puppetlabs-release-precise.deb && sudo dpkg -i puppetlabs-release-precise.deb
या /var/cache/apt/archives/
वहां से डाउनलोड करें और इंस्टॉल करें:
curl -sL -o/var/cache/apt/archives/puppetlabs-release-precise.deb https://apt.puppetlabs.com/puppetlabs-release-precise.deb && sudo dpkg -i /var/cache/apt/archives/puppetlabs-release-precise.deb
--install needs at least one package archive file argument
dpkg-deb: error:
/ dev / fd / 63 'एक डेबियन प्रारूप संग्रह नहीं है'
dpkg: error processing archive puppetlabs-release-precise.deb (--install):
मेरे पास वास्तव में एक स्क्रिप्ट है जो कुछ ऐसा ही करती है:
बस इस स्क्रिप्ट को कॉपी और पेस्ट करें ~/bin
(यदि यह फ़ोल्डर मौजूद नहीं है तो इसे बनाएं):
#!/bin/bash
# ~/bin/dpkg
COUNT=0
for i in $@; do
echo $i | grep http 2>&1 > /dev/null
if [ $? == 0 ]; then
URL="$URL $i"
continue
fi
PASSTODPKG="$PASSTODPKG $i"
done
#Remove beginning and trailing space
URL=$(echo $URL | sed -e 's/^ //g' -e 's/ $//g')
if [ ! -z $URL ]; then
mkdir /tmp/debs
cd /tmp/debs
for i in $URL; do
wget "$i"
done
dpkg $PASSTODPKG /tmp/debs/*.deb
else
dpkg $PASSTODPKG
fi
फिर इसे अंतिम पंक्ति में जोड़ें ~/.bashrc
PATH="~/bin:$PATH"
स्क्रिप्ट के लिए सिर्फ एक आवरण है dpkg
। ~/.bashrc
फ़ाइल की लाइन बताती है bash
कि जब भी आप टाइप dpkg
करेंगे, तो यह ~/bin/dpkg
(स्क्रिप्ट) चलेगी , बजाय /usr/bin/dpkg
।
dpkg
यदि कोई URL नहीं दिया गया है तो स्क्रिप्ट केवल तर्कों को पारित करेगी । स्क्रिप्ट एकाधिक URL का भी समर्थन करती है। यहाँ कुछ उदाहरण हैं जो काम करेंगे:
sudo dpkg -i http://www.example.com/file1.deb
sudo dpkg -i http://www.example.com/file1.deb http://www.example.com/file2.deb
sudo dpkg -i http://www.example.com/file1.deb existing.deb http://www.example.com/file2.deb
sudo dpkg -i existing.deb
lynx
कॉल कर सकते हैं dpkg
(या सॉफ्टवेयर सेंटर, यदि कोई डिस्प्ले उपलब्ध है) और आपके लिए एक डाउनलोड पैकेज स्थापित करने की पेशकश कर सकता है। उदाहरण के लिए, उपयोग करना:
lynx http://archive.ubuntu.com/ubuntu/pool/main/z/zsh/
और .deb
फ़ाइलों में से एक को डाउनलोड करना , निम्न संकेत दिखाया गया है:
Info for debian package '/tmp/user/1000/L11127-6774TMP.udeb':
new debian package, version 2.0.
size 2545218 bytes: control archive=5830 bytes.
857 bytes, 21 lines control
14682 bytes, 169 lines md5sums
225 bytes, 20 lines * postinst #!/bin/sh
Package: zsh-doc
Source: zsh
Version: 5.1.1-1ubuntu1
Architecture: all
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Installed-Size: 5291
Depends: zsh-common (= 5.1.1-1ubuntu1)
Section: doc
Priority: optional
Homepage: http://www.zsh.org/
Description: zsh documentation - info/HTML format
Zsh is a UNIX command interpreter (shell) usable as an
interactive login shell and as a shell script command
processor. Of the standard shells, zsh most closely resembles
ksh but includes many enhancements. Zsh has command-line editing,
built-in spelling correction, programmable command completion,
shell functions (with autoloading), a history mechanism, and a
host of other features.
.
This contains the documentation in GNU info and HTML formats.
Original-Maintainer: Debian Zsh Maintainers <pkg-zsh-devel@lists.alioth.debian.org>
Do you wish to:
- I)nstall the package now,
- S)ave it to a file, or
- Q)uit now
Your choice (I/S/Q)? I
Installation of Debian packages needs to be done as root.
Enter command used to become root (default=sudo):
Installing package...
[sudo] password for bro3886:
(Reading database ... 756955 files and directories currently installed.)
Preparing to unpack .../user/1000/L11127-6774TMP.udeb ...
Unpacking zsh-doc (5.1.1-1ubuntu1) over (5.0.5-4ubuntu1~ubuntu14.04.1) ...
dpkg: dependency problems prevent configuration of zsh-doc:
zsh-doc depends on zsh-common (= 5.1.1-1ubuntu1); however:
Version of zsh-common on system is 5.0.5-4ubuntu1~ubuntu14.04.1.
dpkg: error processing package zsh-doc (--install):
dependency problems - leaving unconfigured
Processing triggers for doc-base (0.10.5) ...
Processing 1 changed doc-base file...
Processing triggers for install-info (5.2.0.dfsg.1-2) ...
Errors were encountered while processing:
zsh-doc
Done. Press <return> to continue:
(शायद मुझे इंटरनेट से यादृच्छिक पैकेज स्थापित करने का प्रयास नहीं करना चाहिए।)
मुझे पता है कि इस प्रश्न का उत्तर देने / पोस्ट किए जाने में कुछ समय लगा है, लेकिन यहां मेरा विनम्र योगदान है :
#!/bin/bash
dir="/tmp/dpkg-get"
url="$1"
file="${url##*/}"
if [ "$EUID" -ne 0 ]
then
echo "Please run as root"
exit
fi
[ -d $dir ] || mkdir $dir
wget -q --show-progress -O "$dir/$file" $url && \
dpkg -i "$dir/$file"
dpkg-get
Pastebin से किसी एक कमांड से कैसे स्थापित करें :
sudo bash -c "wget http://pastebin.com/raw/GWu7qLwK -O- | tr -d '\r' > /usr/local/bin/dpkg-get && \
chmod a+x /usr/local/bin/dpkg-get"
इसका उपयोग कैसे करें (उदाहरण के लिए PowerShell 6 अल्फा स्थापित करने के लिए):
sudo dpkg-get https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.10/powershell_6.0.0-alpha.10-1ubuntu1.16.04.1_amd64.deb
और बस यही।
मुझे पता है कि यह सही नहीं है, लेकिन यह सरल है और यह काम करता है।
याद रखें कि आप जो इंस्टॉल करते हैं और जहां से आप इसे डाउनलोड करते हैं, उससे सावधान रहें।
एसओ जवाब पर आधारित यह एक-लाइनर मेरे लिए Ubuntu 15.04 पर काम किया, जो मेरे वातावरण (64-बिट उबंटू) के लिए जीथब पर नवीनतम परमाणु रिलीज की पहचान करने और फिर इसे स्थापित करने के लिए काम किया:
sudo dpkg -i $(curl -w "%{filename_effective}" -LO $(curl -s https://api.github.com/repos/atom/atom/releases | grep browser_download_url | grep '64[.]deb' | head -n 1 | cut -d '"' -f 4))
यदि आप tmp dir में ऐसा करते हैं, तो जब भी आप अपना tmp फ़ोल्डर खाली करेंगे, डिबेट फ़ाइल साफ़ हो जाएगी। अन्यथा डिस्क स्थान की आवश्यकता होने पर आप मैन्युअल रूप से डिब पैकेज को हटा सकते हैं।
आप /etc/bash.bashrc
इसे निम्नानुसार जोड़ सकते हैं (यह चेन की स्क्रिप्ट से अपग्रेड है):
'dpkg-url'() {
COUNT=0
for package in "${urls[@]}"; do
if [[ $package = *http* ]]; then
urls+=("$package")
fi
dpkg_url="$dpkg_url "$package""
done
# Remove beginning and trailing spaces #
url=$(echo "$url" | sed -e 's/^ //g' -e 's/ $//g')
if [[ ! -z "$url" ]]; then
directory=$(mktemp -d);
trap 'rm -rf "$directory"' EXIT
cd "$directory" || exit
for package in "$url"; do
wget ""$package""
done
dpkg $dpkg_url "$directory"/*.deb
else
dpkg $dpkg_url
fi
}
हालाँकि मैं यह नहीं देखता कि इसे कॉल करते समय मुझे यह त्रुटि क्यों आती है:
dpkg-url -i http://downloads.sourceforge.net/ldview/ldview-4.2-beta1.x64.deb
dpkg: error: need an action option
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
बस मैंने सोचा कि मैं इस पर अपना दो-सेंट दे दूंगा। आप निम्न आदेश का उपयोग करके URL से एक पैकेज स्थापित कर सकते हैं:
wget insert_url_here
एक बार डाउनलोड हो जाने के बाद, आपको एक सुपरयुसर के रूप में dpkg कमांड को चलाने की जरूरत है:
sudo dpkg -i insert_file_name_here
फिर बस उन निर्देशों का पालन करें जो टर्मिनल में प्रस्तुत किए जाते हैं।
dpkg --skip-same-version -i $FILE
अगर यह स्क्रिप्ट से चलाया जा रहा है तो मैं इसका उपयोग करने का सुझाव भी दूंगा। यहाँ अधिक जानकारी - manpages.debian.org/unstable/dpkg/dpkg.1.en.html