Archive

Archive for the ‘linux’ Category

Daemonize any process in Linux

February 28th, 2010 madiga 1 comment

Any user or admin more than likely faced or will face a situation where their command will take a long time to complete and at the same time you’d want to logout and go home.  If user’s shell exits, it sends a SIGHUP signal to it’s children killing them all.

Well one of the reasons why Linux is so awesome is that it has a solution for almost any situation.  So in this case, if the job is preceded by the nohup command, the program ignores SIGHUP and will continue to run on the system until completion. Processes run by nohup are immnue to SIGHUP and SIGQUIT signals.

By using nohup, it releases the command to the system level and it becomes independent of your shell and functions as a system daemon.  You can also run your command and redirect output to a log to scan through later.  Here are some examples of using nohup:

$ nohup myprogram &

  • The above command starts myprogram in the background in such a way that the subsequent logout does not stop it.  By default, nohup.out is created and captures all the output.

$ nohup myprogram > /tmp/output.log 2>&1 &

  • The above redirect output to a file other than the nohup.out.

If you already have something running in bg without using the nohup command, you can easily bring nohup to the picture:

$ myprogram &
$ nohup -p `pgrep myprogram`

  • myprogram is now preceded by nohup.

$ nohup find / -name ‘*’ -size +1000k > log.txt

  • The above example runs the find command, detaches itself in bg as a daemon and continues to run until completion.
Categories: linux Tags:

Kubuntu is awesome!

February 27th, 2010 madiga 5 comments

Why do many people use Gnome as their window manager for Linux?  It seems Ubuntu.com markets the distribution which contains Gnome pre-installed. For example, the live CD contains Gnome and for this reason many new users seem to think this is their limitation as far desktop interface goes.

However if there are users who are transitioning from Window to Linux for the first time, then KDE is probably a more suitable candidate for it’s familiar style to Windows and ease of moving around.

Gnome feels more of a Unix desktop for average Linux users but with KDE, new users would immediately find themselves very comfortable with it.

Just click on the big “K” icon and you’ll see the familiar look and feel that Windows has.   So my advice for what it’s worth is to give KDE a try.  Download the Kubuntu distribution instead and give it a shot instead of the default distribution.  If you already have Ubuntu installed and want to give KDE a try, simply type:

sudo apt-get install kubuntu-desktop

You can decide to use kdm (KDE) or gdm (Gnome) as your default but you can keep it as gdm for now and if you like KDE more, you can always make it a default later.  The login process usually asks if you want to make KDE your default or not.

If you find yourself not liking KDE, then simply remove by typing:

sudo aptitude remove kubuntu-desktop

Enjoy KDE, I am.

Categories: linux Tags:

Command line calculator for Linux, calculate big with bc

February 25th, 2010 madiga 3 comments

If you’re a command line freak, you’ve probably use expr for common math calculations but did you know that the bc command allows you to do similar math calculations and is more powerful when it comes to bigger calculations?

bc is a language that supports arbitrary precision numbers with interactive execution of statements. There are some similarities in the syntax to the C programming language. A standard math library is available by command line option. If requested, the math library is defined before processing any files. bc starts by processing code from all the files listed on the command line in the order listed. After all files have been processed, bc reads from the standard input. All code is executed as it is read. (If a file contains a command to halt the processor, bc will never read from the standard input.)

If the above man page description don’t make any sense yet, then just remember that bc is a command line calculator. The nice thing about bc is that it accepts inputs from files, from standard output and this allows the command line user to pipe data out for quick calculations. The syntax for basic calculation is very similar to Google’s calculator.

Here are some basic examples:

$ cat file.txt
5+5
$ bc < file.txt
10
$
echo 2+2 | bc
4

It’s possible to use basic math with variables:

$ A=9
$ B=6
$ C=$ ((A+B))
$ echo $C
15

Some more basic examples of addition, subtraction, multiplication and division:

