热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[转]Linux下的虚拟光驱和虚拟软驱

为什么80%的码农都做不了架构师?原文地址:http:my.unix-center.net~Simon_fu?p415如果你是刚从Windows转

为什么80%的码农都做不了架构师?>>>   hot3.png

 如果你是刚从Windows转到Linux的话,你可能要问Windows下面有虚拟光驱,Linux下面有没有呢?一般来说Windows能做的事情,Linux都能做到,并且做得更好。但是概念上面可能和Windows有点儿不同,需要你以Linux的思维来考虑问题。本文就准备介绍一下Linux的虚拟设备——回环设备——进而讲解怎样通过回环设备实现虚拟光驱,虚拟软驱等等虚拟设备。

    在Linux下面,光驱,软驱都是设备,在Linux对应于一个位于/dev/下面的设备文件。如果你细心的话,你会在/dev/下面发现里面有一系列的设备loop0,loop2……。这些设备是什么设备?有什么作用的呢?这些设备统称为回环设备(Loop device)。

     回环设备可以与当前文件系统的一个文件相关联,并把回环设备虚拟成一个块设备(硬盘,光盘,软盘等)。如果关联文件包含有特定文件系统(iso的文件系统是iso9660,虚拟软盘img也有特定的文件系统),则该设备可以用mount命令挂载到某个目录下。这样我们就可以像普通文件系统一样访问这个文件系统了。

     通过上面的回环设备的定义,我们可以知道回环设备相当于Windows下面的虚拟光驱,虚拟软驱。Windows下面我们可能只有一个虚拟光驱,但是在Linux下面我们可以同时加载多个虚拟光驱,因为Linux中有多个回环设备。这点儿Linux做的比Windows要出色。

     那么我们怎么使用回环设备呢?下面我一个光盘镜像a.iso为例来说明怎么使用。

1、回环设备关联文件。

losetup /dev/loop0 a.iso

losetup命令用来实现回环设备和文件的关联。这个命令还可以实现文件系统的加密,有兴趣的朋友可以查看手册。

2、挂载回环设备到特定目录,我们假设要挂载到/mnt/下面。

mount /dev/loop0 /mnt/

这样/mnt/下面就是a.iso的内容了。可以通过shell去访问它了。

3、用完之后,需要卸载会换设备。

umount /mnt/

这样设备就卸载,/mnt/下面就不是a.iso的文件了。

4、回环设备和关联文件分离。虽然已经在系统中卸载了回环设备,但是这个设备和文件的关联还存在。假如你还要用这个设备关联其他的文件,系统会提示这个设备正在忙。所以需要让回环设备和关联文件分离。

losetup -d /dev/loop0

     这样一个光盘镜像的使用就完成了。当然同理也可以通过回环设备挂载其他的虚拟文件,比如虚拟软盘img等等。

     如果你发现有项功能Windows能实现而Linux不能,那肯定是你的没有找到方法。我们要相信Linux可以做任何事情,前提是我们要多加学习。

参考资料:

Loop device

--------------------------------------------------------------------------------

<这行不是转的>   这里有ALP对special device的讲解,很不错。另一篇参考这里3楼的一个评论也不错。


转载于:https://my.oschina.net/orion/blog/28016


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在更换电脑后,使用 Git Bash 运行 Python 时可能会遇到找不到 Python 解释器的问题。本文详细介绍了如何在 Windows 环境下通过 Bash Shell 调用不同版本的 Python,并成功运行 SRSPlayer HTTP 服务器。具体步骤包括配置环境变量、验证 Python 版本以及启动服务器的方法。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有