Редактировать: Я не видел вашего предыдущего заявления о том, что вы знаете, что можете wget, так что это немного неловко... Я оставлю это здесь для всех, кто хочет знать, как это сделать. Кроме того, предыдущая версия моего ответа не работала, но эта версия (за счет того, что она несколько длиннее) работает:
Вам просто нужно изменить URL-адрес в начале. Это может быть псевдоним или записано как функция bash.
Я понимаю, что с этим связаны технические проблемы и проблемы безопасности (вы не получаете автоматических обновлений, можно ли доверять источнику и т.д.), Но на основе чисто "могу ли я это сделать" это может сработать.
Самый быстрый способ выглядит следующим образом. Нажмите, чтобы начать установку затвор.
URL-адреса, используемые для нажатия на название:
http://packages.ubuntu.com/shutter
... и для щелчка по значку:
http://apt.ubuntu.com/p/shutter
И да, вам нужен Ubuntu Software Center, чтобы завершить установку файла .DEB. В противном случае вам придется выполнить установку из Nautilus или командной строки.
Полный текст, используемый для этого, предназначен только для Ask Ubuntu, поэтому вам нужно переформатировать его в якорь:
Поэтому, если программное обеспечение не находится в репозитории, включенном по умолчанию, вы должны добавить к нему 'section='. В противном случае вы не сможете использовать этот метод и потребуете, чтобы пользователь скачал его и установил самостоятельно.
На самом деле у меня есть скрипт, который делает что-то подобное:
Просто скопируйте и вставьте этот скрипт в ~/bin (создайте эту папку, если она не существует):
#!/bin/bash# ~/bin/dpkgCOUNT=0for 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 spaceURL=$(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/*.debelse dpkg $PASSTODPKGfi
Затем добавьте это в последнюю строку в ~/.bashrc
PATH="~/bin:$PATH"
Сценарий - это просто оболочка для dpkg. Строка в ~/.bashrc файл сообщает bash что всякий раз, когда вы печатаете dpkg, он будет работать ~/bin/dpkg (сценарий), а не /usr/bin/dpkg.
Сценарий просто передаст аргументы в dpkg если URL-адрес не указан. Скрипт также поддерживает несколько URL-адресов. Вот несколько примеров, которые будут работать:
lynx может позвонить dpkg (или Центр программного обеспечения, если дисплей доступен) и предложите установить загруженный пакет для вас. Например, используя:
И загрузив один из .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 nowYour choice (I/S/Q)? IInstallation 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 unconfiguredProcessing 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-docDone. Press <return> to continue:
(Возможно, мне не следует пытаться устанавливать случайные пакеты из Интернета.)
Этот однострочный текст, основанный на ответ SO работал для меня в Ubuntu 15.04, чтобы определить последнюю атом опубликуйте на github для моей среды (64-разрядная Ubuntu), а затем установите ее:
Если вы сделаете это в каталоге tmp, файл deb будет очищаться всякий раз, когда вы очищаете свою папку tmp. В противном случае вы можете вручную удалить пакет deb, если вам нужно место на диске.
Вы можете добавить его к /etc/bash.bashrc как следует (это обновление по сравнению со сценарием Чена):
'dpkg-url'() {COUNT=0for 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"/*.debelse dpkg $dpkg_urlfi}
Хотя я не понимаю, почему я получаю эту ошибку при вызове ее следующим образом:
dpkg-url -i http://downloads.sourceforge.net/ldview/ldview-4.2-beta1.x64.debdpkg: error: need an action optionType 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' !