$ echo ‘50+20′ | bc
70
$ echo ‘50-20′ | bc
30
$ echo ‘50*20′ | bc
1000
$ echo ‘50/20′ | bc
2

There is a variable called scale and using it adds number of digits which follow the decimal point. By default scale is 0. So the above example shows 2 but if scale variable was used, the result could be displayed in x # of digits.

$ echo ’scale=1;50/20′ | bc
2.5

How about square root, and power:

$ echo ’scale=15;sqrt(8)’ | bc
2.828427124746190
$ echo ‘4^4′ | bc
256

Convert from decimal to hexadecimal, from decimal to binary and from binary back to decimal:

$ echo ‘obase=16;255′ | bc
FF
$ echo ‘obase=2;22′ | bc
10110
$ echo ‘ibase=2;obase=A;10110′ | bc
22

bc in interactive mode:

$ bc
4*4
16
13*13
169
scale=10
199/3
66.3333333333
2^32
4294967296

As you can see, it’s not shy about displaying the big value results. Here are some more resources to help you explore bc further:

  1. man bc (Yes man page, it’s got everything you’ll need)
Categories: linux Tags:

15 Remote Desktop Solutions for Linux.

February 7th, 2010 madiga 10 comments

There are a wide range of remote desktop applications that are available that can be used to connect to Windows environment but there aren’t too many that can be used to remote desktop from Linux to Linux or Windows to Linux. With this I mean, getting entire desktop of remote Linux environment on your local workstation.

Most people who are used to a Unix-style environment know that a machine can be reached over the network at the shell level using utilities like telnet or ssh. And some people realize that X Windows output can be redirected back to the client workstation. But many people don’t realize that it is easy to use an entire desktop over the network. There are a several of open source applications that can be used to achieve this.

1)  VNC (Virtual Network Computing) is a remote display system which allows the user to view the desktop of a remote machine anywhere on the internet. It can also be directed through SSH for security.

Basically you install VNC server on the server and install client on your local PC. Setup is extremely easy and server is very stable. On client side, you can set the resolution and connect to IP of VNC server. It can be a bit slow compared to Windows remote desktop and also has the tendency to take more time refreshing over low-bandwidth links. All in all VNC is an amazing piece of free software that gets the job done.

There is RealVNC , TightVNC and UltraVNC. Each has it’s advantages and disadvantages. Most popular one is RealVNC but if you’re upto it, experiment with all three and choose the one that works for you best. By default, communication between client and server is in clear text on port 5900. However, you can easily route all traffic via SSH tunnel. Here is a quick way of setting it up if you have access to command line shell:

ssh -ND 5900 <user>@remote.server.com

When you get prompted, enter your password. Pop open VNC client and connect to ‘localhost’. This’ll route your connection to VNC server on remote machine.

You can download VNC from:

2)  Then there is FreeNX. FreeNX is a system that allows you to access your desktop from another machine over the internet. You can use this to login graphically to your desktop from a remote location. One example of its use would be to have a FreeNX server set up on your home computer, and graphically logging in to the home computer from your work computer, using a FreeNX client. It provides near local speed application responsiveness over high latency, low bandwidth links.

FreeNX can be configured to run via SSH without any tunneling. It binds to your existing SSH install. Instead of guiding you through the installation of FreeNX in this article, you can visit the following URLs that’ll guide you through the installation on Ubuntu:

3) The third free application is 2X Terminal Server for Linux. 2X TerminalServer for Linux is an Open Source project, licensed under the GPL and is free of charge. As far as performance goes, NoMachine’s technology is on par with Windows’ own Remote Desktop Protocol (RDP) suite, better than VNC. Both X2 and FreeNX is based on NoMachine technology.

Here are some quick links if you’re interested in using this software:

4) Then there is is XDMCP. The X Display Manager Control Protocol uses UDP port 177. Compared to the list above, it’s not as easy to setup for remote desktop but it’s the original way of doing this on Linux. You can get setup instructions and other tips in the following URL:

