It is easy to create labels of different standard sizes from within OpenOffice.org. And OpenOffice.org is my choice for creating labels because I am used to working in it. However, there are a number of utilities in Linux which make creation of labels of different sizes a clinch.
More specifically, gLabels and LabelNation come to my mind. gLabels is a GUI application which provides tools to design your labels, where as LabelNation is a Python script which should be run from the command line.
Various manufacturers of labels have different IDs denoting specific sizes of their labels. And keeping track of these IDs is a chore for ordinary users. LabelNation comes pre-configured to handle more than 50 different standard label sheets from Avery and other manufacturers, but you can also specify your own layouts if needed.
Nathan Willis at WorldLabel (A manufacturer of labels) blog has written a very good tutorial describing how to design labels using the LabelNation python script. One thing I really like about this command line solution is the speed and accuracy with which you can create labels and populate data in it. For example, you have an input file which contain all the data you need to enter in the labels you create separated by a specific delimiter. The output is a postscript file which can be viewed in any post script viewer.