CentOS Root 密码只支持8位的解决方法

shell

记得之前就有人在论坛里面发过一些文章,说是 SolusVM 有 Bug ,或说 Xen 有 Bug 。对于这个所谓的 Bug 的描述,是无论你的 root 密码多长,只要前 8 位正确,就可以正常登陆。比如说,一个 12 位的密码 vpseekvpseek ,只需要 vpseekvp 就可以顺利登陆,同时 vpseekvpseek 也可以正常登陆,就好想两个密码都可以登陆,但实际上是个错觉。

接下来,我们将介绍,如何解决这个问题。

一、编辑 /etc/pam.d/system-auth 这个文件:

  1. vim /etc/pam.d/system-auth
vim /etc/pam.d/system-auth

二、找到下面这一句(或者类似的)

  1. password sufficient /lib/security/pam_unix.so nullok use_authtok shadow
password sufficient /lib/security/pam_unix.so nullok use_authtok shadow

三、将 shadow 改为 md5

四、重启 sshd

  1. service sshd restart
service sshd restart

给 VPS 增加 SWAP 空间(只适用于Xen)

swap

在 Linux 的世界里,SWAP,即交换分区,类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Linux支持同时使用多个交换设备,还能为它们分配给不同的优先级。当需要交换出物理内存中页时,操作系统根据优先级顺序选择可用的交换设备。

本文将介绍,当如何给基于 Xen 虚拟化技术的 VPS 增加 SWAP 空间。独立服务器/物理服务器增加 SWAP 的方法相同。但本文所介绍的方法不适用于基于 OpenVZ 虚拟化技术的 VPS 。使用 OpenVZ 的朋友请联系服务商开通 vSWAP 功能。

 

一、在 /var/ 中建立 swap 文件(1G)

  1. cd /var/
  2. dd if=/dev/zero of=swap bs=1M count=1024
cd /var/
dd if=/dev/zero of=swap bs=1M count=1024

二、初始化 SWAP 分区

  1. mkswap /var/swap
mkswap /var/swap

三、激活 SWAP 分区

  1. swapon /var/swap
swapon /var/swap

四、查看 SWAP 状态

  1. swapon -s
swapon -s

五、启动时挂载 SWAP

  1. echo "/var/swap swap swap defaults 0 0">>/etc/fstab
echo "/var/swap swap swap defaults 0 0">>/etc/fstab

CentOS 下安装 vnstat 监控流量

vnstat

目前使用 SolusVM 的服务商众多,而 SolusVM 后台可以统计 VPS 的流量,因此可以说用不上 vnstat 这类的流量统计软件。但依然有一些服务商,他们并没有使用 SolusVM ,没有提供管理界面或者压根没有管理界面的,在这个时候使用者无法查询 VPS 的流量使用情况,此时 vnstat 这类的流量监控软件就显得很有必要。

本文将介绍,如何在 CentOS 5 和 CentOS 6 的 32 位和 64 位版本上安装 vnstat 以及其 web 界面。是的,一款叫做 vnstat frontend 的 php 程序可以让使用者通过 web 界面方便地查看流量。接下来,VPSeek 将教你如何通过 yum 安装和配置 vnstat ,同时让它开始正常工作。

第一步:安装 DAG repository

CentOS 5.x 32位:

  1. wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
  2. rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm

CentOS 5.x 64位:

  1. wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  2. rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

CentOS 6.x 32位:

  1. wget http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
  2. rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
wget http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

CentOS 6.x 64位:

  1. wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  2. rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

第二步:通过 yum 安装 vnstat

  1. yum -y install vnstat
yum -y install vnstat

第三步:删除 vnstat 默认的 cron

  1. rm -rf /etc/cron.d/vnstat
rm -rf /etc/cron.d/vnstat

第四步:创建一个运行脚本

  1. touch /var/lib/vnstat/dump.sh
touch /var/lib/vnstat/dump.sh

