将“字符设备”转移到文件从 Windows Cygwin 到 Linux

发布于 2024-12-29 05:27:48 字数 473 浏览 0 评论 0原文

我想将使用 cygwin (在 Windows XP 上运行)创建的字符设备文件传输到 Linux 机器。我无法让它发挥作用。

在 cygwin 中使用 mknod 命令我得到一个名为 test 的文件,其权限如下:

crw-r--r--

C 表示“字符文件”。

在 Linux (Red Hat 5) 上,无法识别该文件。相反,文件名为 test.lnk,权限如下:

-r-xr-xr-x

所以我的问题 - 这可能吗?

更多细节:

我认为添加我的任务是值得的。我的任务:使用 Windows 计算机解压 Linux 操作系统 tarball,并使用 NFS 将其上传到 Linux 服务器。 tarball 中包含无法正确传输的“字符设备”文件。

I want to transfer a character device file created using cygwin (running on windows xp) to a Linux machine. I am unable to get this to work.

In cygwin using the mknod command I get a file called test with permissions like the following:

crw-r--r--

C denotes "Character File".

On Linux (Red Hat 5) the file is not recognized. Instead the file name is test.lnk and the permissions are as followed:

-r-xr-xr-x

So my question - is this possible?

More Details:

I thought it might be worth while adding what I was tasked to do. My task: untar a Linux OS tarball using a windows machine and upload it to a Linux server using NFS. The tarball has "character device" files that are not transferring correctly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰火雁神 2025-01-05 05:27:48

问题解答:

一周后,经过几个小时的阅读,我能够回答自己的问题。

Cygwin 或任何其他 UNIX (Windows Interix) POSIX 环境无法混合特殊文件类型。您无法使用这些工具创建特殊文件(例如字符文件或管道文件)并将其传输到 Linux。

所以我所有的脚本都不起作用。

任务答案:

我的任务是编写一个脚本,使用 NFS 将 Linux 操作系统 tarball 从 Windows 传输到 Linux 计算机。

我使用虚拟机让它工作。我在 Windows XP 上安装了虚拟 Linux 操作系统,并使用 Linux VM 将 NFS 客户端挂载到 Linux NFS 服务器。

操作方法:-

1.) 安装虚拟机。我推荐Virtual Box

2.) 安装红帽Linux。我使用的是 RHEL 5.7。

3.) 安装 Virtual Box Guest Additions。这使您可以“轻松”从 Windows 到 Linux 共享文件/文件夹。

如何设置来宾添加

如何设置共享文件夹

4.) 将来宾操作系统(Linux VM)的网络类型设置为“桥接”或“仅主机网络”。这将允许您使用 Putty 从 Windows 主机操作系统到 Linux 来宾/虚拟操作系统进行 SSH。

Virtual Box Networking

5.) 现在您可以编写脚本来传输 tarball(使用特殊的字符文件)从Windows到虚拟Linux,然后从虚拟Linux到Linux NFS服务器。

Question Answer:

After a week I was able to answer my own question after hours of reading.

Cygwin or any other UNIX (Windows Interix) POSIX environment cannot mingle special file types. You cannot create special files like character files or pipe files using those tools and transfer them over to Linux.

So all my scripts don't work.

Task Answer:

I was tasked to write a script that would transfer a linux OS tarball from windows to a linux machine using NFS.

I got this to work using a virtual machine. I installed a virtual Linux OS on top of Windows XP and used the linux VM to mount a NFS client to a linux NFS server.

How To:-

1.) Install a Virtual Machine. I recommend Virtual Box!

2.) Install Red Hat Linux. I used RHEL 5.7.

3.) Install the Virtual Box Guest Additions. This allows you to "easily" share files/folders from windows to linux.

How to Setup Guest Additions

How to Setup Shared Folders

4.) Set the network type for the guest OS(Linux VM) to "Bridge" or "Host Only Networking". This will allow you to SSH using Putty from Windows Host OS to Linux Guest/Virtual OS.

Virtual Box Networking

5.) Now you can write a script to transfer the tarball (with special character files) from windows to the virtual linux then from the virtual linux to the Linux NFS server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文