Clone Ubuntu system to a pendrive and make it bootable?
When you install Ubuntu, you are installing it for that system. If you take that installation and boot it on another machine, it's the equivalent of making hardware changes. Ubuntu will in most cases still boot, but you may need to install drivers specific to the new system, you may need manually reconfigure some things for the new system (eg: sounds, graphics, network interfaces), or it may work flawlessly. It all depends on the hardware. This is not a good approach, unless you are using machines with identical hardware.
Alternatives:
There are tools available for making live-DVDs from installations. I used to use Remastersys (outdated, not sure what active alternatives are available), and it worked great.
Build a customized Ubuntu ISO. This can be accomplished by extracting the squashfs, chrooting it, making desired changes, repacking, and swapping for the original squashfs in the ISO.
Setup a live-flashdrive with a persistence file/partition. Some live-flashdrive creators will even do this for you (eg: Unetbootin)!
Use a different distro like Puppy Linux, Porteus, TinyCore Linux, or Slax that is actually meant to be run as a portable OS used with multiple computers.
Yes you can copy a full Ubuntu OS (with Programs, customizations and all ) from your Desktop or Laptop Hard drive to an external USB Flash Drive or external Hard drive. I just did it for Ubuntu 14.04 LTS to an external Hard drive (but equally applicable to USB Flash drive as well)
Required software / hardware:
Destination External Hard Drive / Destination USB Flash Drive to have the cloned OS
Source OS (Ubuntu or any other OS that needs to be cloned)
USB Drive (with at least with as much capacity (256 MB - 1 GB) as a clonezilla live USB requires)
computer / laptop having Windows which can run Live Linux USB creator
Steps:
Download Clonezilla from http://clonezilla.org/downloads/download.php?branch=stable (download the ISO)
Download Live Linux USB Creator (Lili) from http://www.linuxliveusb.com/en/download
Create a bootable Clonezilla (Live Clonezilla) on USB by running Live Linux USB Creator.
Configure your Source desktop / laptop to boot from a USB drive
Insert both, the destination external hard drive or destination USB Flash drive in 1 USB Slot and the Clonezilla Live USB drive in other slot and boot.
Clonezilla will take some time to read partition info When the Clonezilla UI appears, select default menu entries.
[With Caution] select Source Partition info and Destination partition info It may be noted that Clonezilla would require space on destination USB Flash drive or external hard disk which is equivalent of the source Hard disk and it will erase all data from the destination USB Flash drive / external hard drive.
Once all is selected, Clonezilla will create a live OS on the destination drive / flash drive
Test the cloned OS by removing Clonezilla Live USB drive and booting from the Live OS which has been cloned onto the destination External drive / USB Flash drive.
Enjoy !
The refork of Remastersys is Systemback. It does exactly what you want -- though you need to do a "two step" (i.e., Step 1: backup live system to USB using Systemback; then Step 2: boot to backup USB and install on a second USB) to create a truly persistent, live copy of your current operating system.
Although (sadly) Kendek has stopped developing Systemback, it is in my opinion one of the best Linux applications ever.