linux 带库(linux软件资源网站)
ubuntu安装虚拟磁带库mhvtl的方法
1下载源码
从网站下载最新版的mhvtl,我下的是最新的mhvtl-2013-10-20.tgz版本。
2确保内核版本的一致性
确保你的内核开发包和你系统正在运行的内核是一个版本的,因为mhvtl有会编译它编写的一个内核模块,如果内核开发包和你系统正在运行的内核不是一个版本的话,在安装mhvtl中的内核模块的时候是加载不到内核中的,虽然可以通过源码中的include/linux/vermagic.h中的VERMAGIC_STRING修改成与当前PC内核uname-r一致即可,不过不推荐使用。
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
linux系统与windows系统下文件大小区别
这个没什么可比性嘛。要看编译的时候连接的方式什么。
如果是静态连接(就是把库的代码编译到可执行文件),那两个都会很大。
如果是动态外部连接(就是带库走,如DLL,.so文件),那么两个都会很小。
正常情况下,两者编译都会差不多的,因为毕竟机器的指令都是差不多的了。
同样的方式和代码下,Linux可能稍微小一点,一个是因为Linux没那么多预留的头信息和尾部的pendding信息。