如何在 Windows 10 上的 Ubuntu 应用程序上安装 dos2unix

我有一个在我的Windows-10机器上安装的Ubuntu应用程序。就版本而言,这是uname -a的结果:
Linux <username> 4.4.0-17134-Microsoft #523-Microsoft Mon Dec 31 17:49:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux

使用这个我称之为Linux“模拟器”的工具,我经常进行grep、find、wc -l、sort等操作来进行分析,但有时会生成UNIX格式的输出文件(我指的是行尾)。
为了得到Windows格式的行尾,我决定在文件上运行unix2dos命令,但是出现了以下错误信息:
The program 'unix2dos' is currently not installed. You can install it by typing:
sudo apt install dos2unix

换句话说,我的应用程序知道要执行unix2dos命令需要安装dos2unix软件包。这听起来是个好消息,但不幸的是,我无法安装它。
sudo apt install dos2unix
[sudo] password for <username>:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package dos2unix

我以前已经安装过软件包,所以应该是对于 dos2unix 软件包特定的问题。

供您参考:

  • 我没有 /var/log/messages 文件。
  • dmesg 不起作用:dmesg: read kernel buffer failed: Function not implemented
  • 我有一个 /var/log 目录,但最近文件/目录的修改时间是大约一周前。
  • 我有一个 /var/log/apt 目录,但最近文件/目录的修改时间是大约一周前。
  • 我尝试自己进行调试,使用 strace,但失败了(strace: exec: Operation not permitted+++ exited with 1 +++)。

在第一条评论后编辑

apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial-security,n=xenial,l=Ubuntu,c=restricted,b=amd64
     origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial-security,n=xenial,l=Ubuntu,c=main,b=amd64
     origin security.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial-updates,n=xenial,l=Ubuntu,c=restricted,b=amd64
     origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial-updates,n=xenial,l=Ubuntu,c=main,b=amd64
     origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial,n=xenial,l=Ubuntu,c=restricted,b=amd64
     origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
     release v=16.04,o=Ubuntu,a=xenial,n=xenial,l=Ubuntu,c=main,b=amd64
     origin archive.ubuntu.com
Pinned packages:

有人有什么想法吗?

请将apt-cache policy的输出添加到您的问题中。它显示您正在使用的软件包源。 - Florian Diesch
@FlorianDiesch:我已经相应地编辑了我的问题(我对apt-cache policy一无所知,不知道这是什么意思)。 - Dominique
你能执行 sudo add-apt-repository universe 然后执行 sudo apt update && sudo apt install dos2unix 吗? - Charles Green
@CharlesGreen:谢谢,get-repository universe已经过时了,但是后面两个命令解决了我的问题。请将它作为答案添加进来,我会接受的。 - Dominique
1添加存储库...但我很高兴它对你起作用了。基本上,@FlorianDiesch和我正朝着完全相同的方向前进,他先到这里!请注意,apt命令通常分为两个部分:apt update更新软件列表和apt upgrade升级系统中的软件。 - Charles Green
3个回答

这解决了我的问题。
sudo apt-get update
sudo apt-get install dos2unix

也适用于Raspbian操作系统 - Chiwda


我不知道这是否有帮助,但是在运行Ubuntu命令行中的"sudo apt update"命令后,我注意到提示符上方的最后一行文本,这是在"Intel FPGA软件安装和许可"指南第2.3.1节中找到的4条命令行之一。该文本提到需要"升级"的项目。对我来说,"sudo apt upgrade"命令起作用了。然后,我重新运行了剩下的三个命令行,并查看是否还有其他需要升级的内容。没有了。之后,我突然能够创建Eclipse项目模板,但在此之前,我已经尝试了我能找到的所有其他方法,但是过程总是以错误消息"failed to execute dos2unix"失败。
希望对你有所帮助。

这个答案有什么不同之处,以及它为什么比顶部、被接受的答案更好或更简洁?https://askubuntu.com/help/how-to-answer | https://askubuntu.com/help/formatting | https://askubuntu.com/tour - Nmath