5) CygwinX. A complete Linux emulation on Windows. You’ll find every tool and app that you have on Linux on Cygwin.

6) XRDP. RDP server that runs on Linux, thus allowing you to use Windows Remote Desktop Client or rdesktop to connect.

7) x2vnc – great little utility that allows you to tie a linux and windows (or anything that can run the vncserver) together with a ingle keyboard/mouse, avoiding the need for a switcher box. Mousing cross screens transparently switches between machines, and cut and aste works.

8 ) Xming – t’s a great and lightweight implementation of X11 for Windows that allows you to connect to a Linux box.

9) KDE Desktop Sharing (formerly krfb) – part of KDE since version 3.1. It is located in the kdenetwork package. If your distribution splits the KDE applications into separate packets, you may find the client as ‘krdc’ and the server as ‘krfb’. Also uses VNC technology.

10) X-Win32 - Top rated PC X server solutions for Windows PCs connecting to remote Unix and Linux host systems. Works well over SSH.

11) Single Click UltraVNC – In case you would like to remote control without any software installed on the target computer you need UltraVNC SC. The user on the to be controlled computer needs to simply click on a web page and remote controlling begins.

12) CrossLoop – CrossLoop is a FREE secure screen sharing utility designed for people of all technical skill levels. CrossLoop extends the boundaries of VNC’s traditional screen sharing by enabling non-technical users to get connected from anywhere on the Internet in seconds without changing any firewall or router settings.

13) Thinstation – Although not a remote desktop app but worth mentioning here. Thin client linux distro for terminals using std. x86 hw. It can boot from network, pxe, syslinux,loadlin, CD, floppy or flash-disk and connect to servers using VNC, RDP, XDM, SSH and etc.

14) rdesktop - an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s NT desktop. rdesktop currently runs on most UNIX based platforms with the X Window System, and other ports should be fairly straightforward.

While you’re at it, get grdesktop from (http://www.nongnu.org/grdesktop/). It is a GNOME frontend, for rdesktop. It can save several connections (including their options), and browse the network for available terminal servers.

15) ssh -X – You can check out this great article written by a slashdot user sometime ago.

Windows to Mac / Mac to Windows

1) RDP Client for Mac allows you to connect to a Windows-based computer and work with programs and files on that computer from your Macintosh computer.

2) OSXVnc – Vine Server is a full featured VNC server for Mac OS X providing remote access to the GUI, keyboard and mouse using Vine Viewer or any other VNC client.

3) Chicken of the VNC – A VNC client allows one to display and interact with a remote computer screen. In other words, you can use Chicken of the VNC to interact with a remote computer as though it’s right next to you.

Unfortunately I was not able to find too many available to connect to Mac from Windows other than VNC. I think Windows need to support RDP into Mac. Many people would benefit from this.

If I am missing anything from the list, please let me know.

Categories: linux, tools Tags:

Tiny Linux Command Reference

February 5th, 2010 madiga No comments

Tiny Linux Command Reference

