无法写入‘-’(管道破裂)OVH 服务器?

无法写入‘-’(管道破裂)OVH 服务器?

我尝试运行此命令在我的 OVH VPS 上安装 Windows,但出现无法写入“-”(管道损坏)的情况;

root@rescue-pro:~# sudo -i wget -O- 'http://mirror.joodle.nl/Windows_Server2012R2.gz' | gunzip | dd of=/dev/sda
sudo: unable to resolve host rescue-pro
--2016-03-21 17:12:02--  http://mirror.joodle.nl/Windows_Server2012R2.gz
Resolving mirror.joodle.nl (mirror.joodle.nl)... 37.187.16.147
Connecting to mirror.joodle.nl (mirror.joodle.nl)|37.187.16.147|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4988552803 (4.6G) [application/x-gzip]
Saving to: `STDOUT'

 0% [                                                               ] 0           --.-K/s              dd: writing to `/dev/sda': No space left on device
20481+0 records in
20480+0 records out
10485760 bytes (10 MB) copied, 0.276175 s, 38.0 MB/s
 0% [                                                               ] 1,517,197   7.80M/s   in 0.2s    


Cannot write to `-' (Broken pipe).

答案1

wget返回有关将输出发送到 STDOUT 的错误。请尝试curl以下方法wget

# curl 'http://mirror.joodle.nl/Windows_Server2012R2.gz' | gunzip | dd of=/dev/sda bs=1M

curl通常写入 STDOUT。

答案2

wget 抱怨管道输出损坏。错误源于管道:| gunzip | dd of=/dev/sda

这可能是 gunzip 错误,也可能是 dd 错误。在您的示例中,sudo 命令应用于 wget,而不是应用于以下管道。因此,dd 应该无法将输出写入 /dev/sda,并出现错误退出。在这种情况下,到 wget 的输出管道因 dd 退出而停止,并且 wget 会抱怨。

我相信你的命令行应该是:

wget -O- 'http://mirror.joodle.nl/Windows_Server2012R2.gz' \
  | gunzip | sudo -i dd of=/dev/sda

相关内容