Month: August 2011
I found this release cycle and development time line. It shows the release schedule and development phases of the next version of Ubuntu, which is code-named Oneiric Ocelot. It will be numbered 11.10.
I recently had a broadband outage. While I was waiting to be re-connected to the world, I started thinking about outages in general, and disaster recovery in specific. As I posted elsewhere I backup my computer on each and every day I use it, to two external devices. But what I hadn’t done so far was a test restore from the backup to prove that the system worked.
I know you can do an entire snapshot of your Linux box using Clonezilla, which is a free and open source equivalent to Ghost. But the time taken to generate a snapshot and, more to the point, to restore one versus the time taken to do a fresh install of Ubuntu on my PC seemed too great. My theory was I could do a completely new install of Ubuntu, restore my data and do the small amount of customisation I do to my system in less time than it would take to do a restore of an image and then do a data restore on top of that.
Back in the Windows world it was different. The time taken to install all of my applications added greatly to the restore process, and the customisations and preference settings for each one added further delay to the restore time. it was also a manually-intensive and therefore error prone process. Given those circumstance I did use to image my PC using Acronis True Image. But with Ubuntu because most of the applications I use are installed by default anyway there is no further time lost in getting those back on the PC. And as for the customisation or preference settings it should just be a case of copying the appropriate hidden folders from my backup into my home drive. Shouldn’t it?
I concluded that if there was a flaw with my back up process it would be better to find out now rather than when I’ve had a real-world disaster and need to get things back up and running fast. Time to bite the bullet. I re-installed Ubuntu and did a format during the process. Bullet well and truly bitten.
40 minutes later Ubuntu was up and running on my machine again. I’d given it the same name, gave myself the same user name, and used the same user password.
Obviously I had access straightaway to the stuff I have in the cloud, such as in Evernote. I copied my data back to my home folder: Documents, Music, Videos and so on. I fired up Firefox and logged into Firefox Synch, and retrieved all of my bookmarks and shortcut settings. I closed Firefox and copied the .mozilla folder from the backup drive to my home folder. Any file or folder whose name starts with a . is hidden. you need to hit Ctrl-H to toggle their visibility. I fired up Firefox again and it found all of my add-ons and their settings in the .mozilla folder.
I installed and started Thunderbird and then closed it down straight away. I copied the .thunderbird folder from my backup to my new home folder, restarted Thunderbird and all of my email accounts were there, with their settings and all of my email archives. Also the plug-ins I use in Thunderbird were all present and correct.
I was on a roll. Next: the same thing for FileZilla. Copied the backup .filezilla folder to my home folder, started FileZilla and it had all of my FTP accounts in it with their connection settings, passwords etc.
And so it went on. Application after application had their settings and data dragged back and that was that – they were restored and set up in just the way I’d left them. Once my applications were back on the PC I then set up things like RecollIndex in Cron, and sSMTP and I did some of the visual customisations to the desktop that I like, and that was that. Obviously things would have been a bit more complicated if I had multiple users installed on the system, but as far as single user system restores go, that was a doddle. It was the easiest system restore I’ve ever been involved in.
And believe me, I’ve done my share of them.
Geany is a fast, lightweight and yet sufficiently feature-rich IDE to be able to handle my home and self-interest projects.
You can install Geany through the Ubuntu Software Centre. When you have searched and found the Geany entry, scroll down and check the Set of plugins for Geany option, and scroll back up and install Geany.
In Geany, on the main application menu go to Tools, Plugin Manager.
In the plugins dialog scroll through the list and select GeanyVC. Then click the Preferences button.
In the Configure plugins dialog I deselected everything I wasn’t interested in. This plugin provides access to a variety of different software version control systems. I only selected the Confirm adding new files to VCS, Use external diff viewer and enable SVN options. Then click Apply, click OK and finally click the OK button back in the Plugins dialog.
In the main application menu of Geany you will see a new option VC under the tools option.
To turn on the RabbitVCS functionality in the Gedit editor, start Gedit and in the main Gedit menu go to Edit, Preferences and then select the Plugins tab. Scroll through the list of plugins and find the RabbitVCS entry.
Click to put a tick in the check box and then click the Close button.
You will see that you now have a RabbitVCS entry in the main application menu of Gedit.
I’ve been porting some old Windows & DOS code into the Linux environment. For anything other than the most trivial of software projects it is advisable to use some form of software version control. A good version control system will allow you to store ‘snapshots’ of the code base as you progress through the development cycle. You can go back to a previous version of a file (or even all the files in a particular build of your project) very easily, and you can do things like compare two different versions of the same file for differences. Your version control system should also handle branches in the code base and, although I’m working on my stuff solo, it should allow easy collaboration between team members who are working on the same software project.
Subversion is a well known and highly respected, free and open source version control system. It is often referred to as SVN. Because it is such a richly featured and powerful system there is a fairly steep learning curve associated with its use. Nevertheless once you have it mastered it more than repays that learning effort. Subversion is used by the likes of the Apache Software Foundation (who maintain it), Free Pascal, FreeBSD, GCC, Django, Ruby, Mono, SourceForge, ExtJS, Tigris.org, PHP and MediaWiki. Serious players.
Out of the box, Subversion is completely command line driven. Even for a CLI freak like me it is sometimes more convenient to drive Subversion through a GUI. As you would expect there are plenty of Linux front-ends for Subversion. I’d used an excellent Windows-based one called TortoiseSVN. TortoiseSVN provides a set of extensions to the Windows explorer that provide access to the SVN functionality and which could be directly applied to files and folders. I was cock-a-hoop to find a clone of TortoiseSVN for Linux, called RabbitVCS.
The easiest way to install Subversion is to use the Ubuntu Software Centre. Search for Subversion and install it. Simple.
Installing RabbtVCS is slightly more involved. You need to add the RabbitVCS repository to your system.Open a terminal and type:
sudo add-apt-repository ppa:rabbitvcs/ppa
sudo apt-get update
When you next open the Ubuntu Software Centre you will see a RabbitVCS entry in the left-hand pane. Highlight that and you will see a list of the RabbitVCS components that you can now install. I only use the Nautilus file manager and I don’t program in Python. The whole point (for me) of using RabbitVCS is to avoid using the command line, so I didn’t install the CLI, Thunar and Python modules. I do use Gedit though so I installed the Rabbit Core, Nautilus and Geany modules.
Now, when I right-click a file or folder there is a RabbitVCS entry in the context menu, with differing sub-menus according to whether the folder or file I have clicked on is versioned or unversioned, whether it is up to date in my Subversion repository and so on.
Subversion is great, Subversion with RabbitVCS is magnificent. You have access to the functionality you need when and where you need it – right in your editor and in the Nautilus file manager.
One final note – I couldn’t locate any decent RabbitVCS documentation, but as it is almost a 100% clone of TortoiseSVN, I downloaded a PDF of their user guide. It is close enough to be useful.