ls List files/directories in a directory
cat <filename> Read a file.
cp Copy a file
mv Move a file
rm Delete a file
chmod Changes file access permissions
chown Changes file ownership
grep Looks for patterns in files
ln Create’s “links” between files and directories
wc Word count
find Find files and directories.
locate Locate a file name/directory
file <filename> Guess type of file
touch Create an empty file
od View binary files and data
pwd Print working directory
hostname Print name of localhost
whoami Print login name
id Print user id
date Print or change date on system
time <command> Determine the amount of time it takes for a process to complete
who Check who is logged on the system
last Show users last logged-in
uptime Check system uptime as well as load average details
ps List process run by user
ps auxw List all the process on the system
top Keep listing currently running processes
uname -a Info about your local server
lsmod Show the kernel modules currently loaded
dmesg Print kernel messages
tail Similar to cat, but only reads the end of the file
head Similar to tail, but only reads the top of the file
more Llike cat, but opens the file one screen at a time rather
than all at once
less Like more, but less. (LOL *BURP*)
netstat Shows all current network connections.
ifconfig Display info on the network interfaces
ping Sends test packets to a specified server
nslookup Lookup a host/domain.
dig Similar to nslookup.
sudo You know, sudo.
kill terminate a system process
killall Kill program(s) by name
du Shows disk usage.
free Memory info
man Display the contents of the system manual pages
reboot Reboot the machine.
tar Creating and Extracting .tar files
gzip Compress in gzip
zip Compress in zip
unzip Uncompress a zip file
compress Compress files .Z
uncompress Uncompress .Z files
bzip2 Compress files in bzip2 forma

Also check out The Ultimate Linux Reference Guide for Newbies

Categories: linux Tags:

Cool Desktop Multiplier

February 4th, 2010 madiga No comments

I came across this neat application called Userful Desktop Multiplier. It is a virtualized X server that turns one computer into ten “workstations” by using extra video cards, keyboards, and monitors. This approach offers significantly higher performance and lower hardware costs than Thin Client or LTSP.

It installs on most popular Linux distributions (Red Hat, Novell/SuSE, Fedora, Mandriva, Xandros, Linspire, Ubuntu, etc.). It supports USB touch screens (Elotouch, Microtouch), card-swipes, barcode scanners, as well as all virtually all video cards supported by X. It features easy setup and graphical configuration. Download it from here.

Desktop Multiplier

Categories: linux, tools Tags:

101 Ubuntu Tips, Tricks and Tutorials

January 27th, 2010 madiga No comments

If you’re thinking of switching to Ubuntu from Windows, don’t waste your time thinking too much. Switch to Ubuntu now and you’ll never think about going back. Windows maybe more popular but Linux isn’t too far behind and Ubuntu distro is one of the main reasons.

Ubuntu is the simplest, easiest, and a very stable Linux distribution to switch to from Windows.  This is an older article I had written sometime ago on my other blog and since that domain got expired, I’ve been bringing over my older articles over to this one.

