Linear information theory and its application to the coded caching problem