安装 msfconsole 报内存不够

Author Avatar
Tr0y 1月 19, 2019 11:00:25 本文共 445 字
  • 文为知己者书
  • 在其它设备中阅读本文章

由于渗透需要,我们要在服务器上安装 msf。但是服务器的内存一般都比较小,怎么解决呢?

报错

安装 msf 后启动 msfconsole 报错:

/opt/metasploit-framework/embedded/lib/ruby/gems/2.4.0/gems/activesupport-4.2.10/lib/active_support/core_ext/kernel/agnostics.rb:7:in ``': Cannot allocate memory - infocmp (Errno::ENOMEM)

解决

增加 swap 分区文件大小即可。Swap 分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用:

# 以下命令默认为 root 用户

> free -m # 查看内存状态

              total        used        free      shared  buff/cache   available
Mem:            992         189          79          13         722         614
Swap:             0           0           0
# Swap 也就是虚拟内存,为 0

# 选择一个较大的分区,建立分区文件
> dd if=/dev/zero of=/opt/swap bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 16.6877 s, 62.8 MB/s
# 该命令表示在 opt 分区建立名为 swap,大小为 1G 的虚拟内存文件

# 将 swap 文件设置为 swap 分区文件
# 更改 swap 文件的权限
> chmod 600 /opt/swap

> mkswap /opt/swap # 格式化 swap 分区
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=fc47f29e-31af-401e-856d-0fec5262179e

# 激活swap,启用分区交换文件
> swapon /opt/swap

# 现在看下结果
> free -m
              total        used        free      shared  buff/cache   available
Mem:            992         191          63          13         737         625
Swap:           999           0         999

# 将分区设置为开机自动挂载
> vim /etc/fstab

# 增加
/opt/swap           swap                    swap    defaults        0 0

再次启动 msfconsole 即可。(不够大可增加 swap)

当然了,能装就得能卸。但我们不再需要 msf 的时候,就把分配的 swap 清理一下:

卸载 swap 分区:

# 首先停止swap分区
> swapoff /opt/swap

# 删除掉swap文件即可
> rm -rf /opt/swap

End

What do you think?

本文标题: 安装 msfconsole 报内存不够
原始链接: http://www.tr0y.wang/2019/01/19/安装msfconsole时内存不够/
发布时间: 2019.01.19-11:00
最后更新: 2019.03.19-14:11
版权声明: 本站文章均采用CC BY-NC-SA 4.0协议进行许可。转载请注明出处!