Вопрос: Обновление и установка пакетов через командную строку Cygwin?


Я слепой пользователь компьютера, который использует Cygwin.

Программа установки не очень доступна: обновление, установка и удаление определенных пакетов довольно сложно, так как вы должны использовать имитируемые нажатия клавиш мыши, чтобы щелкнуть и прокрутить.

Есть ли способ вручную установить / обновить пакеты или установить / обновить их через командную строку?


109
2017-09-13 15:48


Источник




Ответы:


устанавливать кв-Лебедь:

lynx -source https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

После этого вы сможете установить, скажем, пакет «lynx», включая зависимости, запустив:

apt-cyg install lynx

119
2017-09-14 17:29



В репозитории нет переехал : жалоба DMCA была выпущен againt transcode-open / apt-cyg. Кстати, пользователь Github svnpenn одновременно создал вилку под названием «шалфей», заявив, что является ее преемником - Lucas Cimon
Обновленная ссылка для контрмера DMCA ... вилка svnpenn / sage - Abdull
Я должен был chmod + x apt-cyg, чтобы он исполнялся (на всякий случай это помогает кому-то) - Pedro A


Поскольку некоторые люди правильно заявили, что apt-cyg сам нуждается в wget и для того, чтобы получить apt-cyg вам нужно wget, есть только решение bash для загрузки wget в чистом баше.

Создайте такую ​​функцию в своей оболочке bash bash:

function __wget() {
    : ${DEBUG:=0}
    local URL=$1
    local tag="Connection: close"
    local mark=0

    if [ -z "${URL}" ]; then
        printf "Usage: %s \"URL\" [e.g.: %s http://www.google.com/]" \
               "${FUNCNAME[0]}" "${FUNCNAME[0]}"
        return 1;
    fi
    read proto server path <<<$(echo ${URL//// })
    DOC=/${path// //}
    HOST=${server//:*}
    PORT=${server//*:}
    [[ x"${HOST}" == x"${PORT}" ]] && PORT=80
    [[ $DEBUG -eq 1 ]] && echo "HOST=$HOST"
    [[ $DEBUG -eq 1 ]] && echo "PORT=$PORT"
    [[ $DEBUG -eq 1 ]] && echo "DOC =$DOC"

    exec 3<>/dev/tcp/${HOST}/$PORT
    echo -en "GET ${DOC} HTTP/1.1\r\nHost: ${HOST}\r\n${tag}\r\n\r\n" >&3
    while read line; do
        [[ $mark -eq 1 ]] && echo $line
        if [[ "${line}" =~ "${tag}" ]]; then
            mark=1
        fi
    done <&3
    exec 3>&-
}

Теперь вы можете использовать его почти как wget:

__wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg > /usr/bin/apt-cyg && chmod 0755 /usr/bin/apt-cyg

22
2017-10-30 21:58



Извините, @moreaki, но есть одна вещь, которую я не могу понять из apt-cyg: в классическом установщике Windows CygWin я могу / должен указать местоположение репозиториев / пакетов, будь то одна из (ftp / http) загрузки сайтов или локального диска (на моем компьютере). Я не вижу такой вариант на официальном сайте googlecode. Где же apt-cyg скачать пакеты? - Sopalajo de Arrierez
Простите мой поздний ответ. Я просто просмотрел код apt-cyg на официальном сайте googlecode, и мне кажется, что выбранный сайт загрузки, похоже, http://mirrors.kernel.org/sourceware/cygwin, как указано в findworkspace(), если вы не указали зеркало с помощью параметра командной строки -m, Если вы укажете командную строку, информация о зеркальном сервере будет записана в /etc/setup/last-mirror, - Moreaki
Установка apt-cyg больше не зависит от wget, так что ничто из этого, вероятно, не имеет значения? Они используют lynx (который, кажется, встроен в cygwin?) На их веб-сайте. - akauppi
@steven В чем причина оптового изменения, которое больше чем значительная часть? Это в значительной степени отдельный ответ - random♦
@steven. Тогда это послужило бы поводом для нового ответа на демонстрацию этого, а не для того, чтобы свести к минимуму существующий ответ против намерения и голоса оригинального автора - random♦


официальная установка apt-cyg метод:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Два шага лучше, чем три. Затем:

apt-cyg install nano

Кстати, чтобы заставить его работать, вам нужно будет установить Wget, деготь, простофиля а также bzip2 для использования apt-cyg. Помимо wget, другие приходят с установка по умолчанию Cygwin.


20
2018-02-24 15:47



Для 64-битного Cygwin, svn а также apt-cyg может быть нарушена. Поэтому вам, возможно, придется использовать three step wget для установки apt-cyg и затем заменить $mirror/setup... с $mirror/x86_64/setup... в строках 98 и 105 файла apt-cyg. - sagunms


Старый вопрос, но для других, что google и попал сюда: Официальная настройка имеет аргументы командной строки что позволило мне подготовить простой скрипт * .bat - просто поместите следующую строку, например. «install-pkg.bat» и поместите этот файл в корневой каталог (например, C: \ cygwin):

setup-x86.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --root "%cd%" --packages %*

Вам необходимо скачать и установить http://www.cygwin.com/setup-x86.exe (32 бит) или http://www.cygwin.com/setup-x86_64.exe (64 бит) в тот же каталог. Теперь все, что вам нужно сделать, чтобы установить пакет:

install-pkg packagename

Положительный: официальная настройка, всегда должна работать, для любого пакета. Отрицательный: текущая (июнь / 2015) официальная настройка требует прав администратора, даже если на самом деле она не нужна (например, корневой каталог за пределами системных папок).


14
2018-06-23 10:23



хороший ответ, поскольку это инструмент, который у вас уже есть в любой установке Cygwin; однако, похоже, вы не можете удержать его от обновления всех уже установленных пакетов? это довольно раздражает, если вы просто хотите установить один новый пакет; Другими словами, нет командной строки, эквивалентной опции «Сохранить» графического файла setup.exe - golimar
note. setup.exe теперь называется setup-x86.exe - или вариант в зависимости от бит процессора. - ErichBSchulz
Ссылка сломана, теперь: cygwin.com/faq/faq.html#faq.setup.cli Можете ли вы изменить это в своем ответе? благодаря - Benj


У setup.exe от Cygwin, по крайней мере, в версии с версией 1.7 beta, есть встроенный режим «без присмотра». Перетащите ярлык setup.exe в окно команд (или иначе подготовьтесь к его запуску с помощью переключателей) и добавьте -q для автоматического режима, за которым следует -P и имена разделяемых запятыми. Итак, для меня эта установленная рысь:

$ "C:\Documents and Settings\martind\Desktop\setup-1.7.exe" -q -P lynx

12
2017-11-11 17:57



эй, это работает, но как насчет того, если я хочу добавить некоторые пакеты во время установки, как это сделать? - Johnydep
note. setup.exe теперь называется setup-x86.exe - или вариант в зависимости от бит процессора. - ErichBSchulz


setup-x86 -nq -s http://box-soft.com -P curl,git,make

или

setup-x86 -nq -s http://box-soft.com -P curl -P git -P make

Это установит cURL, git и make, без ярлыков в тихом режиме.


6
2018-04-26 05:45





Я нашел двух «apt like» менеджеров пакетов для cygwin. Один из них - скрипт python под названием cyg-apt, который вы можете скачать из http://www.lilypond.org/~janneke/software/cyg-apt а другой - apt-cyg, который вы можете найти в http://code.google.com/p/apt-cyg/


2
2017-09-13 18:20





Есть проблема с курицей <=> яйца с принятый ответ, Если вы не получили wget или lynx во время начальной установки вы не можете использовать apt-cyg, Вот как я установил wget так что я мог бы использовать apt-cyg, (Он использует Функции CLI установки cygwin setup exe.)

# check to see if you are running 64 bit cygwin
$ uname -a
CYGWIN_NT-10.0 WINDOWS-ABMESEI 2.6.0(0.304/5/3) 2016-08-31 14:32 x86_64 Cygwin

# if you are not using 64 bit, get http://www.cygwin.com/setup-x86.exe instead of...
$ curl -o cygwin-setup.exe http://www.cygwin.com/setup-x86_64.exe
$ chmod +x cygwin-setup.exe

# now you are ready to use it according to: https://cygwin.com/faq/faq.html#faq.setup.cli
$ cygwin-setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --packages wget

0
2018-03-30 03:33





Для, по крайней мере, пакетов, которые не требуют настройки после установки, я просто отключил их от корня cygwin '/'. Мне потребовалась более старая версия subversion (1.7.14), которая вышла за пределы двух версий, обработанных установкой.

Дополнительным преимуществом является то, что пакет становится вне мира управления пакетами cygwin и, таким образом, в некотором черном списке adhoc не обновляется автоматически с помощью новейшего пакета, если значения по умолчанию сохранены.


-1
2017-09-08 16:17