The 101 list below has gained recognition as very helpful tutorials. Everyone can benefit from it so for this reason we’ve compiled all our favorites into one page.

  1. Official Ubuntu Home Page
  2. Official Ubuntu Forums
  3. Official Ubuntu Guide
  4. Wubuntu – Ubuntu Web Edition
  5. Windows to Ubuntu Transition Guide
  6. 10 Advantages of Ubuntu over Vista
  7. 30 Days with Ubuntu Linux
  8. 60 Days With Ubuntu
  9. Installing Ubuntu Linux!
  10. FREE Linux Books online
  11. The Ultimate Linux Reference Guide for Newbies
  12. Top 10 Linux commands for Absolute Newbies
  13. The Ultimate Linux Network Reference Guide for Newbies
  14. Install and run Ubuntu without disturbing Windows
  15. Basics to Linux Explained
  16. Windows Desktop Software and The Linux Alternatives
  17. The best reason yet to use Ubuntu
  18. How to install Anything in Ubuntu!
  19. How to Build Triple Boot (XP, Vista, Ubuntu) with single Boot Screen
  20. Windows Based Ubuntu Installer – Screenshots and demo
  21. Instlux: Install Linux while still in Windows!
  22. Ubuntu Linux Vs. Windows Vista: The Battle For Your Desktop — Ubuntu Linux
  23. Ten tips for new Ubuntu users
  24. 13 Must Do things on new Ubuntu 7.04 Feisty Fawn installation
  25. Hack Attack: Top 10 Ubuntu apps and tweaks
  26. How To Set Up A Ubuntu/Debian LAMP Server
  27. The Perfect Desktop – Ubuntu 7.04 Feisty Fawn
  28. The Perfect Desktop – Ubuntu Studio 7.04
  29. The Perfect Setup – Ubuntu Feisty Fawn (Ubuntu 7.04)
  30. How To Install Internet Explorer On Ubuntu
  31. Change the menu bar and main menu logos in Ubuntu
  32. How To Compile A Kernel – The Ubuntu Way
  33. How to Configure an $80 File Server in 45 Minutes
  34. Installing Popular Applications On Your Ubuntu Desktop With Automatix2
  35. Bandwidth Monitoring Tools for Ubuntu Users
  36. Running Internet Explorer in Ubuntu Linux
  37. How To Use NTFS Drives/Partitions Under Ubuntu
  38. Installing The Native Linux Flash Player 9 On Ubuntu
  39. Mount a Remote Folder using SSH on Ubuntu
  40. Clone Your Ubuntu installation
  41. Speed Up Firefox web browser
  42. Install Popular Applications in Ubuntu Feisty Fawn Using Automatix2
  43. How to Install Java Runtime Environment (JRE) in Ubuntu
  44. How to Install Beryl with latest nvidia drivers in Ubuntu Feisty Fawn
  45. How To Install VMware Server On Ubuntu 7.04
  46. DNS server Setup using bind in Ubuntu
  47. NFS Server and Client Configuration in Ubuntu
  48. Dual Monitors with NVidia in Ubuntu
  49. Howto Set Flickr images as Ubuntu desktop wallpaper
  50. Sharing Internet Connection in Ubuntu
  51. 10 must have programs for a new Ubuntu user
  52. 10 minutes to run every Windows app on your Ubuntu desktop
  53. How-To: Ubuntu Media Server
  54. How-to: Cheap Ubuntu Media Server Part 2
  55. HOWTO Encrypt CD/DVDs in Ubuntu
  56. How-to: Installing Ubuntu Linux on a usb pendrive
  57. Install KDE Desktop in Ubuntu
  58. Set Windows as Default OS when Dual Booting Ubuntu
  59. Official Ubuntu Linux Desktop Guide
  60. 100+ Ubuntu Tutorials and Growing Fast!
  61. Ubuntu and wireless – now better than Windows!
  62. LifeHacker Top 10 Ubuntu applications
  63. Running OSX and Windows XP/Vista on Ubuntu
  64. Awesome Ubuntu Apps you might not know about
  65. Completely mod Ubuntu to look like OS X
  66. Cracking WEP with Ubuntu
  67. 6 Best Ubuntu Tweaks out there
  68. 100 Useful Ubuntu Links – Everything you could ever need!
  69. Ultimate Ubuntu performance tweaking guide
  70. Transform Your Ubuntu’s Look
  71. Ubuntu tricks – how to mount your WinXP partition, make it read/writabable
  72. HOWTO: Ubuntu Customization Guide Part I
  73. Cleaning up a Ubuntu GNU/Linux system
  74. Super Fast Internet for Ubuntu
  75. Speed up the Internet in Ubuntu
  76. How-to: Theming your Ubuntu desktop
  77. 11 Things You Haven’t Seen Yet in Ubuntu Feisty Fawn
  78. 300+ Easily Installed Free Fonts for Ubuntu
  79. Ubuntu Performance Guides
  80. Ubuntu Tutorials
  81. 10 most popular Ubuntu sites on the net
  82. Ubuntu Feisty Fawn Performance Guide
  83. Set-up a Ubuntu webcam security system
  84. Instructions to install NTFS-3G in Ubuntu Dapper
  85. How to achieve native NTFS write support under Linux
  86. Hacking Ubuntu to Improve Performance
  87. Ubuntu and Your iPod…
  88. How to Access Your Ubuntu Remotely
  89. How to make OpenOffice run faster in Ubuntu
  90. Dual Monitors HOWTO
  91. DvdShrink For Linux – How To Install On Ubuntu
  92. 13 Applications to Install on Ubuntu/Linux running on Slow Computer
  93. How to Setup Your ubuntu Computer to be a Router
  94. Improve performance in Ubuntu
  95. How to gracefully reboot your Ubuntu/Debian system if all else fails
  96. Good Ubuntu Networking Tutorial for Beginners and advanced users
  97. Top 10 Ubuntu Tips
  98. Scheduling for Absolute Beginners
  99. Building a Linux home media center
  100. Ubuntu Customization Kit
  101. Remote Desktop for Linux

