Category: Linux

  • yum使用方法

    将服务器上的软件包信息在本地缓存,提高搜索和安装软件的速度

    yum makecache

    列出所有可更新的软件清单

    yum check-update

    安装所有更新软件

    yum update httpd

    安装指定的软件

    yum install httpd

    仅更新指定的软件

    yum update

    列出可安裝的软件清单

    yum list

    列出现有的repo

    yum repolist

    列出已经安装的软件清单

    yum list installed

    列出httpd安装信息

    yum list httpd

    使用yum删除软件

    yum remove httpd

    重置yum源

    yum clean all

    列出所有已安装但不在Yum Repository内的软件包

    yum list extras

    执行多条yum命令时可以使用yum shell开启shell,然后运行run执行,如

    # yum shell
    > remove mysql mysql-libs mysql-devel mysql-server
    > install mariadb mariadb-libs mariadb-devel mariadb-server
    > run
    ^D

    ec2 AMI上安装 nodejs

    yum install nodejs npm --enablerepo=epel

    使用阿里云 CentOS7

    # centos7
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  • 安装puppet和facter

    puppet是批量管理服务器的工具,常用的模式是服务器/客户端模式。服务端叫master,客户端叫agent。

    当agent连接到master时,puppet使用一个叫做facter的工具来返回agent相关信息

    # apt-cache search facter
     facter - a library for retrieving facts from operating systems
    • 在centos下安装

    puppet是基于ruby的,安装Ruby语言包、Ruby标准库和Ruby Shadow库

    yum install ruby ruby-libs ruby-shadow

    使用epel仓库,通过安装epel-release RPM包安装

    rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    在master机上,安装puppet、puppet-server和facter

    yum install puppet puppet-server facter

    在agent机上,安装puppet facter

    yum install puppet facter

    如果使用ruby gem来安装(不推荐),则先安装rubygems包,使用如下命令安装puppet和facter

    yum install rubygems
    gem install puppet facter
    • debian/ubuntu下安装

    安装ruby libshadow-ruby1.8

    apt-get install ruby libshadow-ruby1.8

    在master机上,安装puppet、puppet-server和facter

    apt-get install puppet puppetmaster facter

    在agent机上,安装 puppet facter

    apt-get install puppet facter

    这样puppet安装过程就完成了

    参考:http://docs.puppetlabs.com/guides/installation.html

  • 通过ipmitools设置ipmi

    使用DELL的远程控制卡可以方便的管理服务器

    在CentOS中可以使用ipmitools管理 IPMI( Intelligent Platform Management Interface).

    要使用选程控制卡,一般需将一根网线插入控制卡中并设置ip,在BIOS的Integrated Dell Remote Access Controller (iDRAC)中设置 Dedicated (专用),遇到设置是shared(共享),发现控制卡的网卡灯不亮,分配了静态ip也没法用,这时就需要改成Dedicated 。

    用ipmitool设置dedicated

    ipmitool delloem lan set dedicated

    DELL的R410, R610按Ctrl+E进入设置界面
    DELL C6100 R620按F2进入设置界面

    在centos安装OpenIPMI:

    yum install OpenIPMI OpenIPMI-tools

    设置开机启动

    chkconfig ipmi on

    启动ipmi服务

    service ipmi start

    例子:

    设置固定ip

    ipmitool -I open lan set 1 ipsrc static
    ipmitool -I open lan set 1 ipaddr 10.10.1.x
    ipmitool -I open lan set 1 netmask 255.255.255.0
    ipmitool -I open lan set 1 defgw ipaddr 10.10.1.1
    ipmitool -I open lan set 1 access on

    设置自动获取ip,如果一时获取不到,需要切断机器的电源,等待5分钟之后,先插上网线再接上电源

    ipmitool -I open lan set 1 ipsrc dhcp

    查看控制卡信息

    ipmitool lan print 1

    查看管理地址

    ipmitool lan print 1 | grep 'IP Address'
    

    为加强安全,修改默认的SNMP通讯串

    ipmitool -I open lan set 1 snmp COMUNIATION
    查看有哪些用户可以web登陆
    ipmitool -I open user list 1

    得到:

    ID  Name         Callin  Link Auth  IPMI Msg   Channel Priv Limit
    1                true    false      true       ADMINISTRATOR
    2   admin        true    false      false      NO ACCESS
    列出来的序号为2的为root用户,为administration权限,(默认密码是root或calvin),现在更改其密码
    ipmitool -I open user set password 2
    输入两次密码即可。
    同理,序号为1的为一个user普通用户null,更改其密码
    ipmitool -I open lan set 1 password
    对用户的限制
    用户的启用:ipmitool user enable
    对用户进行权限控制:ipmitool user priv
    上面的都是在操作系统内对本机的远程管理卡进行设置和查看,对远端操作可以使用以下命令:
    ipmitool -H 192.168.8.137 -U root -P root sensor |grep -i temp
    查看event log
    ipmitool -v -H 10.10.1.38  -U root -P root sel list
    清空 event log
    ipmitool sel clear
    也可以控制远端ipmi的电源
    ipmitool -I lan -H 10.1.199.212 -U root -P root chassis power off/reset/on/status
    控制远端ipmi的引导方式
    ipmitool -I lan -H 10.1.199.212 -U root -P root chassis bootdev pxe/disk/cdrom
    关于设置的生效问题:
    到目前测试的情况来看,将机器关机断电后,3分钟再加电开机,这样生效最靠谱。
    但实时生效是我们的目标,但效果不是很好
    网上说ipmitool mc reset cold是重启BMC,但我试了一下,是重置,网上的东西一定要质疑。
    参考:
    设置iDRAC
    设置ipmi
    补充:
    对于Dell多刀的C系列服务器,使用最上面的方法用ipmitool修改网卡模式dedicated为shared会提示
    Error in setting nic selection (Invalid command)

    C系列,如C6100,要用dell自已出的工具 bmc tool来设置网卡的共享模式

    下载地址 http://poweredgec.com/,提供tgz和rpm安装包。我这里下载tgz包,解压之后执行

    [root@jpuyy ~]# ./bmc nic_mode get
     dedicated
    [root@jpuyy ~]# ./bmc nic_mode set shared
    [root@jpuyy ~]# ./bmc nic_mode get
     shared

    Dell C系列bmc工具使用手册http://poweredgec.com/files/QSG_PowerEdge_C_System_Management.pdf

    返回第n个节点。

    bmc node_number
  • 树莓pi连接无线网络

    这里使用的前提是已经连接好usb无线网卡, ifconfig命令能够看到wlan0 编辑 /etc/wpa.config, 写入以下内容

    network={
        ssid="i_am_ssid"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk="i_am_password"
    }

    接下来编辑/etc/network/interfaces,注意,如果默认使用无线网的话,写配置文件时,将wlan0写在eth0之前。我之前是将wlan0写在eth0之后,这种情况下,只有在插有线的时候无线才能用,拨掉有线就不能用了;将wlan0写在eth0之前,就可以单独使用无线,上述情况仅供参考。 如果想要动态获取地址,请按如下配置:

    auto wlan0
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa.config

    如果要静态获取ip地址,则按如下配置:

    auto wlan0
    iface wlan0 inet static
    address 192.168.1.21
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8
    wpa-conf /etc/wpa.config

    配置完成后重启网络或pi后生效

  • 在ec2的AMI上安装oracle的jdk

    亚马逊上()默认的jdk为openjdk,现在换为oracle的。

    操作步骤如下(如需64位的,将下面的i586改为x64;6u34-b04可以猜是版本号)

    PS:oracle已经不支持直接下载,使用这个技巧来下载

    wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=xxx;" http://download.oracle.com/otn-pub/java/jdk/6u34-b04/jdk-6u34-linux-i586-rpm.bin
    sudo bash
    chmod +x jdk-6u34-linux-i586-rpm.bin
    ./jdk-6u34-linux-i586-rpm.bin
    alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000
    update-alternatives --config java
    ln -s /usr/java/default/jre /usr/lib/jvm/jre
    ln -s /usr/share/java /usr/lib/jvm-exports/jre

    使用java -version,出现下面类似信息,则已经将默认jvm变为oracle版。

    $ java -version
    java version "1.6.0_34"
    Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
    Java HotSpot(TM) Client VM (build 20.9-b04, mixed mode, sharing)

    这里多说一句update-alternatives,它可以设置某一类软件的默认程序,如果想将vim取代nano变为默认编辑器,则使用如下命令:

    update-alternatives --config editor

    还可以配置FTP,telnet,rsh等预设程序,更多的查看/etc/alternatives目录。

  • ubuntu安装jdk7

    第一步:添加JDK7的源

    # Step 1: Add the repository for JDK 7.

    sudo apt-add-repository ppa:webupd8team/java

    第二步:更新

    # Step 2: Update

    sudo apt-get update

    第三步:安装JDK及附加组件

    # Step 3: Install JDK and associated utilities

    sudo apt-get install oracle-java7-installer

    第四步:设置默认编译器

    # Step 4: Set the default java interpreter used by the system.

    sudo update-alternatives --config java