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

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

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

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

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

答案1

安装apt-cyg

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

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

apt-cyg install lynx

答案2

老问题了,但其他人通过谷歌搜索后得到了如下结果:官方设置有命令行参数这使我能够准备简单的 *.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 年 6 月)官方设置需要管理员权限,尽管实际上并不需要(例如系统文件夹之外的根目录)。

答案3

由于有些人正确地指出它apt-cyg本身需要 wget,并且为了获得apt-cyg需要 wget,因此有一个仅限 bash 的解决方案可以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>&-
}

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

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

答案4

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

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

相关内容