如何在Cygwin上安装apt-cyg?

36

此处内容翻译如下,来源于此网页,介绍如何安装apt-cyg

安装 apt-cyg

您可能听说过像apt-get(Ubuntu),yum / dnf(Fedora),pacman(Arch)或brew(Mac OS X)之类的程序...Cygnwin 的类似程序称为apt-cyg。

安装apt-cyg很简单。首先,保存此文件:https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg。然后,使用文件资源管理器找到您下载文件的位置,将其移动到 C:\cygwin\bin 文件夹中。接下来,打开Cygwin并输入“chmod +x /bin/apt-cyg”。这告诉Cygwin您要能够执行apt-cyg命令。最后,输入“apt-cyg mirror ftp://sourceware.org/pub/cygwin”,这会设置apt-cyg在下载程序时使用官方存储库。

听起来很简单。但我遇到了一个错误。

这个教程没有指明应该用什么名称和扩展名来保存该文件。

我将其保存为apt-cyg.txt,并将其移动到C:\cygwin64\bin中。

这样做不起作用。运行apt-cyg时,我会收到错误消息:bad interpreter: No such file or directory

如何安装Cygwin的apt-cyg?- 错误

我猜测扩展名或文件名有问题。应该使用什么名称和扩展名?

这个过程还有其他步骤吗?

注意:我刚刚在Windows 10上安装了Cygwin,请不要假设我已经安装了其他工具。


看起来你已经下载了一个带有CRLF行终止符的文本文件。尝试使用 d2u /bin/apt-cyg 命令或者重新下载文件,但不要添加扩展名,并将其保存为文件类型 所有文件 *.* - matzeri
这个教程没有说明应该用什么名称和扩展名保存该文件。你应当将其保存为 "apt-cyg"。如果你将其保存为 "apt-cyg.txt",那么当你想要在 cygwin 中运行该命令时,你实际上需要输入 "apt-cyg.txt" 来运行它。你熟悉 Linux 命令行吗? - Keith Tyler
8个回答

55

按照以下步骤安装:

1 - 确保已安装 lynx

2 - 运行 lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg

3 - 运行 install apt-cyg /bin

就这样!


10
那么,你如何安装Lynx?如果可以使用设置管理器来安装Lynx,那为什么apt-cyg没有包含在此列表中? - winux
@winux lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg - bpedroso
2
@winux 再次启动 Cygwin 安装程序,并在安装过程中选择 lynx。 - langlauf.io
3
如果您通过 chocolatey 安装了 Cygwin,打开 Cygwin 终端并输入 /cygdrive/c/tools/cygwin/cygwinsetup.exe -q -P lynx。该命令将安装 Lynx 包。 - langlauf.io
4
无需使用lynx - 您可以直接使用默认安装的“curl”。将“lynx -source”替换为“curl -L”即可。命令的其余部分保持不变。 - aggregate1166877

24

您只需要使用浏览器即可完成此操作。

  1. 右键单击“https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg”链接。
  2. 选择“另存为”。
  3. 导航到c:\cygwin\bin(或者你的Cygwin二进制文件所在的任何位置)。
  4. 删除.txt扩展名,使其成为apt-cyg。
  5. 点击“保存”。
  6. 根据所示在bash中运行chmod

这是我按点列出来的答案 - Mahesha999

8

apt-cyg的github仓库中,要求按照以下方式安装apt-cyg:

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

这需要在cygwin中已经安装了lynx。如果您在安装cygwin时没有选择lynx软件包,可以重新运行installation-path-to-cygwin\cygwin\setup\setup-x86_64.exe设置程序,然后在其安装向导中选择lynx

然而,在运行上述lynx命令时,我遇到了错误。似乎处于公司代理后面是一个问题。我无法弄清楚如何为lynx配置代理。

所以我直接去github访问apt-cyg脚本here。我通过浏览器从上面的链接导航到该脚本,右键单击,然后另存为下载了该脚本。请注意,您必须将其保存为没有扩展名的文件(即,在“另存为”窗口的“另存为类型”下拉列表中选择“所有文件”,而不是“文本文档”),因为浏览器可能默认将其保存为文本文件(txt)。如果您已将其下载为txt,则可以更改文件扩展名。将此文件剪切并粘贴到path-tocygwin\cygwin\setup\bin

就是这样了!!!现在可以从cygwin终端访问apt-cyg

注意:

如果您在公司代理后面运行apt-cyg install,请不要忘记设置代理路径:

export http_proxy=http://username:password@proxy-server-name:proxy-server-port
export https_proxy=http://username:password@proxy-server-name:proxy-server-port

例如:

export http_proxy=http://mahesh:password%40123@proxy.mycompany.com:8080
export https_proxy=http://mahesh:password%40123@proxy.mycompany.com:8080

请注意,密码中的@应替换为%40

然后您可以安装包:

apt-cyg install gcc-core

没有理由使用或不使用 lynx 而不是其他任何 web 浏览器或工具,如 wget、curl、chrome 等。你只是在下载一个文件。 - Keith Tyler

7

看起来扩展名没有问题,但脚本中的行尾可能存在问题(请参见^M部分)。当您在多个平台上使用git并将unix行尾lf更改为windows行尾clrf时,类似的情况也会发生。

考虑通过以下命令将clrf更改为lf(删除cr):

sed -i 's/\r//g' apt-cyg

命令中不应该有扩展名,因此在将apt-cyg下载到/bin后,请不要添加任何扩展名。


"clrf" = "crlf"(回车换行)。尝试更改它,但可能太小了,无法被接受。 - Georgina Davenport

2
使用setup.exe安装Net软件包,然后按照上面提到的方法使用wget.exe https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg install apt-cyg /bin来安装apt-cyg。请保留HTML标签。

如果在安装命令期间出现权限问题,请以管理员身份启动CygWin。 - JRr

0

请记住,从https://www.cygwin.com/下载的setup-x86.exesetup-x86_64.exe是安装Cygwin的官方方法。如果您使用其他方法进行安装并遇到问题,则可能无法获得官方支持。请使用官方GUI安装程序来安装和更新软件包。


6
为了回答你的问题,可以使用左键点击保存链接的方式下载apt-cyg文件,并将其命名为apt-cyg(没有扩展名)。你可能需要在文件名和扩展名之间添加一个点。这个文件是一个bash shell脚本。使用head apt-cyg | cat -A命令来查看它的内容。如果你在行末看到了^M字符,请使用d2u apt-cyg来将行尾从\m\n转换为\n。然后执行chmod +x apt-cyg命令。现在你就可以运行apt-cyg了。 - Doug Henderson
6
Cygwin 将 Linux 带到了 Windows,我只希望它能“正式地”带来命令行包管理的好处,而不仅仅是 GUI 安装方法 :( - Ben Winding
7
apt-cyg及其分支的维护良好。使用GUI安装程序会削弱使用Linux终端模拟器的优点。我建议使用apt-cyg。如果遇到支持问题(我知道这可能会存在),请按照此处所述在命令行中运行setup。我想解释一下我的投票。如果您需要支持,GUI安装程序则有一步过多,特别是考虑到OP的问题。附注:这里是一个说明如何安装apt-cyg的好链接。或者使用@Hayden的答案。 - bballdave025
1
我曾经在工作中使用过apt-cyg,当时我不得不运行MS Windows,所以我认为这对于那些想要安装脚本的人来说并不是特别有用的答案。然而,我也不认为它应该被投票否决,因为对于不熟悉Cygwin和Linux与MS Windows系统之间差异的新手来说,这可能是一个好建议。请参见https://sourceware.org/ml/cygwin/2019-01/msg00084.html。 - Anthony Geoghegan

0
提醒自己:我很懒,更喜欢能够输入apt-get... 这里有一个复制粘贴的Shell命令来自动化这个过程。
$ wget 'https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg' -O \
       /usr/bin/apt-cyg && 
       chmod 755 /usr/bin/apt-get; \
  test -f /usr/bin/apt-get || ( 
       curl 'https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg' -o \
           /usr/bin/apt-get && 
       chmod 755 /usr/bin/apt-cyg ); \
       cd /usr/bin && ln -s apt-cyg apt-get && apt-get update

0
一些以上的方法对我来说都没有起作用,无法安装xdg-utils。
我在安装apt-cyg时遇到了问题,尝试了给出的解决方案,最后通过使用vm命令"mv apt-cyg.txt apt-cyg",然后使用chmod命令成功安装。
然而,使用apt-cyg时我无法安装xdg-utils。
使用安装文件,你也可以通过命令行安装和卸载软件包,例如"./setup-x86_64.exe -p xdg-utils",使用cd命令进入正确的文件夹,例如cd /cygdrive/c/Users/。
使用-p参数可以为软件包命名(例如xdg-utils),使用-q参数可以直接安装软件包而无需确认。

1
请点击以下链接获取更详细的指示:https://www.youtube.com/watch?v=VyIY8cjn9xY - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接