第五步:编辑 /var/lib/vnstat/dump.sh 加入以下内容:

  1. vnstat -u -i eth0
  2. vnstat -dumpdb -i eth0 >/var/lib/vnstat/vnstat_dump_eth0
vnstat -u -i eth0
vnstat -dumpdb -i eth0 >/var/lib/vnstat/vnstat_dump_eth0

备注:这里我们需要监控的是 eth0 的流量,如果您需要监控 eth1 或者其他的网卡如 ppp0 ,您可以自行修改(可通过 ifconfig 查看网卡)。

第六步:运行 crontab -e 加入以下内容:

  1. * * * * * /bin/sh /var/lib/vnstat/dump.sh
* * * * * /bin/sh /var/lib/vnstat/dump.sh

第七步:运行 vim /root/.bashrc 加入以下内容:

  1. alias vnstat="vnstat -i eth0"
alias vnstat="vnstat -i eth0"

第八步:运行以下命令:

  1. alias vnstat="vnstat -i eth0"
  2. sh /var/lib/vnstat/dump.sh
alias vnstat="vnstat -i eth0"
sh /var/lib/vnstat/dump.sh

至此,vnstat 已经正常工作并且可以输出数据了。接下来 VPSeek 将给您介绍 vnstat 的常用命令。

1.按“天”查看流量

  1. vnstat -d
vnstat -d

2.按“小时”查看流量

  1. vnstat -h
vnstat -h

3.按“月”查看流量

  1. vnstat -m
vnstat -m

4.查看当前实时流量

  1. vnstat -l
vnstat -l

以上便是 vnstat 的基本命令,如果需要了解更多,还可以运行 man vnstat 来查看它的帮助文件。接下来,我们将介绍如何安装 Web 界面。此时我们要依赖一个程序:VNStat PHP Frontend。

1.下载 VNStat PHP Frontend

在一个 Web 可以访问的地方运行以下命令:

  1. wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
  2. tar zxvf vnstat_php_frontend-1.5.1.tar.gz
  3. mv vnstat_php_frontend-1.5.1 vnstat
  4. rm -rf vnstat_php_frontend-1.5.1.tar.gz
wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
tar zxvf vnstat_php_frontend-1.5.1.tar.gz
mv vnstat_php_frontend-1.5.1 vnstat
rm -rf vnstat_php_frontend-1.5.1.tar.gz

2.配置 VNStat PHP Frontend

编辑 config.php 根据自己的实际情况进行修改:

  1. $language = 'en';
  2. $iface_list = array('eth0');
  3. //$iface_title['sixxs'] = 'SixXS IPv6';
  4. $vnstat_bin = '/usr/bin/vnstat';
  5. $data_dir = '/var/lib/vnstat/';
  6. $graph_format='png';
$language = 'en';
$iface_list = array('eth0');
//$iface_title['sixxs'] = 'SixXS IPv6';
$vnstat_bin = '/usr/bin/vnstat';
$data_dir = '/var/lib/vnstat/';
$graph_format='png';

3.开始使用 VNStat PHP Frontend

访问你的网站,查看流量吧!如:http://domain.name/vnstat

如果无法看到 VNStat PHP Frontend 的图片,您可能需要安装 php-gd 库:

  1. yum install php-gd
yum install php-gd

CentOS下RPM安装UNRAR

unrar

在 Linux 上,通过命令可以很方便地解压 zip 和 tar.gz 等文件。但是 RAR 就并不是这么简单了。一直有许多人向我询问如何让 VPS 支持 RAR 解压,因此就整理出这篇文章,希望可以帮助到需要帮助的朋友们。通过 RPM 安装 UNRAR 十分简单,只需要几个简单的命令即可。

本文将介绍在 CentOS 5 以及 CentOS 6 下(包括 32BIT 和 64BIT),安装 UNRAR ,使 Linux 支持 RAR 压缩文件的解压。截止至发稿前,unrar 的最新版本为 4.1.4-1,尽管对于解压 RAR 来说,不同版本并没有明显区别,但有不少朋友对软件有“求新”的癖好,因此如需获取最新版本,请访问:http://pkgs.repoforge.org/unrar/

 

