【发布时间】:2019-08-03 09:36:48
【问题描述】:
我正在我的 Windows 10 计算机上使用 Ubuntu 18.04 设置 WSL 安装。我想要完成的是在我的 Ubuntu 实例(Node、Yarn、Git-flow 等)上安装我所有的包、配置等的 shell 脚本。似乎从我的 shell 脚本运行的唯一命令是sudo apt-get update,因为我实际上是在控制台中从中获得反馈(请参阅下面发布的代码)。所有其他脚本/命令都失败或出错。我对编写 shell 脚本很陌生,所以它可能是我忽略的一些重要的东西。
到目前为止,我所做的是安装了一个新版本的 Ubuntu 18.04。创建了一个新用户和一个密码。此后,在我的文件夹 windows 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
【问题讨论】:
标签: bash shell ubuntu ubuntu-18.04 windows-subsystem-for-linux