虚拟机Ubuntu安装vmtools

最近研究linux,遇到一些小问题。特地记录下解决方案:

大家都知道虚拟机中linux与宿主机无法直接进行文件系统的交互(例如简单的文件复制、粘贴功能),最简单的方法就是借助vm 中的VMTOOLS:

第一步:进入ubuntu,联网的状态下,点击安装VMTOOLS,如下图:

由于我已经安装,所以显示的是Reinstall。。。


第二步:下载完成后,以root点击上图的安装桌面会出现光驱图标,双击解压文件至tmp文件夹:



第三步:进入控制台:

1. 执行以下命令,可以看到一个以.tar.gz结尾的文件



2.把这个文件复制到根目录下的tmp目录下,然后解压这个文件




3. 进入vmware-tools-distrib,可以看到文件vmware-tools.pl,运行这个文件:


4. 接下来就一直Enter就可以了。



第四步:安装好了VMTOOLS,我们来设置一下宿主机与虚拟机的文件共享:

1. 打开如下界面:



2. 添加主机需要共享给虚拟机的文件目录,根据添加向导完成;


3. 设置完成,在linux以下目录就会出现:




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

present by dylan.










libmspack是一个用于解压缩Microsoft CAB格式文件的开源库。它提供了一组API,可以在C/C++程序中使用。 以下是一个使用libmspack解压缩Microsoft Word文档(.doc文件)的示例程序: ```c #include <stdio.h> #include <string.h> #include "libmspack.h" #define IN_BUF_SIZE 4096 #define OUT_BUF_SIZE 4096 int main(int argc, char **argv) { const char *filename_in = argv[1]; const char *filename_out = argv[2]; char in_buf[IN_BUF_SIZE]; char out_buf[OUT_BUF_SIZE]; struct mscabd_cabinet *cab; struct mscabd_file *file; FILE *fp_in, *fp_out; int ret, i; /* 打开输入文件 */ fp_in = fopen(filename_in, "rb"); if (!fp_in) { printf("Error: Failed to open input file: %s\n", filename_in); return 1; } /* 创建解压缩上下文 */ cab = mspack_create_cabinet(NULL, NULL); if (!cab) { printf("Error: Failed to create cabinet context\n"); fclose(fp_in); return 1; } /* 打开 CAB 文件 */ ret = mspack_open_cabinet(cab, fp_in); if (ret) { printf("Error: Failed to open cabinet file: %d\n", ret); mspack_destroy_cabinet(cab); fclose(fp_in); return 1; } /* 查找要解压的文件 */ file = mspack_find_file(cab, "WordDocument"); if (!file) { printf("Error: Failed to find file in cabinet\n"); mspack_close_cabinet(cab); mspack_destroy_cabinet(cab); fclose(fp_in); return 1; } /* 打开输出文件 */ fp_out = fopen(filename_out, "wb"); if (!fp_out) { printf("Error: Failed to open output file: %s\n", filename_out); mspack_close_file(file); mspack_close_cabinet(cab); mspack_destroy_cabinet(cab); fclose(fp_in); return 1; } /* 解压文件 */ ret = mspack_extract_file(file); if (ret) { printf("Error: Failed to extract file: %d\n", ret); mspack_close_file(file); mspack_close_cabinet(cab); mspack_destroy_cabinet(cab); fclose(fp_in); fclose(fp_out); return 1; } /* 读取并写入解压的数据 */ while ((ret = mspack_read_file(file, in_buf, IN_BUF_SIZE)) > 0) { for (i = 0; i < ret; i += OUT_BUF_SIZE) { int n = ret - i; if (n > OUT_BUF_SIZE) n = OUT_BUF_SIZE; memcpy(out_buf, in_buf + i, n); fwrite(out_buf, 1, n, fp_out); } } /* 关闭文件和上下文 */ mspack_close_file(file); mspack_close_cabinet(cab); mspack_destroy_cabinet(cab); fclose(fp_in); fclose(fp_out); printf("Success: File extracted to %s\n", filename_out); return 0; } ``` 这个程序假设输入文件是一个Microsoft CAB格式的文件,其中包含一个名为“WordDocument”的文件,这个文件是一个Microsoft Word文档。程序使用libmspack来解压缩这个文件,并将结果写入一个输出文件。 要编译这个程序,需要安装libmspack库。在Linux系统中,可以使用以下命令安装: ```bash sudo apt-get install libmspack-dev ``` 然后使用以下命令编译程序: ```bash gcc -o extract_doc extract_doc.c -lmspack ``` 编译完成后,可以使用以下命令运行程序: ```bash ./extract_doc input.cab output.doc ``` 其中,input.cab是输入文件的路径,output.doc是输出文件的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值