Tutorial: Ubuntu Linux on a Handheld / Mobile Device

Posted on in Categories Hardware, Linux, Linux distribution, Linux Embedded devices, Ubuntu Linux last updated January 31, 2008

Ubuntu Linux is a great server and desktop distribution for x86 computers, but did you know that it’s also ideal for handheld and mobile embedded devices?

Ubuntu’s latest release, Gutsy Gibbon, now includes support for the embedded and mobile spaces with the Ubuntu Mobile and Embedded (UME) project. Get to know the UME project, and find out how to get started. The primary objective of this tutorial is to get you quickly acquainted with the Ubuntu embedded framework and tools. Along the way, you learn about several tools and new approaches to Linux kernel configuration and environment construction. You also learn about some other projects with goals similar to the UME project.

Topics

  • Introduction to the Ubuntu Mobile and Embedded (UME) project, its architecture, and its use
  • How to install and test the Hildon desktop
  • How to build a development environment for a mobile device
  • Other mobile platforms

=> Explore Ubuntu Mobile and Embedded [ free registration required ]

Asus E-DT / E-Monitor / E-TV – Linux Based Low Cost Devices

Posted on in Categories Hardware, Linux, Linux desktop, Linux Embedded devices last updated January 30, 2008

Asus is extending the idea of Low-cost Linux based computer and gadgets to desktop PCs, TVs, and Monitors.

Asus has named the upcoming additions to its Eee PC family of low-cost computers, soon to be augmented with a small form-factor desktop machine, an all-in-one system and a TV. The details are as follows:

a) E-DT – Desktop PC, No Monitor – Cost between $200-300.

b) E-Monitor – 19-21″ screen all in one desktop computer like iMac – Cost around $499.

c) E-TV – 42″ Plasma with computer technology on board running Linux.

More information available here. What do you thing? Would you go for such cheap TV / Pc?

Cisco Nexus 7000 Network Switch Can Route 15 Terabits Per Second

Posted on in Categories Hardware, Networking, News last updated January 29, 2008

A new network switch with massive 20 times bandwidth capacity that of any switch currently available in market.

Cisco 7000 Network Switch scales beyond 15 terabits per second, with future availability of 40Gb and 100 Gb Ethernet and unified fabric I/O modules.
A More Scalable and Flexible Data Center Switch From Cisco
(Fig. 01: Cisco’s 3-1/2-foot-tall box – Nexus 7000 Network Switch [image credit cisco])

More information available here and here.

Send ICMP Nasty Garbage Packets to Network Hosts With sing Utility

Posted on in Categories Howto, Linux, Networking, Security, Tips, UNIX last updated January 29, 2008

Generally, I prefer to use nmap command for ICMP network scanning to probe all my network devices. By finding out unprotected devices you can improve network security and troubleshoot network problems. Recently, I discovered a cool utility called sing. It allows you to sends ICMP packets fully customized from command line. It allows you to do ICMP network scanning. Now you must be wondering, why perform ICMP network scanning? You can troubleshoot many network related problems without leaving your desk. For example,

  1. Find out using record route IP option to see the route that takes to vpn.nixcraft.in
  2. Find out remote server / network device operating system
  3. Diagnosing data-dependent problems in a network
  4. Test firewall security for invalid and garbage ICMP packets
  5. ICMP message types that generate responses from target routers / firewalls / IDS and other hosts
  6. Try to spoof router address and see how overall network reacts and many other things

This tool is not for a new UNIX / Linux user. It requires some sort of understanding for Internet hosts – communication layers and ICMP router discovery messages etc.
Continue reading “Send ICMP Nasty Garbage Packets to Network Hosts With sing Utility”

Get Information about All Running Services Remotely

Posted on in Categories Debian Linux, FreeBSD, Gentoo Linux, Hardware, Howto, Linux last updated January 29, 2008

From my mailbag the other day I received an interesting suggestion about obtaining information regarding all running process and network connections remotely using inetd / xinetd :

SSH client can be used to execute a command(s) on a remote UNIX box. Same technique can be used to get current network and system information using netstat information:
ssh [email protected] netstat -a
ssh [email protected] netstat -tulpn

