Delete specific matching iptables rule

I had the scenario where I needed to allow telnet access from a server to a device which blocked telnet by default, I added the rule on the device using [code]iptables -I INPUT 1 -p tcp -s 10.10.10.10 --dport 23 -j ACCEPT[/code] Using [code]INPUT 1[/code] meant it was added as the first rule in iptables thus would be run before the one blocking all telnet. The problem came when it came to deleting rule as there was no easy way to ascertain if new rules had been added to the top of the chain meaning my rule was no longer number 1. To get round this I need to delete the specific rule I had created and this is how I did it. On the device I did [code]iptables-save |grep 10.10.10.10[/code] this outputted [code]-A INPUT -s 10.10.10.10/32 -p tcp -m tcp --dport 23 -j ACCEPT[/code] to delete all I needed to do was replace the -A with -D [code]iptables -D INPUT -s 10.10.10.10 -p tcp -m tcp --dport 23 -j ACCEPT[/code] Obviously tweak to suit your own situation.

Reset owncloud admin user password

*cd /var/www/owncloud* *sudo chmod +x occ* *./occ user:resetpassword admin* *enter password twice, that’s it your admin password has now been changed.*

VMWARE mpt-statusd: detected non-optimal RAID status

On a vmare instance running Debian there was a lot of these errors in syslog

mpt-statusd: detected non-optimal RAID status

because there is no raid device. So to disable and remove I did

service mpt-statusd stop

update-rc.d mpt-statusd remove

printswithfeelings.com review – don’t bother

I made an order at prints with feelings on 03/11/14 during that time i’ve messaged them 3 times via the contact form on their website asking them when my order will be processed with no reply. I also left them a ‘review’ on their website which they haven’t published (obviously only publish the positive ones). As of today it has been 14 working days since I placed the order and it’s still showing as unfulfilled. I would have expected at least a quick email from them informing of the reason for the delay but nothing. I will now raise a case through paypal.

UPDATE: I phones them on wednesday 26/11/14 and they stated that there had been an issue with the codes supplied by groupon hence the delay. I asked why all my emails had been ignored and they simply said that they have had lots of them. They checked and said my order was due to be printed and I will get an email once dispatched.

On 27/11/14 I got an email saying

“I sincerely apologize for the delay with your print. We have done the artwork for it and it should be sent out in the post ASAP. You will get an email to confirm that it has been dispatched.”

So as of yet it still hasn’t been posted. So currently it’s been 28 days since i ordered and a total of 20 working days.

If it wasn’t for the fact that’ve already purchased a frame I would cancel, now it’s just waiting to see if it comes in time for christmas.

Also on the review section of their website non have been published in november (including mine) so I assume there are many negative ones and they are filtering them to make it look like everyone is happy with their service.

Setup auto-mounting USB flash drive on Raspberry Pi

This tip is useful if you have scripts running that copy files to specific locations and you want the mounts to remain static. Although this is aimed at the raspberry pi it will also work on Debian etc you’ll just need to change the UID, GID etc.

I use ntfs drives so I can use them both on linux and windows so the first step was to install ntfs-3g
sudo apt-get install ntfs-3g

Insert the usb drive into a free port and run the following command to find out it’s UUID
ls -l /dev/disk/by-uuid/

My test drive showed this
lrwxrwxrwx 1 root root 10 Nov 16 20:52 DE64414D64412A1B -> ../../sda1

Make a note of the UUID – DE64414D64412A1B and the drive location /sda1

Create a mount point ie
sudo mkdir /man/usbflash

Set permissions
sudo chmod 770 /mnt/usbflash

Obtain the userid (UID) and groupid (GID) of the pi user
id

mine returned
uid=1000(pi) gid=1000(pi)

Mount the flash drive (note i’m using ntfs-3g for ntfs. Use vfat for FAT32 and ext4 for ext4)
sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=007 /dev/sda1 /mnt/usbflash

To make this persistant we update fstab but before doing so it’s a good idea to make a backup
sudo cp /etc/fstab /etc/fstab.backup
sudo nano /etc/fstab

Add the following to fstab (replace UUID UID GID and mount point with yours)
UUID=DE64414D64412A1B /mnt/usbflash ntfs-3g uid=1000,gid=1000,umask=007 0 0

Before mine looked like this
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that

and after

proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
UUID=DE64414D64412A1B /mnt/usbflash ntfs-3g uid=1000,gid=1000,umask=007 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that

Reboot
sudo reboot

That’s it you should find you drive automatically mounted under the folder you specified ie /mnt/usbflash

PiPress wordpress php mysql lighttpd installer now available

I’ve now completed my wordpress server install script, all details are available via the scripts page http://www.theoutpost.org/scripts/pipress/

Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)

A package install I was doing got interrupted and when I tried to remove it I got the following error.

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?.

To fix I found out what process was using the lock

sudo lsof /var/lib/dpkg/lock

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dpkg 9442 root 3uW REG 179,2 0 7067 /var/lib/dpkg/lock

And then killed it off

sudo kill -9 9442

PiPress – web server with wordpress for the raspberry pi

Since my tutorials about install a webserver and mysql on a raspberry pi i’ve had a few people ask me for help installing wordpress on top of it. It just so happens i’m building a pi for this very purpose so when it’s done I will make the image available so people can download it and install on their own pi’s.

Upgrade Debian 6 Squeeze To Wheezy 7

I had a debian box which I needed to upgrade speciffically to wheezy.

Open the sources file and change the word squeeze to wheezy
nano /etc/apt/sources.list
Change the words ‘squeeze’ to ‘wheezy’

deb http://mirrors.kernel.org/debian/ wheezy main
deb-src http://mirrors.kernel.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'
deb http://mirrors.kernel.org/debian/ wheezy-updates main
deb-src http://mirrors.kernel.org/debian/ wheezy-updates main

Save and exit
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
Job done :)

Map owncloud share in linux using webdav

Install davfs2
apt-get install davfs
Reconfigure davfs2 to allow access to other users (select ‘yes’ when prompted).
dpkg-reconfigure davfs2

Add users you want to be able to mount the share (where USER is the username)
usermod -aG davfs2 USER

Create a mountpoint
mkdir /mnt/owncloud
Mount the WebDav ownCloud
mount -t davfs https://owncloud_address_or_ip/owncloud/remote.php/webdav /mnt/owncloud
If your owncloud installation is in a directory other than ‘owncloud’ substitute it above. I used HTTPS which will encrypt communication and credentials but HTTP can also be used but obviously is higher risk.
Credentials can be automatically supplied by adding them to the following files
system wide /etc/davfs/secrets
individually ~/.davfs2/secrets
Edit either file using nano and add
https://owncloud_address_or_ip/owncloud/remote.php/webdav /mnt/owncloud USERNAME PASSWORD
To mount on boot add the following to fstab
https://owncloud_address_or_ip/owncloud/remote.php/webdav /mnt/owncloud davfs2 user,auto 0 0
(using noauto instead of auto will prevent it beingmounted automatically so choose depending on your enviroment)
To manually mount use
mount /mnt/owncloud
To unmount use
umount /mnt/owncloud
When I tried to create a test file on the shared I got the following error
touch: setting times of ‘test’: No such file or directory
To fix this edit your /etc/davfs2/davfs2.conf file and change/uncomment the ‘use_locks’ parameter to
use_locks 0