nbalonso.com

Tmux Cheatsheet

| Comments

It is only recently that I’ve started using tmux and I am finding it very useful.

For all those wanting to give it a try, here you can download my tmux cheatsheet

Most Recent Netatalk Rpms

| Comments

EDIT: As pointed out below in the comments, certain library changes in rhel 7.2 make the pre-compiled version below not work or not install. If you don’t want to re-compile it yourself get this newer version that has been compiled with the newer libraries

RHEL 7.2 –> Download netatalk-3.1.8-0.1.5.el7.x86_64.rpm

I just published my first module in the Puppet forge. And because of that I am uploading here the most recent versions of netatalk.

RHEL 7 –> Download netatalk-3.1.7-1.2.el7.x86_64.rpm

RHEL 6 –> Download netatalk-3.1.7-1.2.el6.x86_64.rpm

The source rpm can be found here

Configure Your KVM Guests’ Console Access

| Comments

When you work as a systems administrator being able to access your systems is important.

There are times when this is not as easy as it seems. Might be due to a network problem, a misconfiguration or some other problem.

A good resource is to configure serial over lan on your physical boxes, so that you are not bound to a network connectivity and/or a healthy OS. This saves you from visiting the datacenter and that is good.

This type access through a serial port is also available when you virtualize your servers, admittedly is usually not so important, but still useful nonetheless.

To properly configure this on your virtual machines when using KVM here is what you have to do:

  1. Make sure your VM definition includes a console port mapped to a serial port. This is true by default and you can verify it with virsh

    1
    2
    3
    4
    5
    6
    
    bash-4.3$ virsh dumpxml server1.example.com | grep \<console -A 4
        <console type='pty' tty='/dev/pts/1'>
          <source path='/dev/pts/1'/>
          <target type='serial' port='0'/>
          <alias name='serial0'/>
        </console>
    

  2. Once that is done you need to boot your linux guest and add the following to /etc/default/grub. Eg.

    1
    2
    3
    4
    5
    6
    
    bash-4.3$ sudo cat >> /etc/default/grub << EOF
    ## Serial console
    GRUB_TERMINAL="serial"
    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200"
    GRUB_SERIAL_COMMAND="serial –speed=115200"
    EOF
    

  3. For bonus verbosity during boots we are going to remove the quiet mode and the GUI boot window with $ sudo sed -i 's/ rhgb quiet//' /etc/default/grub

  4. Then rebuild the kernel parameters for the grub entries with:

    1
    2
    3
    4
    5
    6
    7
    8
    
    bash-4.3$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    Found linux image: /boot/vmlinuz-3.10.0-229.14.1.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-229.14.1.el7.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-93ec805c5e364aff9c1c49035a337436
    Found initrd image: /boot/initramfs-0-rescue-93ec805c5e364aff9c1c49035a337436.img
    done
    

  5. And we’re done!

Ideally you should resize your terminal to 25 rows by 80 columns before connecting.

Now you can launch the console against your VM and you should get to see the whole boot process since the Grub menu. Eg.

1
2
3
4
5
6
7
8
bash-4.3$ virsh console server1.example.com
Connected to domain server1.example.com
Escape character is ^]

CentOS Linux 7 (Core)
Kernel 3.10.0-229.14.1.el7.x86_64 on an x86_64

server1 login:

To close the console session press ctrl+] on OS X.

Here two screenshots of the end result.

Now you can do funky things like messing TCP wrappers and stuff :P

Sources: