you can install new software and also you can update your apt in ubuntu without having an internet in linux ( need to have internet in a windows box. which is much easy ).
$:~>apt-get qq print-uris update | awk -F\ { print $2} > get.lst
will genrate a file named get.lst having links to all the files that need to be downloaded in order to update the apt. you can use 'wget' tool in windows to download all
those files. and by adding the url of the collected files
in the apt sources.list in etc/apt in proper fashion. you
can update the apt from the local folder( having the collected packages.gz and sources.gz ) using the command apt-update.
Then you can you synaptic package manager to generate the list of deb files that needed to get downloaded in order to install a particular package (eg. vlc). using the option 'Generate Download Script'.

The detail description about how to do this things are given in my blog. arundavidp.wordpress.com

Here I ask you suse geeks. "Is there any option to update
your 'yast' without direct internet ?". I downloaded repomd.xml from repodata folder and also filelists.xml.gz other.xml.gz and some other files and pasted all those in my linux folder with the same folder tree structure and included the tree in 'yast repositories' in the proper manner, and it do detect it
as a valid repository. But I can't find a single rpm file
listed under that local repository in the 'Yast'.

Can you solve the problem?.