There is so much more. If you’re new to Linux and Ubuntu, go with the first 20 items to get you up to speed.

Categories: linux Tags:

BASH programmable completion

January 25th, 2010 madiga No comments

Bash is probably the easiest and most user friendly shell that many beginners start up with.  Many veteran UNIX guys such as myself still use bash because it makes moving around a unix system and writing scripts effortless for some reason. I also like the history and command completion of bash and in my opinion compare to other shells, majority of the Linux users love bash too.

Recently I came across bash programmable completion which basically enhances command completion feature of bash even more.  “Imagine typing ssh [Tab] and being able to complete on hosts from your ~/.ssh/known_hosts files. Or typing man 3 str [Tab] and getting a list of all string handling functions in the UNIX manual. mount system: [Tab] would complete on all exported file-systemtis from the host called system, while make [Tab] would complete on all targets in Makefile.”

You can download it here and read more about loads of other cool features it comes with.

Categories: linux Tags:

fsck Alternatives

January 16th, 2010 madiga 1 comment

We’ve all been there. Our Linux system crashing unexpectedly either by loss of power, you tripping on power cord, your cat or 2 year old son tripping on power cord etc. The end result is your PC shutting off and caught completely by surprise.

Perhaps a better analogy is you’re Linux box quietly humming along, reading some news, browsing around while taking a nice long crap…all of a sudden, someone, in this case you, your cat or some other external force push it off the toilet while it was about to drop the biggest crap of all.

You surprised the heck out of it and made it crap on itself instead of the toilet and now it’s a big mess. This the case when your server unexpectedly crashes and you have to clean up the mess before it can boot up cleanly again.

fsck command is the most common way of dealing with such issues, however it can really test your patience by taking the longest time to recover a disk/partition, not recover at first try or at all, continuous bad syntax and so much frustration. Thankfully Linux has 4 other major filesystems available for production and they’re called journaling filesystems. A journaling file system is a file system that logs changes to a journal (usually a circular log in a specially-allocated area) before actually writing them to the main file system.

A journaled file system maintains a journal of the changes it intends to make. In case of disruption, recovery involves reading the journal and replaying to restore consistency and ultimately making the recovery process much easier and more efficient. Journaling results in massively reduced time spent recovering a filesystem after a crash, and is therefore in high demand in environments where high availability is important, not only to improve recovery times on single machines but also to allow a crashed machine’s filesystem to be recovered on another machine when we have a cluster of nodes with a shared disk. Below is a list of a few major journaling filesystems that you can implement.

XFS

XFS is the oldest journaling file system available for UNIX systems, and has a mature, stable and well-debugged codebase. It a high-performance journaling file system. It provides quick recovery after a crash, fast transactions, high scalability, and excellent bandwidth. XFS provides journaling for file system metadata, where file system updates are first written to a serial journal before the actual disk blocks are updated. The journal is a circular buffer of disk blocks that is never read in normal filesystem operation.

It can be stored within the data section of the filesystem (an internal log), or on a separate device to minimise disk contention. On XFS the journal contains ‘logical’ entries that describe at a high level what operations are being performed, as opposed to other filesystems with ‘physical’ journals that store a copy of the blocks modified during each transaction. Journal updates are performed asynchronously to avoid incurring a performance penalty. In the event of a system crash, operations immediately prior to the crash can be redone using data in the journal, which allows XFS to guarantee file system consistency. Recovery is performed automatically at file system mount time, and the recovery speed is independent of the size of the file system. Where recently modified data has not been flushed to disk before a system crash, XFS ensures that any unwritten data blocks are zeroed on reboot, obviating any possible security issues arising from residual data.

