¿Puedo recuperar una lista de los tamaños de los paquetes instalados de MacPorts?
Sí, sé que están compilados a partir de fuentes, pero si se conoce una lista de archivos generados, debería ser computable de todos modos.
¿Puedo recuperar una lista de los tamaños de los paquetes instalados de MacPorts?
Sí, sé que están compilados a partir de fuentes, pero si se conoce una lista de archivos generados, debería ser computable de todos modos.
Podrías hacer uso de la compilación de puertos en el comando contents
, lo que te da la oportunidad de hacer cosas como esas:
port contents --size depof:python27
Saca las líneas que necesitas y haz los cálculos :-)
Actualización: encontré la respuesta aquí en guide.macports.
Mientras leía un poco más, encontré esto
port space --units MB --total thisport
que es mucho más útil que calcular la suma del tamaño de cada archivo dentro de un puerto.
Usando el comando:
du -sh /opt/local/var/macports/software/*
devuelve todos los directorios y tamaños de sus puertos instalados.
Usa el comando:
port -d echo installed
se hace eco de una lista de los puertos instalados.
Para enumerar las dependencias como una jerarquía
psd() {
port rdeps $1 2>/dev/null | sed -E "1 s/.*of (.*) @.*//" |
while IFS= read -r line
do
port_name="$(port space --total $line 2>/dev/null | cut -d ' ' -f 1-2)"
port_size=${port_name% *}
port_unit=${port_name#* }
printf "%-30s%12.2f %s\n" "$line" "$port_size" "$port_unit"
done
}
Ejemplo
$ psd mosh
mosh 895.03 KiB
pkgconfig 629.39 KiB
libiconv 6.27 MiB
gperf 0.00 B
ncurses 15.17 MiB
protobuf-cpp 44.11 MiB
autoconf 0.00 B
xz 1.68 MiB
gettext 24.82 MiB
expat 1.11 MiB
automake 0.00 B
libtool 4.19 MiB
zlib 738.74 KiB
openssl 17.50 MiB
p5.22-getopt-long 132.63 KiB
perl5.22 54.52 MiB
gdbm 553.91 KiB
p5.22-io-socket-ip 64.05 KiB
Ajuste la longitud de la salida formateada, 30
en mi ejemplo, según sea necesario.
Si desea que la salida esté truncada o redondeada, consulte aquí .
Para enumerar el total general de la jerarquía anterior
alias pst='_() { port rdeps $1 2>/dev/null | cut -d : -f 2 | xargs port space --units MiB --total $1 2>/dev/null ; } ; _'
Ejemplo
$ pst mosh
172.312 MiB total
Es posible que desee comprobar port help space
.
Supongo que puedes agregar coloración y orden a la salida.
Para obtener cada puerto junto con un total de todos los puertos, simplemente escriba port space installed
Salida de ejemplo:
41.354 KiB xorg-libXcomposite @0.4.4_0 141.987 KiB xorg-libXcursor @1.1.14_0 34.448 KiB xorg-libXdamage @1.1.4_0 74.149 KiB xorg-libXdmcp @1.1.2_0 33.258 KiB xorg-libXevie @1.0.3_0 312.101 KiB xorg-libXext @1.3.3_0 75.650 KiB xorg-libXfixes @5.0.3_0 337.943 KiB xorg-libXi @1.7.8_0 39.058 KiB xorg-libXinerama @1.1.3_0 436.256 KiB xorg-libXmu @1.1.2_0 143.032 KiB xorg-libXrandr @1.5.1_0 53.017 KiB xorg-libXScrnSaver @1.2.2_0 2.696 MiB xorg-libXt @1.1.5_1 87.028 KiB xorg-libXtst @1.2.3_0 92.010 KiB xorg-libXv @1.0.11_0 72.373 KiB xorg-libXxf86vm @1.1.4_0 135.396 KiB xorg-randrproto @1.5.0_0 10.171 KiB xorg-recordproto @1.14.2_0 57.425 KiB xorg-renderproto @0.11.1_0 7.189 KiB xorg-scrnsaverproto @1.2.2_0 49.408 KiB xorg-videoproto @2.3.3_0 849.766 KiB xorg-xcb-proto @1.12_1 66.130 KiB xorg-xcb-util @0.4.0_0 143.412 KiB xorg-xextproto @7.3.0_0 18.946 KiB xorg-xf86vidmodeproto @2.3.1_0 5.789 KiB xorg-xineramaproto @1.2.1_0 469.177 KiB xorg-xproto @7.0.31_0 171.815 KiB xrender @0.9.10_0 1.344 MiB XviD @1.3.4_0 1.575 MiB xz @5.2.2_0 3.102 MiB yasm @1.3.0_0 707.211 KiB zlib @1.2.8_0 3.645 GiB total
Bueno, de forma predeterminada, se instalan en / opt / local, por lo que debería ser tan fácil como cd / opt / local & & du -sh * para obtener una lista de los tamaños de archivo. No estoy seguro de si está integrado en MP de forma predeterminada para ofrecerle los tamaños generales
Lea otras preguntas en las etiquetas macports