По сути, я хочу «пакетно» загрузить файл .deb и все его зависимости сразу на компьютере с Windows 7 (к которому у меня нет доступа администратора, это общедоступный компьютер). Я видел множество Ubuntu на основе исправлений, которые требуют терминала и apt, я спрашиваю, как это сделать на Windows. (Я не уверен, подходит ли этот вопрос здесь, но я больше нигде не смог его найти.)
Я пробовал Keryx и Sushi-huh, чтобы попытаться получить пакеты и их зависимости, но оба они требует Python, Python не может быть нормально установлен без разрешения администратора. (Примечание: я думаю, что я видел, как программы связывают python, чтобы они могли работать без установки его в c :, это возможно в качестве обходного пути? Google не помогает)
Если кто-то хочет знать, что я ' я пытаюсь загрузить Krita и Blender для Ubuntu 12.10 / AMD64
Мне удалось вручную загрузить отдельные файлы .deb и их зависимости до 38 зависимых пакетов, но затем эти 38 пакетов зависят от других пакетов. У меня нет способа автоматически сделать это в Windows.
* Edit Извините, я забыл прояснить, что мой персональный домашний компьютер работает под управлением Ubuntu 12.10, а общедоступный компьютер, который я использую для загрузки, - это Windows 7
Вы можете сгенерировать файл с помощью скрипта загрузки с помощью synaptic, выбрать ваши пакеты и нажать «Файл -> Создать скрипт загрузки пакета», подробнее см. ubuntu / PackageDownloadScript , сгенерировать файл, например: [ 115]
#!/bin/sh
wget -c http://ftp.usf.edu/pub/ubuntu/pool/universe/i/ibm-3270/3270-common_3.3.10ga4-2build2_amd64.deb
удалите #!/bin/sh
и wget -c
для получения только URL-адресов, а с новым файлом вы можете скачать его в любой операционной системе, в Windows 7 вы можете использовать wget для Windows [ 116]
Я должен был сделать это на днях; во-первых, запустите
$ apt-get install -y (yourpackage) --print-uris > dependencies
Вам не нужны привилегии sudo
для этого, поскольку ничего не установлено.
Используя ваш любимый текстовый редактор, вы можете затем удалить первые несколько строк файла dependencies
, которые выглядят примерно так
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: ncurses-term ssh-import-id Suggested packages: rssh molly-guard openssh-blacklist openssh-blacklist-extra monkeysphere The following NEW packages will be installed ncurses-term openssh-server ssh-import-id 0 upgraded, 3 newly installed, 0 to remove and 26 not upgraded. Need to get 771 kB of archives. After this operation, 3,056 kB of additional disk space will be used.
, а затем использовать sed
, чтобы удалить ненужный контент, который просто оставьте вас с URL:
$ sed -i 's/ .*//' "dependencies"
и, наконец, используйте wget
, чтобы загрузить все эти зависимости
$ wget -i dependencies
Я использовал apt-cache depends package
для получения всех необходимых пакетов в любом случае , если уже установлены в системе или нет . Так что это будет работать всегда правильно.
Поскольку команда apt-cache работает по-разному, в зависимости от языка, вы должны попробовать эту команду в своей системе и адаптировать команду. apt-cache зависит от вашего пакета
В английской системе вы получаете:
$ apt-cache depends yourpackage
node
Depends: libax25
Depends: libc6
В немецкой системе вы получаете: node
Hängt ab von: libax25
Hängt ab von: libc6
Английская версия с термином:
"Depends:
"
Вы должны изменить термин "yourpackage
" на ваше желание дважды в этой команде, принять заботиться об этом!
$ sudo apt-get --print-uris --yes -d --reinstall install yourpackage $(apt-cache depends yourpackage | grep " Depends:" | sed 's/ Depends://' | sed ':a;N;$!ba;s/\n//g') | grep ^\' | cut -d\' -f2 >downloads.list
И немецкая версия с термином:
"Hängt ab von:
"
Этот текст дважды используется в этой команде, если вы хотите адаптировать его к своему языку, позаботьтесь об этом!
Вы должны изменить термин «yourpackage
» на ваше желание дважды в этой команде, позаботьтесь этого!
$ sudo apt-get --print-uris --yes -d --reinstall install yourpackage $(apt-cache depends yourpackage | grep "Hängt ab von:" | sed 's/ Hängt ab von://' | sed ':a;N;$!ba;s/\n//g') | grep ^\' | cut -d\' -f2 >downloads.list
Вы получаете список ссылок в downloads.list
Проверьте список, перейдите в папку и запустите список:
$ cd yourpathToYourFolder
$ wget --input-file downloads.list
Все необходимые пакеты находятся в:
$ ls yourpathToYourFolder