通过 Cygwin 命令行升级和安装软件包?

Jar*_*red 118 cygwin accessibility

我是一个使用 Cygwin 的盲人计算机用户。

安装程序不是很容易访问:升级、安装和删除特定的软件包非常困难,因为您必须使用模拟鼠标击键来单击和滚动。

有没有办法手动安装/升级软件包或通过命令行安装/升级它们?

kno*_*orv 123

安装apt-cyg

lynx -source https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
Run Code Online (Sandbox Code Playgroud)

之后,您将能够通过运行来安装包含依赖项的包“lynx”:

apt-cyg install lynx
Run Code Online (Sandbox Code Playgroud)

  • 存储库没有**移动**:DMCA 投诉已[发布](//github.com/github/dmca/blob/master/2016-01-27-apt-cyg-counternotice.md) 再次转码-打开/apt-cyg。顺便说一句,Github 用户 svnpenn 同时创建了一个名为“sage”的 fork,自称是它的继任者 (4认同)
  • [DMCA 反通知的更新链接](https://github.com/github/dmca/blob/ffd9865c2b143512aa7e6e2467ffcbe95accba69/2016-01-27-apt-cyg-counternotice.md) ... [svnkpenn/sage] ://github.com/svnpenn/sage) (2认同)

Mor*_*aki 24

由于有些人正确地声明apt-cyg自己需要 wget 并且为了让apt-cyg您需要 wget,因此有一个 bash only 解决方案可以wget在纯 bash 中引导。

在你的 mintty bash shell 中创建一个这样的函数:

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>&-
}
Run Code Online (Sandbox Code Playgroud)

现在你可以使用它几乎像wget:

__wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg > /usr/bin/apt-cyg && chmod 0755 /usr/bin/apt-cyg
Run Code Online (Sandbox Code Playgroud)

  • 然后投反对票并提供有竞争力的答案。如果您是 apt-cyg 的维护者,那么您的个人资料、编辑摘要或任何可见的地方都没有迹象表明您具有此类编辑的权威或背景 (2认同)

pee*_*nut 23

老问题,但对于谷歌并到达这里的其他人:官方设置具有命令行参数,允许我准备简单的 *.bat 脚本 - 只需将以下行放入例如“install-pkg.bat”并将该文件放入您的根目录(例如 C:\cygwin):

setup-x86.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --root "%cd%" --packages %*
Run Code Online (Sandbox Code Playgroud)

您需要下载并将http://www.cygwin.com/setup-x86.exe (32bit) 或http://www.cygwin.com/setup-x86_64.exe (64bit) 放到同一目录中。现在你需要做的就是安装包:

install-pkg packagename
Run Code Online (Sandbox Code Playgroud)

正面:官方设置,对于任何包都应该始终有效。否定:当前(2015 年 6 月)官方设置需要管理员权限,即使它实际上不需要管理员权限(例如系统文件夹外的根目录)。


小智 21

官方的apt-CYG安装方法是:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
Run Code Online (Sandbox Code Playgroud)

两步胜于三步。然后:

apt-cyg install nano
Run Code Online (Sandbox Code Playgroud)

顺便说一句,要使其工作,您需要安装wgettargawkbzip2才能使用 apt-cyg。除了 wget,其他的都带有默认的 Cygwin 安装。

  • 对于 64 位 Cygwin,`svn` 和 `apt-cyg` 可能会损坏。因此,您可能必须使用 `three step` wget 方法来安装 `apt-cyg`,然后在第 98 行和第 105 行将 `$mirror/setup...` 替换为 `$mirror/x86_64/setup...` apt-cyg 文件。 (2认同)

Mar*_*rey 13

Cygwin 的 setup.exe,至少在 1.7“beta”版本中,具有内置的“无人值守”模式。将 setup.exe 快捷方式拖放到命令窗口中(或准备使用开关运行它),然后添加-q无人参与模式,后跟-P逗号分隔的程序包名称。所以,对我来说,这安装了 lynx:

$ "C:\Documents and Settings\martind\Desktop\setup-1.7.exe" -q -P lynx
Run Code Online (Sandbox Code Playgroud)


Ste*_*nny 8

setup-x86 -nq -s http://box-soft.com -P curl,git,make
Run Code Online (Sandbox Code Playgroud)

或者

setup-x86 -nq -s http://box-soft.com -P curl -P git -P make
Run Code Online (Sandbox Code Playgroud)

这将安装 cURL、git 和 make,在安静模式下没有快捷方式。