我正在Windows 10计算机上使用Ubuntu 18.04设置WSL安装。我要完成的工作是拥有一个shell脚本,该脚本可以在Ubuntu实例(Node,Yarn,Git-flow等)上安装所有软件包,配置等。看来,从我的shell脚本运行的唯一命令是sudo apt-get update
,因为实际上我在控制台中从中获得了反馈(请参阅下面发布的代码)。其他所有脚本/命令均失败或出现错误。我对编写Shell脚本还很陌生,所以我可能忽略了一些至关重要的事情。
到目前为止,我所做的是安装了Ubuntu 18.04的新版本。创建一个新用户和一个密码。之后,在我的文件夹窗口 D:驱动器上创建一个symlink
,我希望在其中存储我所有的开发项目。
符号链接:ln -s /mnt/d/development
。现在,它在我的WSL根目录@Development -> /mnt/d/Development
中显示为~
。
很奇怪,当我尝试使用sudo apt-get git-flow
或sudo apt search git-glow
安装或搜索软件包时,都可以找到它并按预期进行安装。
注意:这是Ubuntu 18.04的全新安装,并且我没有配置或触摸/env
中的任何其他文件或其他系统文件。
在WSL上为Ubuntu设置shell脚本时,我主要遵循了其他“入门”示例。但不幸的是,导致了上述相同的问题。我有一个wsl_setup.sh
文件,该文件位于Windows驱动器上的D:\wsl_setup.sh
上。我想做的是打开Ubuntu终端,并从根(用户)执行脚本; martin@Windows-PC: ~$ sh /mnt/d/wsl_setup.sh
。
这是Shell脚本的精简版,但仍然会失败。
#!/bin/bash
# Download the updated package list for your installed repositories and dependencies to their newest version.
sudo apt-get update
# Installing Git
sudo apt-get install git
# Install git-flow AVH
sudo apt-get install git-flow
在一个完美的世界中,我想让这个shell脚本执行我的所有软件包安装,而不是在Ubuntu终端中手动执行此操作。为什么要尝试完成此操作,其中一个用例就是如果我需要重新格式化或安装WSL,则可以运行此脚本并立即备份并运行。
运行上面提到的脚本时遇到的错误/问题如下:
E: Invalid operation update
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git-flow
答案 0 :(得分:0)
您在使用apt-get更新时遇到问题,请检查其输出。有时存储库已关闭;您需要稍后再检查。另外,请检查您的互联网连接。这是您脚本的改进:
#!/bin/bash
# Download the updated package list for your installed repositories and dependencies to their newest version.
sudo apt-get update
# Installing Git
sudo apt-get -y -q install git
# Install git-flow AVH
sudo apt-get -y -q install git-flow
致谢