【问题标题】:Issues with installing packages with custom shell script on WSL在 WSL 上使用自定义 shell 脚本安装包的问题
【发布时间】: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-flowsudo 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


    【解决方案1】:

    您在使用 apt-get update 时遇到问题,请检查其输出。有时存储库已关闭;你需要稍后检查。另外,请检查您的互联网连接。这是对您的脚本的改进:

    #!/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
    

    问候

    【讨论】:

    • 感谢卡洛斯的快速回复。我认为您所涉及的问题可能是因为某些软件包可能已经安装在系统上。我继续升级、调试并安装了一个新的 Ubuntu 实例,它似乎慢慢地融合在一起。当我开始工作时,我将使用新的 shell 脚本更新帖子。 注意: 我收到上面发布的这些错误可能有上百万个原因,但由于我是编写这类脚本的新手,很难确切知道是什么原因导致了这些错误。对于那个很抱歉。边走边学。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2017-10-18
    • 2014-02-18
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多