Archive for the ‘linux’ Category
Friday, May 21st, 2010
Using SSH you can run commands at remote servers.
By default the remote server will ask for credentials but for instance when writing a script it is not a good idea to store the login credentials in a script.
The solution to this is to create a key pair at the origin machine (where the script is) and then send this key to the remoteserver (where the script needs to login).
- First create a key pair (only has to be done once for this machine; it can be reused for other machines if you wish to be able to login to several computers)
jonas@jonas-desktop:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jonas/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jonas/.ssh/id_rsa.
Your public key has been saved in /home/jonas/.ssh/id_rsa.pub.
The key fingerprint is:
11:f9:5a:8f:7d:74:e4:68:3b:4b:22:1c:78:e6:be:2d jonas@jonas-desktop
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
| .. .|
| .o + |
| ..* + o|
| SB = o o |
| . = + = |
| . . + o |
| E. . |
| .o. |
+-----------------+
Passphrase is needed to “unlock” this key before being able to use it. Leaving passphrase blank means that the key can be used without any inputs.
- Next send the key to the server that you wish to be able to login to.
jonas@jonas-desktop:~$ ssh-copy-id -i .ssh/id_rsa.pub user@remoteserver
Warning: Permanently added 'remoteserver,11.222.333.222' (RSA) to the list of known hosts.
user@remoteserver's password:
Now try logging into the machine, with "ssh 'user@remoteserver'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
-i is the identity file we created with ssh-keygen
This is it. Now you are able to login to remoteserver as user without a password.
Tags: OpenSSH, password-less, SSH
Posted in linux, OpenSSH, unix | No Comments »
Wednesday, May 19th, 2010
By default untaring will put the contents into the current directory.
Sometimes it is not desirable to change directory to the target (such as in a scrip).
tar -xvvf /source/tarfile.tar -C /target
This will extract(x), very verbosly(vv) the file(f) /source/tarfile.tar to the directory(-C) /target (it will change the output folder to /target (so make sure it exists).
Tags: archive, tar
Posted in linux, unix | No Comments »
Wednesday, March 17th, 2010
- Check out “/etc/update-manager/release-upgrades” to make check out what sort of releases you wish to use (lts/normal/or never upgrade)
# default behavior for the release upgrader
#
[DEFAULT]
# default prompting behavior, valid options:
# never - never prompt for a new distribution version
# normal - prompt if a new version of the distribution is available
# lts - prompt only if a LTS version of the distribution is available
Prompt=normal
- Make sure the (current) dist is up to date. Problems are not guaranteed if you don’t – but they are likely
- apt-get update
- apt-get upgrade
- Make sure the upgrade tool is installed (and up to date) “apt-get install update-manager-core”
- do-release-upgrade
- Follow the instructions
Tags: distribution, do-release-upgrade, ubuntu, upgrade, version
Posted in ubuntu | No Comments »
Thursday, February 18th, 2010
netstat can be used to figure out what program is using a port.
$ netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1096/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1733/apache2
tcp6 0 0 :::22 :::* LISTEN 1096/sshd
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 6338 1071/gdm-simple-sla @/tmp/gdm-greeter-LvjLQPzT
unix 2 [ ACC ] STREAM LISTENING 5165 1072/X /tmp/.X11-unix/X0
If you have a lot open then grep can be used to only find what you are looking for
netstat -nlp|grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1096/sshd
tcp6 0 0 :::22 :::* LISTEN 1096/sshd
For windows, simply start with
Tags: ipv4, ipv6
Posted in debian, linux, ubuntu, unix, windows | No Comments »
Tuesday, February 16th, 2010
The arp cache should (normally) be cleared within 20 minutes (or less, this depends on what platform is used).
If you don’t know what ARP is and what is is good for, then perhaps you should take a moment and read the man page:
DESCRIPTION
Arp manipulates or displays the kernels IPv4 network neighbor cache. It can add entries to the table, delete one or display the current content.
ARP stands for Address Resolution Protocol, which is used to find the media access control address of a network neighbor for a given IPv4 Address.
On a windows platform to show the arp cache
C:\> arp -a
Interface: 192.168.1.49 --- 0xb
Internet Address Physical Address Type
192.168.1.29 00-1d-92-08-49-25 dynamic
192.168.1.34 00-24-81-85-ab-b6 dynamic
To clear the cache
C:\>netsh interface ip delete arpcache
Ok.
To show the arp cache on a nix machine:
$ arp -vn; cat /proc/net/arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:08:ae:09:20:a0 C eth0
IP address HW type Flags HW address Mask Device
192.168.1.254 0x1 0x2 00:08:ae:09:20:a0 * eth0
To clear the apr cache on a nix machine.
Tags: arp, ip4, mac
Posted in linux, unix, windows | No Comments »
Tuesday, February 16th, 2010
If running apt-get (or aptitude) and you get the following error:
$ apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory
Then (most likely) explenation is that one of the sources have gotten a timeout and that a (cron) sheduled update task have gotten locked.
A simple solution for this is to find the cron process is locked, and kill it.
$ ps -a |grep apt
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
3737 ? SN 0:00 /bin/sh /etc/cron.daily/apt
3833 ? SN 0:00 apt-get -qq -y update -o APT::Update::Auth-Failure::=cp /usr/share/apt/apt-auth-failure.note /var/lib/update-notifier/user.d/
3835 ? SN 0:00 /usr/lib/apt/methods/http
3838 ? SN 0:00 /usr/lib/apt/methods/http
3842 ? SN 0:00 /usr/lib/apt/methods/http
3869 ? SN 0:00 /usr/lib/apt/methods/http
4223 pts/0 R+ 0:00 grep apt
$ kill -9 3833
If this happens often, then perhaps you should try to debug the sources and remove (or exchange) the source that is causing the problems.
Tags: apt-get, ubuntu
Posted in debian, ubuntu | 1 Comment »
Thursday, February 11th, 2010
Use visudo to edit /etc/sudoers
user host = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
user, host and or the list of commands to be run can be swapped with the keyword ALL.
However that is probably not a good idea in most cases.
more info on this is in the manpages sudoers(5)
Tags: sudo, visudo
Posted in debian, linux, ubuntu | 1 Comment »
Wednesday, February 10th, 2010
Most of the time this error occurs that is a bad disk or a bad drive (or a bad cable).
Ubuntu 8.10 seams (from own experience and google) to be commonly affected by this.
You can try the following (I try them in this order)
- If you only get buffer errors and no CRC errors, just try and wait (a few minutes) It might still be possible to install
- Try another installation CD [from the same installation image] – if this works, then the other disk is bad
- Try to swap out the cable to the drive (if you have a ribbon cable use one with 80 connectors, not one with 40)
- Try to swap out the drive
- Try another installation CD [from another installation image, old version, other dist, windows] – if this works then there is an issue with the installation image – there might be an issue worth reporting
If all this fails or you wish to install the version you have, then using a usb stick to install the image might be a good idea.
Tags: I/O error, install, installing
Posted in ubuntu | No Comments »
Tuesday, February 9th, 2010
If you have a file that is saves as ISO-8859-1 (or ISO-LATIN-1 if you like to call it that) and wish to convert it to UTF-8 you can use:
iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./oldfile.htm > ./newfile.html
This will create a new file with the converted encoding.
iconv can of of course convert to and from several other charsets. To see a list of all the encodings that iconv can work with use:
If you wish to massconvert files find can be used with exec
find . -name "*.txt" -exec iconv -f ISO-8859-1 -t UTF-8 {} -o {}.utf8 \;
Tags: charset, encoding, iconv, utf-8
Posted in Development, linux | No Comments »
Tuesday, February 9th, 2010
apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
bind9-host dnsutils libbind9-50 libdns50 libisc50 libisccc50 libisccfg50 liblwres50 linux-generic linux-generic-pae linux-image-generic
linux-image-generic-pae
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.
The message has been kept back most often means that the upgrade was kept back due to dependencies that are not met.
Some possible solutions
- A simple way is to invoke dselect to help out with the update. dselect performs the actions necessary to realize that state (for instance, the removal of old and the installation of new packages).
- While apt-get and aptitude are basically the same, aptitude is sometimes better at handling dependencies than apt-get
- Another solution is to install the package using apt-get install to install the upgraded package and let apt-get install the missing dependencies
Tags: apt-get, aptitude, debian, ubuntu
Posted in debian, ubuntu | No Comments »