在 CentOS 5.x 32Bit 下安装 unrar

  1. wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el5.rf.i386.rpm
  2. rpm -ivh unrar-4.1.4-1.el5.rf.i386.rpm
wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el5.rf.i386.rpm
rpm -ivh unrar-4.1.4-1.el5.rf.i386.rpm

在 CentOS 5.x 64Bit 下安装 unrar

  1. wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el5.rf.x86_64.rpm
  2. rpm -ivh unrar-4.1.4-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el5.rf.x86_64.rpm
rpm -ivh unrar-4.1.4-1.el5.rf.x86_64.rpm

在 CentOS 6.x 32Bit 下安装 unrar

  1. wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el6.rf.i686.rpm
  2. rpm -ivh unrar-4.1.4-1.el6.rf.i686.rpm
wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el6.rf.i686.rpm
rpm -ivh unrar-4.1.4-1.el6.rf.i686.rpm

在 CentOS 6.x 64Bit 下安装 unrar

  1. wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el6.rf.x86_64.rpm
  2. rpm -ivh unrar-4.1.4-1.el6.rf.x86_64.rpm
wget http://pkgs.repoforge.org/unrar/unrar-4.1.4-1.el6.rf.x86_64.rpm
rpm -ivh unrar-4.1.4-1.el6.rf.x86_64.rpm

CentOS 下用 DropBear 替换默认的 OpenSSH

dropbear

最近收到一些读者的来信,询问小内存 VPS 的优化问题。许多人可能因为经费不足,或者希望用最小的代价实现最大的收益,都会选择小内存 VPS 来作站。经过我们的测试,64M内存的 VPS 经过合理配置,依然有可能支撑月 PV 约 10000 的访问量。对于站长来说,前期成本小,压力也就相对小,等网站做大了,再慢慢升级配置也不迟。

今天 VPSeek 首先介绍如何在 CentOS 下用 DropBear 替换默认的 OpenSSH ,从而减少内存的消耗。同时 VPSeek 会在近期整理出更多的小内存 VPS 优化教程,方便大家参阅,欢迎期待!接下来我们将对 DropBear 进行一个详细的介绍。

什么是 DropBear

DropBear 是一款免费和开源的轻量级 SSH 服务端以及客户端,与 OpenSSH 相比,它更轻巧。当服务器使用 OpenSSH 时,每当一个用户登陆,OpenSSH 会开启两个进程,而 DropBear 仅开启一个,使用 OpenSSH 占用的内存将会是 DropBear 的 5-6 倍之多,因而如果 VPS 只有 128M 或者是 64M,那么用 DropBear 替换默认的 OpenSSH 将是内存优化的首要任务!

适用的系统

  • CentOS 5.x (32bit 或 64bit)
  • CentOS 6.x (32bit 或 64bit)

从官方下载 DropBear 源码

首先是必须通过 SSH 登陆到你的 VPS,然后执行以下命令,从官方下载 DropBear 源码。

  1. yum install zlib* gcc make
  2. cd /root/
  3. mkdir tmp
  4. cd tmp
  5. wget http://matt.ucc.asn.au/dropbear/releases/dropbear-2011.54.tar.gz
  6. tar zxvf dropbear-2011.54.tar.gz
  7. cd dropbear-2011.54
  8. ./configure
yum install zlib* gcc make
cd /root/
mkdir tmp
cd tmp
wget http://matt.ucc.asn.au/dropbear/releases/dropbear-2011.54.tar.gz
tar zxvf dropbear-2011.54.tar.gz
cd dropbear-2011.54
./configure

先不要急着 make && make install (请先不要编译哦!)

更改 OpenSSH 默认端口