ReiserFS

ReiserFS stores file metadata (“stat items”), directory entries (“directory items”), inode block lists (“indirect items”), and tails of files (“direct items”) in a single, combined B+ tree keyed by a universal object ID. Disk blocks allocated to nodes of the tree are “formatted internal blocks”. Blocks for leaf nodes (in which items are packed end-to-end) are “formatted leaf blocks”. All other blocks are “unformatted blocks” containing file contents. Directory items with too many entries or indirect items which are too long to fit into a node spill over into the right leaf neighbour. Block allocation is tracked by free space bitmaps in fixed locations.

By contrast, ext2 and other Berkeley FFS-like file systems simply use a fixed formula for computing inode locations, hence limiting the number of files they may contain.[9] Most such file systems also store directories as simple lists of entries, which makes directory lookups and updates linear time operations and degrades performance on very large directories. The single B+ tree design in ReiserFS avoids both of these problems due to better scalability properties.

JFS

IBM’s JFS is a journaling filesystem used in its enterprise servers. It was designed for “high-throughput server environments, key to running intranet and other high-performance e-business file servers” according to IBM’s Web site.

EXT3

Ext3 adds journaling filesystem capabilities to ext2fs. An alternative for all those who do not want to switch their filesystem, but require journaling capabilities. It is distributed in the form of a kernel patch and provides full backward compatibility. It also allows the conversion of an ext2fs partition without reformatting and a reverse conversion to ext2fs, if desired.

Resources:

* Linux XFS: http://oss.sgi.com/projects/xfs
* ReiserFS: http://www.namesys.com
* JFS for Linux: http://oss.software.ibm.com/jfs
* Ext3: http://www.zipworld.com.au/~akpm/linux/ext3

References:

* http://en.wikipedia.org/wiki/Journaling_file_system
* http://en.wikipedia.org/wiki/XFS
* http://en.wikipedia.org/wiki/Ext3
* http://en.wikipedia.org/wiki/IBM_Journaled_File_System_2_%28JFS2%29
* http://en.wikipedia.org/wiki/ReiserFS

Categories: linux, tools Tags:

20 Tools for Linux to share with Windows

January 11th, 2010 madiga No comments

