项目需要用到磁带库,先装个虚拟磁带库mhvtl来模拟下。

1 下载源码

  从网站https://sites.google.com/site/linuxvtl2/home#mhvtl-download下载最新版的mhvtl,我下的是最新的mhvtl-2013-10-20.tgz版本。

2 确保内核版本的一致性

  确保你的内核开发包和你系统正在运行的内核是一个版本的,因为mhvtl有会编译它编写的一个内核模块,如果内核开发包和你系统正在运行的内核不是一个版本的话,在安装mhvtl中的内核模块的时候是加载不到内核中的,虽然可以通过源码中的include/linux/vermagic.h中的VERMAGIC_STRING修改成与当前PC内核uname -r一致即可,不过不推荐使用。可以再网上找和你系统正在运行的内核开发包kernel-devel就可以了。

3 解压缩源代码

  tar xvfz mhvtl-2013-10-20.tgz

4 安装四个包lsscsi,sg3_utils,liblzo2-dev,mtx直接用apt-get install命令安装就可以了

  apt-get lsscsi sg3_utils liblzo2-dev mtx

  没有装liblzo2-dev包在编译mhvtl时会提示找不到文件 lzo/lzoconf.h

5 创建mhvtl的组和用户

  /usr/sbin/groupadd --system vtl

  /usr/sbin/useradd --system -c "Vitrual Tape Library" -d /opt/vtl -g vtl -m vtl

6 编译内核模块

  cd  mhvtl-2013-10-20/kernel

  make

  make install

7 编译用户空间代码

  cd  mhvtl-2013-10-20

  make

  make install

8 修改/opt/mhvtl和/etc/mhvtl目录拥有者,不修改启动不了mhvtl

  chown -R vtl:vtl /opt/mhvtl

  chown -R vtl:vtl /etc/mhvtl

  /etc/mhvtl为配置文件路径,/opt/mhvtl为虚拟带库存储路径

9 启动mhvtl的守护进程

  /etc/init.d/mhvtl start

10 查看虚拟带库状态信息

  lsscsi -g

  可以看到我们的虚拟设备被挂在HBA#6上,其中mediumx类型的设备为机械臂,本例中的/dev/sg13,/dev/sg14。

  运行命令mtx -f /dev/sg13 status

ubuntu安装虚拟磁带库mhvtl的更多相关文章

  1. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  2. ubuntu安装mysql

    好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...

  3. ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法

    ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim  输入 sudo apt-get install vim 提示 ...

  4. docker 1.8+之后ubuntu安装指定版本docker-engine

    这边记录ubuntu安装过程,首先是官网文档 If you haven’t already done so, log into your Ubuntu instance. Open a termina ...

  5. debian/ubuntu安装桌面环境

    apt-get install xorg apt-get install gnome 然后startx ubuntu 安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面 ...

  6. 一个ubuntu phper的自我修养(ubuntu安装)

    ubuntu安装篇 一.ubuntu下载 到ubuntu官网下载适合自己电脑配置的系统版本,此处不做展开. 二.制作USB启动盘 在windows下制作USB启动盘,工具是universal usb ...

  7. ubuntu 安装JAVA jdk的两种方法:

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  8. [其他]Ubuntu安装genymotion后unable to load VirtualBox engine

    问题: Ubuntu安装genymotion后unable to load VirtualBox engine 解决办法: 如果没有安装VirtualBox,要先安装VirtualBox. 安装Vir ...

  9. Ubuntu安装出现左上角光标一直闪解决方式

    Ubuntu安装出现左上角光标一直闪解决方式: 01下载ubunu http://cn.ubuntu.com/download/ 02.软碟通 http://pan.baidu.com/s/1qY8O ...

随机推荐

  1. 正则表达式preg_replace中危险的/e修饰符带来的安全漏洞问题

    mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) /e 修饰符使 preg_rep ...

  2. node、npm、gulp、bower、ionic下载及安装

    node: http://nodejs.cn/ npm: 随node一起安装了 gulp: http://www.gulpjs.com.cn/docs/getting-started/ bower: ...

  3. 转:CentOS, 找不到dump命令:command not found

    dump 功能说明:备份文件系统.语 法:dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f &l ...

  4. 完善ecshop的mysql类

    前篇文章中,我提及到了如何<提取ecshop的mysql类>.但是没有数据库前缀的写法 废话不说,上步骤(目录结构请参考提取ecshop的mysql类) 修改connfig.php为 &l ...

  5. android——handler机制原理

    在android版本4.0及之后的版本中多线程有明确的分工,子线程可以写所有耗时的代码(数据库.蓝牙.网络服务),但是绝对不能碰UI,想碰UI跟着主线程走,那么我们如何才能让主线程知道我们要对 UI进 ...

  6. 如何让PowerShell显示中文不乱码

    故障描述: 这两天有个部门做了个Survey用来调查一些信息,由于对最后的结果报表有些特殊要求,不得不决定弃用SharePoint Survey自带的Export to spreadsheet功能,改 ...

  7. PHP的日期和时间处理函数

    1. 将日期和时间转变为时间戳 1.1 time() 原型:time(void) 作用:返回当前时间的 UNIX时间戳. 参数:void,可选(即无参数) 1.2 mktime() 原型:int mk ...

  8. 前端神器avalonJS入门(三)

    本章将介绍如何使用avalon来实现前端路由功能. 我们需要用到两个avalon路由配套模块—— mmHistory.js 和 mmRouter.js .其中mmHistory是用于历史管理,它会劫持 ...

  9. JavaScript的前世今生

    和CSS一样,JavaScript在各浏览器下并非完全一致,它所带来的兼容性问题时常困扰着我们,以至于现在“能否处理流行浏览器的兼容性问题”成为了检验一个程序员是否合格的标准之一.了解JavaScri ...

  10. Linux 定时任务

    200 ? "200px" : this.width)!important;} --> 介绍 本篇主要介绍Linux定时任务命令crontab的用法,crontab是定时任务 ...