正如我们刚才所说的,先不要急着编译 DropBear,特别是当你的 OpenSSH 端口默认是 22 的时候。因为 DropBear 默认也用 22 端口,如果直接编译很可能会登陆不上 VPS 。运行下面这个命令:

  1. vi /etc/ssh/sshd_config
vi /etc/ssh/sshd_config

然后找到 #port 22 ,我们把他替换成 port 2020 (就是说把 port 22 前面的 # 去掉,然后把 22 改成 2020 ,然后保存退出) 。然后运行下面这个命令使设置生效:

  1. service sshd restart
service sshd restart

开始编译 DropBear

在刚才的目录里面,运行以下命令开始编译

  1. make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
  2. make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install

配置 DropBear

编译安装完毕之后还不能直接使用,我们必须配置 DropBear SSHD 服务器的公钥,以及让他随 VPS 开机自动启动。执行以下命令:

  1. mkdir /etc/dropbear
  2. /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
  3. /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key
mkdir /etc/dropbear
/usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
/usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

接下来启动 Dropbear

  1. /usr/local/sbin/dropbear
/usr/local/sbin/dropbear

然后将以上命令放入 /etc/rc.local 里面

停止 OpenSSH 以及禁止他自动启动

首先我们必须确认 DropBear 能够正常工作,因此我们直接 SSH 到 VPS ,默认端口是 22,如果可以登陆,则表示 DropBear 运行正常,接下来就是停止 OpenSSH 并且让他不要启动。运行以下命令:

记得先确定 DropBear 已经运行,否则你将失去与 VPS 的联系!(如果你的服务商提供 console 连接,则可以进去启动。)

  1. service sshd stop
  2. chkconfig --level 2345 sshd off
service sshd stop
chkconfig --level 2345 sshd off

参数备注

1. DropBear 的默认安装路径:

  1. /usr/local/sbin/
/usr/local/sbin/

2.从非 22 端口启动 DropBear

  1. /usr/local/sbin/dropbear -p 2222
/usr/local/sbin/dropbear -p 2222

3.查看 DropBear 帮助

  1. /usr/local/sbin/dropbear -h
/usr/local/sbin/dropbear -h

4.测试服务器在使用了 Dropbear ,关闭了 OpenSSH 后,有一个正在连接的 OpenVPN 进程 + 一个 Dropbear 进程,未安装其他程序的情况下,内存消耗只有 20M

cannot change locale (UTF-8) 的解决方法

SSH

今天在测试某家 VPS 服务商的 VPS 时候,遇到一个问题。系统安装的是 CentOS 6 ,在 VPS 信息发送到我邮箱之后,我就开始登陆 VPS 进行一些测试工作。很奇怪的是,第一次登陆 SSH 的时候,我得到一个提示:”-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)“。

其实这并不影响正常使用,不过由于每次登陆都可能会出现,因该有人会觉得不爽,还有可能会导致一些新手误判,以为是系统出错或者自己的配置与设置出错,因此在此提出解决方法。希望能够帮助到遇到相同问题的朋友们,同时也请我们的读者继续支持 VPSeek !

问题识别

SSH 登陆出现以下提示:

  1. -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)

解决办法

在 /etc/profile 中加入:

  1. LC_ALL="en_US"
LC_ALL="en_US"

Linux 下强制中断其他用户的登陆连接

shell

有没有试过,登陆上 VPS 的时候发现已经有其他人在登陆了?这个时候你是不是很希望把对方T掉?因为他很可能没有经过你的授权,不知道通过什么途径获得了 ROOT 密码,然后登陆到你的 VPS 上。又或者,当你需要运行一些程序、执行一些命令或者其他不希望让其他人在旁窥探的事情时,发现已经有人登陆到服务器上了,这个时候你是不是也很想把他立即清理出去?又或者,您在单位的电脑上 SSH 到了 VPS ,但是忘记关闭 Console ,而回到家之后又希望终止掉那边的连接?

不论是T掉在 VPS 上的不速之客,还是为了将一个遗忘关闭的连接给终止掉,Linux 提供了一个十分简单的命令给我们实现。

查看我们的不速之客

我们通过下面这个命令,可以查看 VPS 上还有谁在登陆:

  1. w
w

输出类似下列信息:

  1. 23:20:00 up 960 days, 4:29, 2 user, load average: 0.05, 0.02, 0.00
  2. USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
  3. root pts/0 183.16.xxx.x 22:59 0.00s 0.04s 0.00s w
  4. root pts/3 70.82.xxx.xx 22:59 0.00s 0.04s 0.00s w
23:20:00 up 960 days, 4:29, 2 user, load average: 0.05, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 183.16.xxx.x 22:59 0.00s 0.04s 0.00s w
root pts/3 70.82.xxx.xx 22:59 0.00s 0.04s 0.00s w

踢掉那些不速之客

183 那个 IP 是我的,但是我看到一个十分碍眼的 IP 。所幸的是,这不是别人,而是我为了撰写本文,通过某远程服务器连接进去的。接下来我们将使用以下这个命令,强行终止 70.82.xxx.xx 的连接。

  1. skill -9 -t pts/3
skill -9 -t pts/3

其中,pts/3 就是第二列里面,70.82.xxx.xx 所对应的 TTY 。执行上述命令后,那边的 Console 就会显示:

  1. Connection to xxx.xxx.xxx.xxx closed.
Connection to xxx.xxx.xxx.xxx closed.

清除 Linux 登陆信息及日志

shell

本文将介绍在 Linux 下,清除访问日志、登陆日志以及曾用命令的方法。请不要误会,这与黑客无关,同时黑客也不会直接像本文所介绍的一样直接清空各类日志文件,因为这样相当于让先前所做的动作变得有迹可循,提醒了使用者这台服务器已被入侵。对于黑客来说,有专门的工具伪造日志,让一切看起来都完美无暇,不过这部分内容我们将不会介绍。

这篇文章所介绍的方法,主要提供给那些不希望其他人知道服务器运行过什么命令、被什么IP登陆过的人。但需要注意的是,接下来我们介绍的这个方法将删除所有日志,即包括系统日志在内的所有日志将被抹去,用户将无法了解过去某个时段系统曾发生过什么事情。

复制并粘贴以下命令至 Shell 即可:

  1. echo > /var/log/syslog
  2. echo > /var/log/messages
  3. echo > /var/log/httpd/access_log
  4. echo > /var/log/httpd/error_log
  5. echo > /var/log/xferlog
  6. echo > /var/log/secure
  7. echo > /var/log/auth.log
  8. echo > /var/log/user.log
  9. echo > /var/log/wtmp
  10. echo > /var/log/lastlog
  11. echo > /var/log/btmp
  12. echo > /var/run/utmp
  13. history -c
echo > /var/log/syslog
echo > /var/log/messages
echo > /var/log/httpd/access_log
echo > /var/log/httpd/error_log
echo > /var/log/xferlog
echo > /var/log/secure
echo > /var/log/auth.log
echo > /var/log/user.log
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > /var/log/btmp
echo > /var/run/utmp
history -c

LNMP 上 CodeIgniter 运行环境配置

codeigniter

CodeIgniter 是一款国际著名的开源 PHP 框架。它十分小巧,但功能却非常强大,以“简单”和“优雅”著称,为广大 PHP 程序员建立完善的 Web 应用程序做出了不小的贡献。目前 CodeIgniter 也已经有了中文官方网站,文档也极为丰富,学习起来可谓是十分便捷。在 Apache 和 Lighttpd 下,CodeIgniter 都运作得很不错,但在 LNMP 环境(如军哥LNMP),由于不支持 mod_rewrite ,同时军哥 LNMP 默认也不支持直接创建 CodeIgniter 的虚拟主机,因此需要自己编写配置文件。

应读者要求,VPSeek 花了一些时间,研究了如何在军哥 LNMP 环境中正确运行 CodeIgniter 。接下来跟大家分享一下配置文件!