He suggests that above command can be run via inetd / xinetd so that admin can connect easily and get information using telnet from 100s UNIX boxes. All you have to do is open /etc/inetd.conf under UNIX / Linux:
# vi /etc/inetd.conf
Append following line:
netstat stream tcp nowait root /bin/netstat netstat -a
Restart inetd:
# /etc/init.d/openbsd-inetd restart
Next, use telnet to connect to the netstat service (port 15) and get network connection information:
$ telnet server-name netstat
$ telnet 192.168.1.5 15

Output:

Trying 192.168.1.5...
Connected to 192.168.1.5.
Escape character is '^]'.
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:6881                  *:*                     LISTEN
tcp        0      0 *:6081                  *:*                     LISTEN
tcp        0      0 *:nfs                   *:*                     LISTEN
tcp        0      0 localhost:6082          *:*                     LISTEN
tcp        0      0 *:54053                 *:*                     LISTEN
tcp        0      0 *:59275                 *:*                     LISTEN
tcp        0      0 *:netstat               *:*                     LISTEN
tcp        0      0 *:sunrpc                *:*                     LISTEN
tcp        0      0 localhost:webcache      *:*                     LISTEN
tcp        0      0 *:43218                 *:*                     LISTEN
tcp        0      0 *:domain                *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp        0      0 *:telnet                *:*                     LISTEN
tcp        0      0 *:3128                  *:*                     LISTEN
tcp        0      0 localhost:smtp          *:*                     LISTEN
tcp        0      1 vivek-desktop.loc:48925 bas4-kitchener06-:56662 SYN_SENT
tcp        0      0 vivek-desktop.loc:54791 customer5673.pool:16273 ESTABLISHED
tcp        0      0 vivek-desktop.loc:38398 59.94.1xx.yy:45483      ESTABLISHED
tcp        0      0 vivek-desktop.loc:42048 60.21.zz.yyy:23235       ESTABLISHED
...........
....
....
unix  3      [ ]         STREAM     CONNECTED     15973
unix  3      [ ]         STREAM     CONNECTED     15947    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     15946
unix  3      [ ]         STREAM     CONNECTED     15936    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     15935
unix  2      [ ]         DGRAM                    15931
unix  3      [ ]         STREAM     CONNECTED     15916
unix  3      [ ]         STREAM     CONNECTED     15915
unix  2      [ ]         DGRAM                    15906
Connection closed by foreign host.

There are few problems with this solution:
a] Unnecessary service running at port # 15

b] Telnet protocol is not secure

c] I strongly recommend using ssh and password-less login for scripts to obtain this kind of information:
ssh [email protected] netstat -a
ssh [email protected] df -H
ssh [email protected] free -m
ssh [email protected] /path/to/script.pl

Nokia to Acquire Trolltech For USD 150 Million

Posted on in Categories Business, Linux Embedded devices, Linux phone, Make money with Linux last updated January 28, 2008
Nokia to Acquire Trolltech Open Source Product Company

Recently, Sun acquired MySQL for USD 1 billion. Today Trolltech announced that they have entered into an agreement that Nokia to acquire Trolltech for USD 150 million. Congratulations, Eirik, Haavard and the crew.

Trolltech created Qt, a multi-platform C++ Graphical User Interfaces (GUI) framework which also includes packages such as data structures and a networking library. The popular free Unix desktop environment KDE uses. From the press release:
Trolltech Open Source Product Company

Nokia and Trolltech ASA today announced that they have entered into an agreement that Nokia will make a public voluntary tender offer to acquire Trolltech (www.trolltech.com), a company headquartered in Oslo, Norway and publicly listed on the Oslo Stock Exchange. Trolltech is a recognized software provider with world-class software development platforms and frameworks. In addition to the key software assets, its talented team will play an important role in accelerating the implementation of Nokia’s software strategy.

Nokia will offer NOK 16 per share in cash. The board of directors of Trolltech has unanimously recommended that its shareholders accept Nokia’s Offer. Holders of 35,024,830 shares, representing approximately 66,43 % of Trolltech’s issued shares and votes have as of January 27, 2008 irrevocably undertaken to accept the Offer. Haavard Nord, Vuonislahti Invest AS (controlled by Eirik Chambe-Eng), Teknoinvest and certain funds managed by Index Ventures are among the shareholders who have agreed to tender their shares to Nokia.

scapy – Interactive Packet Manipulation / Generation Tool for Linux / UNIX

Posted on in Categories Debian Linux, Hardware, Linux, Security, Ubuntu Linux, UNIX last updated January 28, 2008