The gap between Linux and Windows filesystem has been improved alot. There are many different ways of seeing your windows partition on Linux. In this article, I’m going to list the 20 different types of useful applications you can use.  Some are simple and easy and some are a bit more complex but with great amount of extra features and such.

  1. Linux NTFS – provides Linux kernel drivers, a multiplatform NTFS library, and tools to create, resize, clone, rescue, query, label and fix NTFS volumes, and to undelete, resize, list, and query files for the filesystem used by Windows XP, 2003, 2000, NT4, and Vista. It also provides support for the Logical Disk Manager (LDM) that controls Windows’ Dynamic Disks and is used to create software mirrors, stripes, and RAID.
  2. SMB Web Client – a simple PHP script that allows users to access Windows networks from a Web browser (using Samba tools).
  3. Xfsamba – an SMB (Windows) network navigator with upload, download, rm, rmdir, mkdir, and tar capabilities. Xfsamba does not need to mount remote Windows shares. Drag and drop is enabled for file uploads/downloads.
  4. Smb4k – a SMB and CIFS (Windows) share browser for KDE. It uses the Samba software suite to access the SMB and CIFS shares of the local network neighborhood. Its purpose is to provide a program that’s easy to use and has as many features as possible.
  5. SMBNetFS – a user-space filesystem for Linux and FreeBSD that allows you browse a Samba/Microsoft network much like the network neighborhood in Microsoft Windows.
  6. Samba TNG – another SMB server for Unix-like operating systems. This software is concentrating on MSRPC interoperatability with Windows NT, 2000, XP, and 2003. It provides PDC support and tools to remotely administer NT servers and workstations. Note that Samba TNG is currently in a beta stage. If you need advanced file/print serving capabilities, you should opt for Samba classic.
  7. Davenport – a Java Servlet-based application providing WebDAV access to an entire SMB network. This enables users to connect to Windows and Samba shares via WebDAV clients such as Mac OS X, Windows Web Folders, etc. or any Web browser. Workgroups are browseable, and users are authenticated against a domain.
  8. IntegraTUM WebDisk – a Web application which gives you direct access to a file server. It is written using Java Servlets and the jCIFS library. Supported file servers are Samba, MS Windows, NetApp OnTAP, and any other server based on the CIFS protocol.
  9. Captive – provides full read/write access to NTFS disk drives in the WINE way by using the original Microsoft Windows ntfs.sys driver. It emulates the required subsystems of the Microsoft Windows kernel by reusing one of the original ntoskrnl.exe, ReactOS parts, or this project’s own reimplementations on a case by case basis. Involvement of the original driver files was chosen to achieve the best and unprecedented filesystem compatibility and safety.
  10. Sharity – mounts shares exported by Windows, Samba, and other SMB/CIFS servers in the file system of Unix computers. It implements Resource Browsing, which is similar to the Windows Network Neighborhood (Netbios Workgroups and Active Directory), NTLM, NTLMv2, and Kerberos authentication, Microsoft’s Distributed File System (DFS), and manipulation of Access Control Lists (ACLs).
  11. chntpw – a Linux utility to (re)set the password of any user that has a valid (local) account on your WinNT or Win2000 system, by modifying the crypted password in the registry’s SAM file. You do not need to know the old password to set a new one. It works offline (i.e., you have to shutdown your computer and boot off a linux floppy disk). The bootdisk includes stuff to access NTFS partitions and scripts to glue the whole thing together. This utility works with SYSKEY and includes the option to turn it off. A bootdisk image is provided.
  12. rfstool – allows you to access ReiserFS partitions from a Windows 95/98/ME/NT/2000/XP system. It also allows you to access ReiserFS partitions from Linux. It is a complete rewrite of the ReiserFS functions needed to list directories, copy files, and backup metadata.
  13. Scrounge NTFS – a data recovery program for NTFS filesystems. It reads each block of a hard disk and rebuilds the filesystem tree on another partition.
  14. Paragon NTFS for Linux – The Paragon NTFS for Linux driver provides read and write access to NTFS volumes for all kinds of files including system files.
  15. fatresize – a command line tool for non-destructive resizing of FAT16/FAT32 file systems. It is based on the GNU Parted library. The main target of the project is to be used with the EVMS FAT plugin.
  16. FUR filesystem – a filesystem based on FUSE which mounts a Windows CE device (connected with the librapi2 from the synce project) onto a directory of the local filesystem in a transparent and user-friendly way.
  17. WinShares – a Linux program that scans the network and mounts all Windows and Samba shares available, allowing the user to browse them. It uses CIFS.
  18. Explore2fs – a Windows program that provides read support for Linux ext2 and ext3 filesystems under NT4, Win95, Win98, WinME, Win2000, and WinXP. This is a Windows to Linux connector and it’s worth mentioning in this article.
  19. EXT2IFS - an Installable File System for Windows NT4, Windows 2000, and Windows XP. The driver can read both the EXT2 and EXT3 filesystems. A simple installation program makes using the driver easy. This is also a Windows to Linux connector and it’s worth mentioning in this article.
  20. NTFS-3G – a read/write NTFS driver. NTFS-3G is available for over 60 Linux distributions, including most major ones.

Lots of great tools to try…so little time.

Categories: linux, tools Tags: