YUM是什么?

软件包管理器Yum(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器

显示系统已经安装的组件,和可以安装的组件

#yum grouplist
如果系统安装之初采用最小化安装,没有安装xwindow,那么先安装:

#yum groupinstall “X Window System”
安装GNOME桌面环境
yum groupinstall “GNOME Desktop Environment”
安装KDE桌面环境
yum groupinstall “KDE (K Desktop Environment)”

如果在CentOS安装的过程中选择了英文, 那么在浏览网页时就不能正确的显示中文。这时系统需要安装中文支持

使用yum安装的办法如下

yum groupinstall <language>-support
在上面的命令中,<language> 是下列之一: assamese, bengali, chinese, gujarati, hindi, japanese, kannada, korean, malayalam, marathi, oriya, punjabi, sinhala, tamil, thai, 或 telegu。

默认情况下, 普通用户执行sudo <指令> 的时候会出现如下错误:
xxx is not in the sudoers file
解决办法:

$ su -
# chmod u+w /etc/sudoers
# vi /etc/sudoers

找到如下行:
root ALL=(ALL) ALL
在其下面添加:
taovps ALL=(ALL) ALL"
(其中的taovps为你要添加的用户名)
保存
最后:
# chmod 440 /etc/sudoers

即可。

一般情况下,bash的操作记录会记录在用户目录的.bash_history文件中。查看当前用户名的操作记录只要执行以下命令

cat ~/.bash_history
要使得bash不再记录操作历史,修改/etc/profile将HISTSIZE=1000改成0或1,然后删除用户目录下的.bash_history文件即可。

立即清空里的history当前历史命令的记录:history -c

bash执行命令时不是马上把命令名称写入history文件的,而是存放在内部的buffer中,等bash退出时会一并写入。不过,可以调用'history -w'命令要求bash立即更新history文件。history -w

如果您只是需要临时改变一下IP地址,只要执行类似下面的命令即可

$ sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

如果需要永久改变IP地址,那么就要修改配置文件了

$ sudo vi /etc/network/interfaces
auto eth0
address 192.168.1.123
netmask 255.255.255.0
gateway 192.168.1.1

修改配置文件后,还不能让配置生效。重启网络办法

$ sudo /etc/init.d/networking restart

当然也可以简单的重启网卡即可

$ sudo ifdown eth0
$ sudo ifup eth0
查看网卡的情况使用命令ifconfig

在 WebHostingTalk 论坛上有些国外奸商会把虚拟机当作独立服务器卖,去年7月份的时候就有一位中国同胞上当受骗,并在 WHT 上发帖声讨,证据确凿,甚至连服务商自己也承认,回帖达355篇。这家独立服务器/VPS 提供商 HostATree.com 居然大胆的把 OpenVZ VPS 这种一看就知道是虚拟机的虚拟机当作独立服务器卖,晕,至少也要弄个 VMWare/KVM/Xen HVM 吧(更难发现是虚拟机),用 OpenVZ 这种容器也太欺负人了:)昨天恰好收到网友一封邮件问到了如何判断自己买的是独立服务器还是虚拟机的问题。这里 VPSee 简单介绍一下市面上常用虚拟技术(包括容器技术)的判别小技巧。

判断 OpenVZ/Xen PV/UML

判断 OpenVZ/Xen PV/UML 是最容易的,直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ VPS 上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印 /proc/cpuinfo 会找到 UML 标志。写了一个简单的 Python 脚本来检测:

#!/usr/bin/python
# check if a linux system running on a virtual machine (openvz/xen pv/uml)
# written by http://www.vpsee.com

import sys, os

def main():
    if os.getuid() != 0:
        print "must be run as root"
        sys.exit(0)

    # check OpenVZ/Virtuozzo
    if os.path.exists("/proc/vz"):
        if not os.path.exists("/proc/bc"):
            print "openvz container"
        else:
            print "openvz node"

    # check Xen
    if os.path.exists("/proc/xen/capabilities"):
        if (os.path.getsize("/proc/xen/capabilities") > 0):
            print "xen dom0"
        else:
            print "xen domU"

    # check User Mode Linux (UML)
    f = open("/proc/cpuinfo", "r"); t = f.read(); f.close()
    if (t.find("UML") > 0):
        print "uml"

if __name__=="__main__":
    main()

判断 VMware/Xen HVM/KVM

如果使用的是 VMware/Xen HVM/KVM 这样的全虚拟就更难判断一些,最准确的办法是读取 CPUID 来判断,Xen 源代码下面有一段检测是否是 Xen 的 C 语言代码 tools/misc/xen-detect.c,这段代码提供了一个很好的例子,VPSee 重写了代码,用宏替代了函数,增加了对 VMware 和 KVM 的识别,用 gcc 编译后就可以运行:

/*
 * check if a linux system running on a virtual machine (vmware/xen hvm/kvm)
 * written by http://www.vpsee.com
 */
#include stdio.h
#include string.h

#define HYPERVISOR_INFO 0x40000000

#define CPUID(idx, eax, ebx, ecx, edx) \
    asm volatile ( \
        "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid" \
        : "=b" (*ebx), "=a" (*eax), "=c" (*ecx), "=d" (*edx) \
        : "0" (idx) );

int main(void)
{
        unsigned int eax, ebx, ecx, edx;
        char string[13];

        CPUID(HYPERVISOR_INFO, &eax, &ebx, &ecx, &edx);
        *(unsigned int *)(string+0) = ebx;
        *(unsigned int *)(string+4) = ecx;
        *(unsigned int *)(string+8) = edx;

        string[12] = 0;
        if (strncmp(string, "XenVMMXenVMM", 12) == 0) {
                printf("xen hvm\n");
        } else if (strncmp(string, "VMwareVMware", 12) == 0) {
                printf("vmware\n");
        } else if (strncmp(string, "KVMKVMKVM", 12) == 0) {
                printf("kvm\n");
        } else
                printf("bare hardware\n");

        return 0;
}

判断 VirtualBox/Virtual PC

什么?这种家用桌面虚拟机自己装的还会不知道?!如果不知道的话也有办法,在 Linux 下运行 dmidecode 工具然后查找 Manufacturer: innotek GmbH, Manufacturer: Microsoft Corporation 关键字就能对应上 VirtualBox 和 Virtual PC.

via vpsee