Recently I started to play with scapy – a powerful interactive packet manipulation and custom packet generation program written using Python. Please note that this tool is not for a new Linux / UNIX users. This tool requires extensive knowledge of network protocols, packets, layers and other hardcore networking concepts. This tool is extermly useful for
a] Understanding network headers
b] Testing network security
c] Write your own utilities using scapy
d] Decoding protocols etc

From the man page:

You can use this tool to check the security of your own network as it allows to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery. It also performs very well at a lot of other specific tasks that most other tools can’t handle, like sending invalid frames, injecting your own 802.11 frames, combining technics such as VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, etc.

Continue reading “scapy – Interactive Packet Manipulation / Generation Tool for Linux / UNIX”

How To Setup Disk Quotas For MySQL Database

Posted on in Categories Howto, Linux, MySQL, UNIX last updated January 28, 2008

This is a user contributed article.

MySQL server has no support for preventing disk from getting filled up. You need to depend upon external configurations. Let us see how to use standard Linux disk quota to limit user database size.

Suppose you have a user foo on the system as well as on MySQL. Now how do you limit space for foo?

Step #1: Create a separate directory for databases in foo’s home say /home/foo/dbs with ownership mysql:foo and permissions 3755:
# mkdir /home/foo/dbs && chown mysql:foo /home/foo/dbs && chmod 3755 /home/foo/dbs
Step #2: Now move all foo’s databases from /var/lib/mysql to /home/foo/dbs
# mkdir /root/backup
# cp -avr /var/lib/mysql/* root/backup
# mv /var/lib/mysql/database-name /home/foo/dbs/
# chown -Rf mysql:foo /home/foo
# chmod -Rf 3755 /home/foo
# ln -s /var/lib/mysql/database-name /home/foo/dbs/database-name -v

Finally, restart mysqld. If mysqld starts with OK status, then its working else it isn’t:
# /etc/init.d/mysqld restart

NOTE- I AM NOT RESPONSIBLE FOR ANY DAMAGES OCCURRED & TO TEST THIS TRY RESTARTING mysqld. Always backup database before trying something new.

Other tools

  • MySQL Quota-Tool : The MySQL Quota-Tool helps you to set a size limit on MySQL databases. It works by checking the size of each database and revoking the INSERT- and CREATE-priveleges for the databases, which exceed the given size limit. When the size of the database falls below the given limit, the INSERT- and CREATE-priveleges are granted again.
  • MySQL Quota Daemon : MySQL Quota Daemon is a lightweight tool for limiting database sizes.
  • Developing a MySQL Quota Daemon : One of the drawbacks of MySQL is the lack of a real quota system. This article will cover how our ISP was able to solve this problem and keep track of our customers’ databases. With this completely automated solution, many hours of administration work was avoided.
  • Feel free to add your tools and tricks in the comments.

About the author: This article is contributed by Nilesh.

Asus Linux EEE PC – India Launch on 29th January 2008

Posted on in Categories Debian Linux, Howto, India, Linux, Linux laptop last updated January 27, 2008

Eee Pc launch is scheduled on 29th January 2008. People interested in purchasing Eee PC should directly contact Asus Mumbai Headquarters. You can also book online at Asus EEE Pc India website. Models are galaxy black and pearl white for INR 18,000/ price.

More information about EEE PC specification available here. I’m going to get one for myself 😀

Update: I talked to someone at Asus and PC will be available from 1st week of Feb-2008 for rest of the India. So if you are in Bangalore or Delhi wait till next week.

How To Track Changes in Your Linux Filesystem

Posted on in Categories File system, Howto, Linux, RedHat/Fedora Linux, Sys admin, Tips last updated January 25, 2008

kfsmd is an interesting tool to keep track of changes in your filesystems. This tool based upon inotify which is a Linux kernel subsystem that provides file system event notification. Useful for file auditing. From the article:

Applications can ask the Linux kernel to report changes to selected files and directories. I created the Kernel Filesystem Monitoring Daemon (kfsmd) to make monitoring filesystem changes simple. Command-line clients for kfsmd come in two categories: monitoring and logging. The monitoring client produces output on the console whenever something happens to a filesystem you are watching. You can log to either a Berkeley DB4 file or a PostgreSQL database.

=> Use kfsmd to keep track of changes in your filesystems

Related: Linux audit files to see who made changes to a file