Linux: Filezilla
Mac: CyberDuck/Filezilla
Windows: WinSCP (SCP/SFTP)/Filezilla
Icy (a better front-end for APT, yet another Cydia)
MobileTerminal
MobileFinder
iFile (better than MobileFinder)
SBSettings
SysInfoPlus
BossPrefs
OpenSSH
Backgrounder
ProSwitcher
VoIPover3G (Skype/Fring voice call over 3G/GPRS connection, you must install this package)
iPhoneTool (auto airplane mode)
gTxtEdit
top
docs
txtReader
QuickGold (It's QuickSilver equivalent on iPhone, I don't like the ad...)
As Cydia is based on dpkg package management system Debian GNU/Linux
SSH to the iPhone
dpkg --get-selections > /private/var/mobile/Media/installed
Use SCP tool (WinSCP, Filezilla, Cyberduck) to copy the installed file and save it on you computer file system
Hook up the iPhone with your computer and do a full backup before upgrade
Upgrade to the new firmware and jailbreak using QuickPWN or redsn0w
Manually install OpenSSH Server as we need to transfer files
Transfer the installed file to your iPhone, for example /private/var/mobile/Media
apt-get update && dpkg --set-selections < installed
apt-get dselect-upgrade
rm /private/var/mobile/Library/Caches/com.apple.mobile.Installation.plist
killall SpringBoard
Note: Step 10 and 11 ensures that SpringBoard check all apps and regenerate the icons.
Check the original post: http://pimpmiphone.info/howto/howto-backup-restore-all-cydia-apps.html
Also, there is a tool called AptBackup in Cydia, for non expert users.
http://thebigboss.org/guides/how-to-upgrade-in-itunes/