首先,我们需要按照 CodeIgniter 的官方教程,正确下载并且设置好相关的文件,将 CodeIgniter 主体程序放在我们的 VPS 上。VPSeek 将它存放在 /home/web/ci

紧接着,我们在 /usr/local/nginx/conf/vhost/ 中创建名为 ci.conf 的配置文件:

  1. server {
  2. server_name codeigniter-cn.com;
  3. root /home/web/ci;
  4. index index.html index.php index.htm;
  5.  
  6. location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
  7. expires max;
  8. log_not_found off;
  9. }
  10.  
  11. location / {
  12. try_files $uri $uri/ /index.php;
  13. }
  14. location ~* \.php$ {
  15. fastcgi_pass unix:/tmp/php-cgi.sock;
  16. fastcgi_index index.php;
  17. fastcgi_split_path_info ^(.+\.php)(.*)$;
  18. include fastcgi_params;
  19. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  20. }
  21. }
server {
server_name codeigniter-cn.com;
root /home/web/ci;
index index.html index.php index.htm;

location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}

location / {
try_files $uri $uri/ /index.php;
}
location ~* \.php$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

接下来我们当然是重启一下LNMP了:

  1. ~/lnmp reload
~/lnmp reload

是不是还不清楚 CodeIgniter 是何物?

来看看CodeIgniter 是为谁准备的?

  • 你想要一个小巧的框架。
  • 你需要出色的性能。
  • 你需要广泛兼容标准主机上的各种 PHP 版本和配置。
  • 你想要一个几乎只需 0 配置的框架。
  • 你想要一个不需使用命令行的框架。
  • 你想要一个不需坚守限制性编码规则的框架。
  • 你对 PEAR 这种大规模集成类库不感兴趣。
  • 你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
  • 你不喜欢复杂,热爱简单。
  • 你需要清晰、完整的文档。

无法删除 Logic Volume 的解决方法

lvm2

在使用 Xen 的过程中,我们经常会接触到 Logic Volume 的一些操作。当然在具体的使用中,我们也会遇到许多有关的问题,比方说无法挂载、无法卸载、或者无法删除 Logic Volume 的一些情况。本文将针对无法删除 Logic Volume 的问题,给出具体的解决方法。

无法删除 Logic Volume 的问题,多见于 Logic Volume 中包括了分区信息,同时为开启状态。在 Xen 的具体实战中,我们需要将一个 Windows 镜像通过 ntfsclone 克隆到一个 Logic Volume 的时候,可能会出现无法删除 Logic Volume 的情况。如果在确定 Logic Volume 没有被挂载的情况下依然无法删除,通过本文所介绍的方法,便可以解决。

以下操作以 /dev/vps/vm888_img 为例。

无法删除的提示信息

  1. lvremove /dev/vps/vm888_img
  2.   Can't remove open logical volume "vm888_img"
lvremove /dev/vps/vm888_img
  Can't remove open logical volume "vm888_img"

删除时会提示以上信息。

确定 vm888_img 未被挂载

  1. df -h
df -h

被挂载的 Logic Volume 可能无法被顺利删除。首先必须确保能够正确卸载。比方说先前如果在 Shell 里头运行了 screen ,在 screen 里挂载了 Logic Volume ,那么必须回到 Screen 中卸载,或者直接杀死该进程再进行卸载。

通过 fdisk 删除所有分区

  1. fdisk /dev/vps/vm888_img
  2. partprobe -s /dev/vps/vm888_img
fdisk /dev/vps/vm888_img
partprobe -s /dev/vps/vm888_img

我们通过 fdisk 命令,删除 Logic Volume 里面所有的分区信息,并且使设置生效。

删除该 Logic Volume

  1. lvremove -f /dev/vps/vm888_img
lvremove -f /dev/vps/vm888_img

第 1 页,共 3 页123

无觅相关文章插件,快速提升流量