Les fichiers shlibs associent les noms et versions (sonames) des bibliothèques partagées aux dépendances correspondantes dans les fichiers de contrôle des paquets. Il y a une entrée par ligne et les lignes vides ne sont pas autorisées. Les lignes commençant par le caractère (« # ») sont considérées comme étant des commentaires et sont ignorées. Toutes les autres lignes doivent être au format
Les champs bibliothèque et version sont séparés par des espaces. Le champ dépendances finit la ligne. Le champ type est optionnel et donc normalement pas nécessaire.
Le champ dépendances utilise la même syntaxe que le champ Depends d'un fichier de contrôle d'un paquet binaire, voir deb-control(5).
Le fichier shlibs pour un paquet nommé libcrunch1, qui fournit une bibliothèque dont le nom est libcrunch.so.1, doit avoir la ligne
Les dépendances doivent indiquer la version la plus récente du paquet qui ajoute de nouveaux symboles à la bibliothèque : dans l'exemple précédent, de nouveaux symboles ont été ajoutés avec la version 1.2 de libcrunch. Ce n'est pas la seule raison pour laquelle les dépendances doivent être suivies avec soin.