You didn't mark which nouns are underlined, but concrete nouns are nouns that you can taste, touch, see, smell, or hear (nouns that call on your five senses). Taking all the nouns in your sentence...
books - Can you touch books? See books? Smell books? Yep. So this would be a concrete noun.
colonies - Can you see colonies? Smell colonies? Hear colonies? Well, maybe not present-day, since the American colonies are over and done with, but in general, yeah. Colonies are physical things, a group of people, and groups of people can stink, or smell great, or make a lot of noise. This makes them a concrete noun.
understanding - Can you touch, see, smell, taste, or hear understanding? No, you can't. This is an abstract noun.
history - Can you touch, see, smell, taste, or hear history? In its literal sense, no. History is a study of past events, and that can't be physically touched, heard, or tasted.
In general, anything that's a concept will be an abstract noun. This includes things like history, love, loneliness, et cetera. Anything you can physically put your hands on or use your five senses with will be a concrete noun.