Tous les environnements OpenWrt ne sont pas configurés de la même manière, donc ma réponse est un coup dans le noir ...
L'exemple de sortie provient d'OpenWrt-12.09 sur un "TP-Link TL-WDR4300".
ssh
dans votre routeur.
Vérifiez vos fichiers.
root@AP9:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 5184 2124 3060 41% /
/dev/root 2048 2048 0 100% /rom
tmpfs 63340 948 62392 1% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 5184 2124 3060 41% /overlay
overlayfs:/overlay 5184 2124 3060 41% /
/dev/sda1 31234700 593536 29075728 2% /mnt/sda1
/dev/sda1
est la carte micro SD de ma clé UMTS ... ignorez-la.
De nombreux routeurs sont flashés de la même manière comme on le voit ici: Un système de fichiers racine en lecture seule est rendu pseudo accessible en écriture par un système de fichiers en superposition.
Regardez à l'intérieur /overlay
...
root@AP9:~# cd /overlay/usr/lib/opkg/info/
root@AP9:/overlay/usr/lib/opkg/info# ls *.list | tail -3
usb-modeswitch-data.list
usb-modeswitch.list
zlib.list
Ce répertoire contient les informations sur les packages supplémentaires installés. Les fichiers se terminant par .list
sont des listes de fichiers installés par le package avec le même nom (sans .list
):
root@AP9:/overlay/usr/lib/opkg/info# cat zlib.list
/usr/lib/libz.so.1.2.7
/usr/lib/libz.so.1
/usr/lib/libz.so
Le package zlib
contient 3 fichiers installés.
root@AP9:/overlay/usr/lib/opkg/info# du $(cat zlib.list)
71 /usr/lib/libz.so.1.2.7
1 /usr/lib/libz.so.1
1 /usr/lib/libz.so
Le package zlib
contient 73 Ko de fichiers installés.
Une doublure brute pour coller tout cela ensemble et sa production est raccourcie:
# awk 'BEGIN{D="cd /overlay/usr/lib/opkg/info&&";C=D"ls *.list";while(C|getline>0){P=substr(F=$1,1,length($1)-5);J=D"du -sk $(cat "F")";s=0;while(J|getline>0){s+=$1;t+=$1}close(J);print s"\t"P}print t"\t---TOTAL---"}'
26 blkid
30 block-mount
17 chat
55 comgt
6 kmod-fs-exportfs
(((...some lines skipped...)))
14 portmap
48 swap-utils
223 usb-modeswitch-data
45 usb-modeswitch
73 zlib
4184 ---TOTAL---
HTH!
Ajouté le 17-10-2014:
La sortie suivante est tirée d'OpenWrt-12.09 sur un "TP-Link TL-WR703N" et montre comment ajouter le tri de la sortie par taille de package.
Découvrez où et comment la variable S
entre en jeu ...
# awk 'BEGIN{D="cd /overlay/usr/lib/opkg/info&&";C=D"ls *.list";S="sort -n";while(C|getli
ne>0){P=substr(F=$1,1,length($1)-5);J=D"du -sk $(cat "F")";s=0;while(J|getline>0){s+=$1;t+=$1}close(J)
;print s"\t"P|S}close(S);print t"\t---TOTAL---"}'
5 kmod-lib-crc16
5 luci-proto-3g
12 libuuid
13 kmod-usb-serial-wwan
17 chat
24 kmod-usb-acm
24 libusb
26 blkid
30 block-mount
41 kmod-usb-serial
45 usb-modeswitch
48 kmod-usb-serial-option
48 swap-utils
55 comgt
67 kmod-usb-storage
148 libblkid
154 kmod-scsi-core
223 usb-modeswitch-data
382 kmod-fs-ext4
1367 ---TOTAL---
Encore une fois: HTH!
Ajouté le 13-01-2018:
La méthode ci-dessus a été testée sur OpenWrt-AA.
Maintenant, en regardant LEDE-17.01, un chemin a changé: le remplacement /overlay
par des /overlay/upper
correctifs.
Statu quo ( opkg-list-user-installed-sorted-by-size
pas comme 1 ligne):
#!/usr/bin/awk -f
BEGIN {
D="cd /overlay/upper/usr/lib/opkg/info&&"
C=D"ls *.list"
S="sort -n"
while(C|getline>0) {
P=substr(F=$1,1,length($1)-5)
J=D"du -sk $(cat "F")"
s=0
while(J|getline>0) {
s+=$1
t+=$1
}
close(J)
print s"\t"P|S
}
close(S)
print t"\t---TOTAL---"
}
Essai:
root@zsun0:~# ./opkg-list-user-installed-sorted-by-size
8 luci-ssl
9 libustream-mbedtls
13 px5g-mbedtls
338 libmbedtls
368 ---TOTAL---
Question ouverte: quand ce changement de /overlay
structure s'est-il produit? LEDE-17 est le successeur d'OpenWrt-CC et je n'ai aucun système exécutant OpenWrt à portée de main. Donc, si vous en avez besoin sur OpenWrt-BB ou -CC, regardez d' /overlay
abord à l' intérieur .