verwaiste Bibliotheken anzeigen und entfernen

Mit "%?r=0" bekommt man die Pakete die nicht von anderen Paketen benötigt werden.
 
Bei mir hier möchte pkg autoremove zum Beispiel die linux-c6 Pakete löschen. Da kann ich so ungefähr ahnen, wie das kommen kann. Ich habe nämlich seinerzeit, als die linux-c6 Ports noch funkelnagelneu waren, die auch gleich installiert und bin in Kalamitäten mit dem nvidia-driver reingerannt, der ja auch mit Linux Kompatibilität gebaut werden kann, was ich getan habe. Also habe ich das Meta linux-c6 Paket entfernt und das betreffende linux-c6 OpenGL Paket. Die andern linux-c6 Pakete habe ich aber behalten und will die auch weiterhin behalten. So dass die Linux Binärkompatibilität sofort einsatzbereit ist, falls ich sie nutzen möchte.

Bei einem andern Paket fand ich den Vorschlag zum löschen des Pakets von pkg autoremove aber dann doch sinnvoll, ich habe nämlich neulich dann endlich mal abcde ausprobiert und hatte es zunächst mit vorbisgain Unterstützung gebaut. Aber das klangliche Ergebnis gefiel mir so ganz und gar nicht. So habe ich abcde ohne die Lautstärkenanpassungsunterstützung gebaut. vorbisgain ist so auf meinen System verblieben. Ist nicht schlimm, frisst mir kein Brot weg. :) Aber ich hatte vorbisgain mittlerweile längst vergessen. So war dann pkg autoremove doch nützlich es in Erinnerung zu bringen. Anderseits möchte ich freetype per autroremove doch sehr ungerne gelöscht bekommen, ich mag nämlich schön scharfe Schrift auf meinem Desktop weiterhin behalten.

Und so ähnlich setzt sich das fort. Auf Compiler scheint das autremove auch geradezu eine Jagd zu veranstalten. Die will ich aber behalten. So lassen sich zum Beispiel bei mir die nvidia-texture-tools mit einem bestimmten Compiler bauen, aber mit dem Clang aus dem Basissystem nicht. autremove würde den Compiler aber rigoros abräumen. :ugly:
 
Mit "%?r=0" bekommt man die Pakete die nicht von anderen Paketen benötigt werden.

ich habe das bei mir auch probiert und kann das so nicht bestätigen. Es ist zB x11/xorg in der Liste enthalten.
%r zeigt meiner Ansicht nach solche Pakete, die keine rekursiven Abhängigkeiten haben. Was das wirklich bedeutet, weiß ich zwar nicht, aber ich zeige mal Beispiele:

Code:
# pkg query -e '%?r = 0' %o
bringt zB
Code:
x11/xorg

Code:
# pkg query %do x11/xorg
x11/xorg-apps
x11-fonts/xorg-fonts
x11/xorg-libraries
x11-themes/xcursor-themes
x11-drivers/xorg-drivers
graphics/dri
x11/xorg-docs
x11/xbitmaps

Code:
# pkg query %ro x11/xorg
(keine Ausgabe)

anderes Beispiel, sowohl Abhängigkeiten, als auch rekursive Abhängigkeiten:
Code:
# pkg query %ro www/youtube_dl
multimedia/mpv

# pkg query %do www/youtube_dl
multimedia/rtmpdump
lang/python27

Code:
pit@senyo ~:-# pkg query -e '%?d = 0' %o | grep youtube
pit@senyo ~:-# pkg query -e '%?r = 0' %o | grep youtube
pit@senyo ~:-# pkg query -e '%?d = 0' %o | grep xorg
x11/xorg-docs
pit@senyo ~:-# pkg query -e '%?r = 0' %o | grep xorg
x11/xorg
 
Hallo Leute,

die Beteiligung ist ja klasse, aber was pkg da im Einzelnen macht, finde ich eigenartig.
Code:
pkg autoremove -n
Das würde mir fast mein ganzes System entfernen.
Code:
pkg query -e "%?d = 0" %n | grep lib > libraries
Das sollte mir doch nach "pkg-Logik" eine Liste mit verwaisten Bibliotheken erstellen.
Aber wenn ich dann
Code:
pkg delete $(cat 'libraries')
ausführe, wäre nach Bestätigung wieder fast mein komplettes System deinstalliert.

Dabei möchte ich doch lediglich eine Ausgabe verwaister Bibliotheken, die ich dann sauber entfernen kann, damit ich mir dann von diesem bereinigten System eine Paketliste erstellen kann, um einfach mein System klonen zu können.

Viele Grüße,
Holger
 
Hallo,

meine Vermutung, dass pkg autoremove alle als automatisch markierten Pakete deinstalliert, ist wohl doch richtig. Ich habe nämlich mal eine Paketliste sämtlicher installierter Pakete erstellt und dann diese auf "manuell installiert" gesetzt:
Code:
pkg set -y -A 0 $(cat 'paketliste')

Nun entfernt mir pkg autoremove kein Paket mehr.

Viele Grüße,
Holger
 
Ich glaube, du hast da ein Verständnisproblem. Du hast weiter oben alle Pakete als automatisch installiert markiert. Damit denkt pkg, dass jedes einzelne Paket als Abhängigkeit und kein einziges direkt durch den User installiert wurde. pkg autoremove ist aber rekursiv. Es schaut sich an, welche Pakete automatisch installiert wurden und nicht von anderen Paketen benötigt werden, entfernt sie dann. Danach beginnt er wieder von vorne, wiederholt es, bis er keine passenden Pakete mehr findet. Er räumt also das ganze System ab. Ist kein Paket als automatisch installiert markiert, wird er keines entfernen.

Der Trick ist, dass nur die Pakete als nicht automatisch installiert markiert sind, die du auch wirklich händisch installiert hast. Wenn du z.B. "pkg install kde" sagst, wird das Paket 'kde' als nicht automatisch installiert markiert, die etwa 250 Abhängigkeiten aber schon. Normalerweise wird pkg autoremove die Abhängigkeiten in Ruhe lassen, da sie direkt oder indirekt von 'kde' benötigt werden. Wenn du 'kde' aber deinstallierst, sind die Abhängigkeiten überflüssig und pkg autoremove räumt sie ab. Auf meinem Desktop sieht es z.B. gerade so aus:

Code:
yamagi@aka:pts/10 ~: pkg noauto
atril-1.12.2
chromium-49.0.2623.112_1
cmake-3.5.2_1
cpdup-1.18
cvs-1.20120905_4
dd_rescue-1.46
de-libreoffice-5.0.6
dvdbackup-0.4.2_3
easytag-2.4.2
exim-4.87
firefox-47.0,1
fusefs-ntfs-2016.2.22
galculator-2.1.3
gcc5-5.3.0
gdb-7.11_2
geeqie-1.3
gimp-2.8.16,2
git-subversion-2.8.1
gmake-4.1_2
grub2-bhyve-0.40
gtk-murrine-engine-0.98.2_4
gtk2-2.24.29_2
inconsolata-ttf-20090215_2
inkscape-0.91_6
lftp-4.7.2
libreoffice-5.0.6
mksh-52c
mpv-0.17.0_1,1
mtr-nox11-0.86
musicpc-0.27
musicpd-0.19.10
ncdu-1.11
ncmpcpp-0.7.4
nitrogen-1.5.2_6
numlockx-1.2
nvidia-driver-340-340.93
nvidia-settings-355.11_3
openal-soft-1.16.0_3
openbox-3.6_1
patch-2.7.5
pidgin-2.10.12_2
pigz-2.3.3_1
pkg-1.8.4
portmaster-3.17.9_2
py27-mcomix-1.2.1
rdesktop-1.8.3
rsync-3.1.2_5
rxvt-unicode-9.22
sdl2-2.0.4
smartmontools-6.5
sylpheed-3.5.0_1
terminus-font-4.40
thunderbird-45.1.0
tigervnc-1.6.0_2
tint2-0.12.9
tmux-2.1_1
unrar-5.31,5
vim-7.4.1832
wireshark-2.0.3
worker-3.8.3
xauth-1.0.9_1
xf86-input-keyboard-1.8.1
xf86-input-mouse-1.9.1_1
xinit-1.3.4,1
xkill-1.0.4
xorg-fonts-7.7_1
xorg-server-1.17.4,1
xrdb-1.1.0
xrefresh-1.0.5
xscreensaver-5.34
xset-1.2.3_1
youtube_dl-2016.05.21.2
zfsnap-1.11.1
zim-0.65

Code:
yamagi@aka:pts/10 ~: pkg query -e '%a == 1' '%n-%v'
CoinMP-1.8.3
GentiumBasic-110_3
GeoIP-1.6.9
ImageMagick-6.9.4.3,1
ORBit2-2.14.19_1
OpenEXR-2.2.0_5
aalib-1.4.r5_11
adns-1.5.0
adwaita-icon-theme-3.18.0
alsa-lib-1.1.1_1
alsa-plugins-1.1.1
apr-1.5.2.1.5.4
argyllcms-1.7.0_1
at-spi2-atk-2.18.1
at-spi2-core-2.18.3
atk-2.18.0
atkmm-2.22.7
avahi-app-0.6.31_5
avfs-1.0.3
babl-0.1.14
bash-4.3.42_1
binutils-2.25.1_2,1
boehm-gc-7.4.2_5
boost-libs-1.55.0_10
ca_root_nss-3.22.2
cairo-1.14.6,2
cairomm-1.10.0_3
caja-1.12.4
cantarell-fonts-0.0.24
clucene-2.3.3.4_7
cmake-modules-3.5.2
colord-1.2.11_1
compositeproto-0.4.2
consolekit-0.4.5_4
crosextrafonts-caladea-20130214_1
crosextrafonts-carlito-20130920_2
cscope-15.8b
ctags-5.8
cups-2.1.3_2
curl-7.49.0
cuse4bsd-kmod-0.1.36
cvsps-2.1_1
damageproto-1.2.1
db5-5.3.28_4
dbus-1.8.20
dbus-glib-0.104
dconf-0.24.0_1
dejavu-2.35
desktop-file-utils-0.22_3
djvulibre-3.5.25.3_3
dmidecode-3.0
docbook-1.5
docbook-sgml-4.5_1
docbook-xml-5.0_3
docbook-xsl-1.76.1_3
dotconf-1.3_1
dri-11.2.2,2
dri2proto-2.8
droid-fonts-ttf-20131024_3
en-gimp-help-html-2.8.1_2
enca-1.18
enchant-1.6.0_5
encodings-1.0.4_3,1
espeak-1.48.04_1
exempi-2.2.2
exiv2-0.24_2,1
expat-2.1.1
farstream-0.2.7
ffmpeg-2.8.7_1,1
fftw3-3.3.3_2
firebird25-client-2.5.4_4
fixesproto-5.0
flac-1.3.1_1
fltk-1.3.3_2
font-adobe-100dpi-1.0.3_3
font-adobe-75dpi-1.0.3_3
font-adobe-utopia-100dpi-1.0.4_3
font-adobe-utopia-75dpi-1.0.4_3
font-adobe-utopia-type1-1.0.4_3
font-alias-1.0.3_3
font-arabic-misc-1.0.3_3
font-bh-100dpi-1.0.3_3
font-bh-75dpi-1.0.3_3
font-bh-lucidatypewriter-100dpi-1.0.3_3
font-bh-lucidatypewriter-75dpi-1.0.3_3
font-bh-ttf-1.0.3_3
font-bh-type1-1.0.3_3
font-bitstream-100dpi-1.0.3_3
font-bitstream-75dpi-1.0.3_3
font-bitstream-type1-1.0.3_3
font-cronyx-cyrillic-1.0.3_3
font-cursor-misc-1.0.3_3
font-daewoo-misc-1.0.3_3
font-dec-misc-1.0.3_3
font-ibm-type1-1.0.3_3
font-isas-misc-1.0.3_3
font-jis-misc-1.0.3_3
font-micro-misc-1.0.3_3
font-misc-cyrillic-1.0.3_3
font-misc-ethiopic-1.0.3_3
font-misc-meltho-1.0.3_3
font-misc-misc-1.1.2_3
font-mutt-misc-1.0.3_3
font-schumacher-misc-1.1.2_3
font-screen-cyrillic-1.0.4_3
font-sony-misc-1.0.3_3
font-sun-misc-1.0.3_3
font-util-1.3.1
font-winitzki-cyrillic-1.0.3_3
font-xfree86-type1-1.0.4_3
fontcacheproto-0.1.3
fontconfig-2.11.1_2,1
fontsproto-2.1.3,1
freeglut-3.0.0
freetype2-2.6.3
fribidi-0.19.7
fusefs-libs-2.9.5
gbm-11.2.2
gcc-ecj-4.5
gconf2-3.2.6_4
gcr-3.18.0
gdbm-1.12
gdk-pixbuf2-2.32.3_1
gegl-0.2.0_14
geoclue-2.3.0
getopt-1.1.6
gettext-runtime-0.19.7
gettext-tools-0.19.7
ghostscript9-agpl-base-9.16_5
ghostscript9-agpl-x11-9.16_2
giflib-5.1.3
gimp-app-2.8.16_2,1
gimp-gutenprint-5.2.10_3
gle-3.1.0_6
glew-1.13.0
glib-2.46.2
glib-networking-2.46.1_1
glibmm-2.44.0,1
glproto-1.4.17
gmp-5.1.3_3
gnome-doc-utils-0.20.10_4
gnome-icon-theme-3.12.0_1
gnome-icon-theme-symbolic-3.12.0
gnome-mount-0.8_12
gnome-online-accounts-3.18.4_1
gnome_subr-1.0
gnupg-2.1.12
gnutls-3.4.12
gobject-introspection-1.46.0
gpgme-1.6.0_1
graphite2-1.3.8
graphviz-2.38.0_12
gsettings-desktop-schemas-3.18.1
gsfonts-8.11_6
gsl-1.16_2
gstreamer-0.10.36_4
gstreamer-ffmpeg-0.10.13_4
gstreamer-plugins-0.10.36_6,3
gstreamer-plugins-a52dec-0.10.19_1,3
gstreamer-plugins-bad-0.10.23_2,3
gstreamer-plugins-core-0.10_13
gstreamer-plugins-dts-0.10.23_1,3
gstreamer-plugins-dvd-0.10.19_4,3
gstreamer-plugins-good-0.10.31_2,3
gstreamer-plugins-libpng-0.10.31_2,3
gstreamer-plugins-mad-0.10.19_3,3
gstreamer-plugins-mp3-0.10.0_1
gstreamer-plugins-ogg-0.10.36_1,3
gstreamer-plugins-pango-0.10.36_2,3
gstreamer-plugins-theora-0.10.36_1,3
gstreamer-plugins-ugly-0.10.19_1,3
gstreamer-plugins-v4l2-0.10.31_1,3
gstreamer-plugins-vorbis-0.10.36_1,3
gstreamer-plugins-xvid-0.10.23_1,3
gstreamer1-1.8.0
gstreamer1-plugins-1.8.0
gstreamer1-plugins-bad-1.8.0
gstreamer1-plugins-good-1.8.0
gtk-update-icon-cache-2.24.29
gtk3-3.18.8_3
gtkmm24-2.24.4_2
gtkspell-2.0.16_5
gutenprint-5.2.10
gutenprint-base-5.2.10_2
gutenprint-ijs-5.2.10_2
gvfs-1.26.3_2
hal-0.5.14_30
harfbuzz-1.2.3
hicolor-icon-theme-0.15
hunspell-1.3.3
hyphen-2.8.8
icu-55.1
id3lib-3.8.3_8
ilmbase-2.2.0
imlib2-1.4.7,2
indexinfo-0.2.4
inputproto-2.3.1
iso-codes-3.65
iso8879-1986_3
jansson-2.7_3
jasper-1.900.1_16
jbig2dec-0.13
jbigkit-2.1_1
jpeg-turbo-1.4.2
json-glib-1.1.2
jsoncpp-1.7.2_1
kbproto-1.0.7
lcms-1.19_6,1
lcms2-2.7_2
libEGL-11.2.2
libGL-11.2.2
libGLU-9.0.0_2
libICE-1.0.9_1,1
libIDL-0.8.14_2
libSM-1.2.2_3,1
libX11-1.6.3,1
libXScrnSaver-1.2.2_3
libXau-1.0.8_3
libXaw-1.0.13,2
libXcomposite-0.4.4_3,1
libXcursor-1.1.14_3
libXdamage-1.1.4_3
libXdmcp-1.1.2
libXext-1.3.3_1,1
libXfixes-5.0.1_3
libXfont-1.5.1,2
libXfontcache-1.0.5_3
libXft-2.3.2_1
libXi-1.7.6,1
libXinerama-1.1.3_3,1
libXmu-1.1.2_3,1
libXp-1.0.3,1
libXpm-3.5.11_4
libXrandr-1.5.0
libXrender-0.9.9
libXt-1.1.5,1
libXtst-1.2.2_3
libXv-1.0.10_3,1
libXvMC-1.0.9
libXxf86misc-1.0.3_3
libXxf86vm-1.1.4_1
liba52-0.7.4_3
libabw-0.1.1_1
libarchive-3.2.0_1,1
libass-0.13.2
libassuan-2.4.2
libaudiofile-0.3.6_2
libcanberra-0.30_3
libcddb-1.3.2_4
libcdio-0.93
libcdio-paranoia-10.2+0.93+1
libcdr01-0.1.2
libcmis-0.5.1
libcroco-0.6.11
libdaemon-0.14_1
libdca-0.0.5_1
libdevq-0.0.2_1
libdrm-2.4.66,1
libdvdcss-1.3.99
libdvdnav-5.0.3
libdvdread-5.0.3
libe-book-0.1.2_2
libedit-3.1.20150325_2
libepoxy-1.3.1
liberation-fonts-ttf-2.00.1,2
libetonyek01-0.1.3_1,1
libevent2-2.0.22_1
libexif-0.6.21_4
libexttextcat-3.4.4
libffi-3.2.1
libfontenc-1.1.3
libfpx-1.3.1.4_1
libfreehand-0.1.1
libgcrypt-1.7.0
libgd-2.1.0_7,1
libgdata-0.17.4
libglade2-2.6.4_8
libglapi-11.2.2
libglesv2-11.2.2
libgltf-0.0.2_1
libgnome-keyring-3.12.0_2
libgpg-error-1.22
libgphoto2-2.5.10
libgsf-1.14.36
libgxps-0.2.3.2
libiconv-1.14_9
libid3tag-0.15.1b_1
libidn-1.31
libijs-0.35_5
libinotify-20160505
libksba-1.3.4
liblangtag-0.5.8
liblqr-1-0.4.1_8
libltdl-2.4.6
liblz4-131
libmad-0.15.1b_6
libmng-1.0.10_2
libmpdclient-2.10
libmspub01-0.1.2_1
libmwaw03-0.3.7
libnice-0.1.13
libnice-gst1-0.1.13
libnotify-0.7.6_1
liboauth-1.0.3_2
libodfgen01-0.1.6
libogg-1.3.2_1,4
libopenraw-0.0.9_3
liborcus-0.9.2
libpagemaker-0.0.3
libpaper-1.1.24.4
libpci-3.5.1
libpciaccess-0.13.4
libproxy-0.4.12
libpthread-stubs-0.3_6
libpurple-2.10.12_2
librevenge-0.0.4
librsvg2-2.40.13
librtmp-2.4.20151223
libsecret-0.18.4
libsigc++-2.4.1
libsmi-0.4.8_1
libsndfile-1.0.26
libsoup-2.52.2
libsoup-gnome-2.52.2
libspectre-0.2.7_2
libspiro-0.5.20150702,1
libtasn1-4.8
libtheora-1.1.1_6
libublio-20070103_2
libv4l-1.6.3_1
libva-1.7.0
libvdpau-1.1.1
libvisio01-0.1.5
libvolume_id-0.81.1
libvorbis-1.3.5,3
libvpx-1.5.0_1
libwmf-0.2.8.4_15
libwpd010-0.10.1
libwpg03-0.3.1
libwps-0.4.3
libx264-0.144.2533_1
libxcb-1.11.1
libxkbfile-1.0.9
libxkbui-1.0.2_4
libxml++-2.34.2_2
libxml2-2.9.3
libxshmfence-1.2
libxslt-1.1.28_8
libyaml-0.1.6_2
linux_base-c6-6.7_2
linuxlibertine-g-20120116_1
llvm37-3.7.1_2
lp_solve-5.5.2.0
lua51-5.1.5_9
lua52-5.2.4
lzo2-2.09
mate-desktop-1.12.1
mate-icon-theme-1.12.0
mime-support-3.59
mkfontdir-1.0.7
mkfontscale-1.1.2
mpc-1.0.3
mpfr-3.1.4
mythes-1.2.4
ncurses-6.0_2
netpbm-10.35.98
nettle-3.2
npth-1.2
nspr-4.12
nss-3.24
opencollada-1.2.2.20150519
opencv-core-2.4.9_3
openjpeg-2.1.1
openjpeg15-1.5.2_1
openldap-client-2.4.44
orc-0.4.25
p11-kit-0.23.2
p5-Authen-NTLM-1.09_1
p5-Authen-SASL-2.16_1
p5-Digest-HMAC-1.03_1
p5-Encode-Locale-1.05
p5-Error-0.17024
p5-File-Listing-6.04_1
p5-GSSAPI-0.28_1
p5-HTML-Parser-3.72
p5-HTML-Tagset-3.20_1
p5-HTTP-Cookies-6.01_1
p5-HTTP-Daemon-6.01_1
p5-HTTP-Date-6.02_1
p5-HTTP-Message-6.11
p5-HTTP-Negotiate-6.01_1
p5-IO-HTML-1.001_1
p5-IO-Socket-IP-0.37
p5-IO-Socket-SSL-2.027
p5-LWP-MediaTypes-6.02_1
p5-Mozilla-CA-20160104
p5-Net-HTTP-6.09
p5-Net-SMTP-SSL-1.03
p5-Net-SSLeay-1.74
p5-Socket-2.021
p5-Term-ReadKey-2.32_1
p5-URI-1.71
p5-Unicode-Map8-0.13_1
p5-Unicode-String-2.09_1
p5-WWW-RobotRules-6.02_1
p5-libwww-6.15
p5-subversion-1.9.4
pango-1.38.0_1
pangomm-2.36.0
pciids-20160522
pcre-8.38_1
perl5-5.20.3_13
pinentry-0.9.7
pinentry-tty-0.9.7
pixman-0.34.0
pkgconf-0.9.12_1
png-1.6.21
policykit-0.9_10
policykit-gnome-0.9.2_7
polkit-0.113_1
poppler-0.40.0
poppler-data-0.4.7
poppler-glib-0.40.0
popt-1.16_1
portaudio-19.20140130_3
printproto-1.0.5
py27-cairo-1.10.0_2
py27-dbus-1.2.0_1
py27-gimp-2.8.16
py27-gobject-2.28.6_6
py27-gtk2-2.24.0_4
py27-libxml2-2.9.3
py27-pillow-3.1.1_1
py27-setuptools27-20.0
py27-sqlite3-2.7.11_7
py27-tkinter-2.7.11_6
py27-xdg-0.25
pydbus-common-1.2.0_1
python-2.7_2,2
python2-2_3
python27-2.7.11_2
randrproto-1.5.0
raptor2-2.0.15_1
rarian-0.8.1_4
rasqal-0.9.33
re2-20151101
readline-6.3.8
recode-3.6_12
recordproto-1.14.2
redland-1.0.17_4
renderproto-0.11.1
rest-0.7.93
rtmpdump-2.4.20151223
ruby-2.2.5,1
samba36-libsmbclient-3.6.25_2
schroedinger-1.0.11_4
scrnsaverproto-1.2.2
sdl-1.2.15_7,2
sdocbook-xml-1.1_2,2
serf-1.3.8_1
shared-mime-info-1.5
snappy-1.1.3
soundtouch-1.9.2
speech-dispatcher-0.8.3_1
speex-1.2.r2,1
speexdsp-1.2.r3_1
spidermonkey170-17.0.0_1
sqlite3-3.13.0
startup-notification-0.12_4
subversion-1.9.4
svgalib-1.4.3_7
taglib-1.10
talloc-2.1.6
tcl86-8.6.5_1
tdb-1.3.9,1
telepathy-glib-0.24.1
tevent-0.9.28
tiff-4.0.6_1
tk86-8.6.5
tpm-emulator-0.7.4_1
trousers-0.3.13
uhttpmock-0.5.0
unique-1.1.6_6
vala-0.30.1
videoproto-2.3.2
webcamd-4.2.0.9
webkit-gtk2-2.4.11
webkit2-gtk3-2.8.5_2
webp-0.5.0
xcb-util-0.4.0_1,1
xcb-util-renderutil-0.3.9_1
xdg-utils-1.1.1
xextproto-7.3.0
xf86miscproto-0.9.3
xf86vidmodeproto-2.3.1
xineramaproto-1.2.1
xkbcomp-1.3.1
xkeyboard-config-2.17
xmlcatmgr-2.2_2
xmlcharent-0.3_2
xorg-fonts-100dpi-7.7
xorg-fonts-75dpi-7.7
xorg-fonts-cyrillic-7.7
xorg-fonts-miscbitmaps-7.7
xorg-fonts-truetype-7.7_1
xorg-fonts-type1-7.7
xprop-1.2.2
xproto-7.0.28
xvid-1.3.4,1
yajl-2.1.0
zopfli-1.0.1

Normalerweise ergibt sich ganz von allein, dass die Pakete korrekt als automatisch installiert und nicht automatisch installiert markiert werden. Das Problem sind da eher Tools wie portmaster, denen der notwendige Überblick über den Abhängigkeitsbaum fehlt und die daher manchmal oder auch immer das 'automatic' Flag nicht an pkg übergeben. Dann fängt man sich doch wieder Abhängigkeiten ein, die als nicht automatisch installiert markiert sind. Das sind einfach Macken, die aus der Zeit vor pkg übernommen wurden und sich hoffentlich irgendwann auswachsen werden. Man hatte damals diskutiert, wie die meisten Linuxe den pragmatischen Weg zu gehen, und alles zwingend hart mit pkg zu integrieren. Dann hätte es solche Probleme nicht gegeben. Man hat sich aber dagegen entschieden, da man all die vorhandenen Tools nicht unbrauchbar machen wollte.
 
ich habe das bei mir auch probiert und kann das so nicht bestätigen. Es ist zB x11/xorg in der Liste enthalten.
Das ist auch richtig so. Nichts sollte von x11/xorg abhängen. Das ist ein Meta-Port.

Die Liste enthält alle Blätter deines Abhängigkeitsbaums. Das sind in der Regel, die Anwendungen die Du auf dem System haben willst. Wenn in der Liste etwas auftaucht was Du nicht haben willst, kannst Du es bedenkenlos löschen, weil kein anderes Paket davon abhängt.
 
Das Problem sind da eher Tools wie portmaster, denen der notwendige Überblick über den Abhängigkeitsbaum fehlt und die daher manchmal oder auch immer das 'automatic' Flag nicht an pkg übergeben. Dann fängt man sich doch wieder Abhängigkeiten ein, die als nicht automatisch installiert markiert sind.
Erst einmal danke für die ausführlichen Erklärungen. Wenn aber in diesem Zusammenhang dann portmaster (und das System, mit welchem ich hier herum teste, ist fast nur mit portmaster gebaut) für Inkonsistenzen sorgt, kann ein Mischen von pkg und portmaster nicht einfach so empfohlen werden. Dass durch portmaster eigentlich ordentlich implementierte pkg Optionen nicht mehr funktionieren, finde ich ziemlich ärgerlich.

Allmählich bekomme ich den Eindruck, dass es doch gut ist, pkg zu nutzen, und Dinge mit eigenen Optionen sauber per poudriere zu bauen, damit ein extra Repo ein zu richten, und daraus dann mit pkg Sachen installieren - und um portmaster einen großen Bogen zu machen. Ich werde in meiner neuen Fassung der Installations-Doku portmaster nur noch am Rande erwähnen und unter Verweis auf diesen Thread dann stattdessen poudriere empfehlen.

Viele Grüße,
Holger
 
Poudriere ist halt schon eine gewisse Hürde. Das muss man erst mal einrichten. Ab 3 Rechnern lohnt es sich meiner Meinung nach auf jeden Fall, aber ich glaube für einen einzelnen Rechner ist der Aufwand zu groß.

Als Port Maintainer macht poudriere natürlich auch extrem Sinn, um zu Testzwecken Pakete auf verschiedenen FreeBSD Versionen zu bauen.
 
Poudriere ist halt schon eine gewisse Hürde. Das muss man erst mal einrichten. Ab 3 Rechnern lohnt es sich meiner Meinung nach auf jeden Fall, aber ich glaube für einen einzelnen Rechner ist der Aufwand zu groß.

Naja, soooo groß ist der Aufwand nun auch wieder nicht. Config bearbeiten, 3 Zeilen ins Terminal abtippen und pkg-Config anlegen . ;)

Bin sowieso dafür, dass entweder sinnigere Default Options kommen oder pkg mit flavors. Poudriere ist für mich ja auch eher eine Notlösung.
 
Hallo,

wenn ein ordentliches Resultat zu erreichen ist, nehme ich doch gern mal ein paar Hürden in Kauf. Es geht um mehrere Testinstallationen auf meinem Pc (für meine Dokumentation), um mein Notebook, um einen weiteren alten Pc von mir, eventuell um den Pc und das Notebook meiner Frau, eventuell um den Pc meiner Eltern. Da lohnt sich poudriere doch.
Viele Grüße,
Holger
 
Wenn in der Liste etwas auftaucht was Du nicht haben willst, kannst Du es bedenkenlos löschen, weil kein anderes Paket davon abhängt.

Ah ja. Da kann ich zustimmen ;-)
Danke.


Poudriere-
meine Meinung dazu: Nur dann, wenn man "viele" Ports bauen möchte, lohnt sich das doch. Viele splittet sich dabei in die Summe der Ports für unterschiedliche Architekturen und die Anzahl der gewünschten Ports.
Ansonsten kann man doch die Pakete von einer Architektur auch auf PCs der gleichen Architektur verwenden. Sie sind ja da und sie werden ja auch bei Bau aus den Ports gebildet. Man muss sie nur sammeln und an die anderen Rechner gleicher Architektur verteilen.
In der Vergangenheit hatte ich überwiegend aus Ports gebaut und nun pkg deshalb nun ein wenig skeptisch eingesetzt. Meine Bedenken sind aber vollends verflogen. Ich möchte das nicht mehr missen und nehme sogar billigend in Kauf, dass manche Optionen vielleicht nicht meinen Wünschen entsprechen. Ich würde daher heute sagen: so wenig Ports wie möglich, Pakete sind einfach super!
 
Hallo Pit,

spätestens beim Bau von plasma5 lohnt sich poudriere.

Und wenn man im Heimnetzwerk dlna einsetzt, wird man mit den Defaults von VLC unter FreeBSD nicht glücklich. Und wenn man unter Libreoffice die Dateidialoge von KDE nutzen möchte ... und ... und

Viele Grüße,
Holger
 
Ich habe gestern einen Entwicklungszweig von bsda2 gepusht. Da ist pkg_trim drin:

https://github.com/lonkamikaze/bsda2/tree/pkg_trim

pkg_trim zeigt die Blätter im Abhängigkeitsbaum, will heißen die Pakete von denen keine anderen Pakete Abhängig sind. Die Liste ist auf Basis des autoremove Flags vorselektiert.

Wenn durch das löschen der selektierten Pakete weitere Pakete frei würden, werden diese als nächstes angezeigt.

Wenn keine Pakete mehr hinzu kommen bekommt man noch mal alle selektierten (und manuell deselektierten) Pakete angezeigt. Wenn man diese Liste abnickt bekommt man die Wahl die selektierten Pakete entweder direkt zu löschen oder das autoremove Flags der genannten Pakete entsprechend der Auswahl zu aktualisieren.

Wer das mal ausprobieren will kann sich einen snapshot runterladen und direkt aus dem Verzeichnis src/pkg_trim ausführen. Der installer installiert pkg_trim noch nicht mit.
 
Ich entblöde mich jetzt nicht ... bei mir passiert da gar nichts.
Ich habe deinen Link mal als Zip gepackt runtergeladen und die install.sh ausgeführt und wenn ich dann im src die pkg_trim.sh laufen lasse mit "sh pkg_trim.sh", dann passiert da nichts.

Er meckert übrigens beim installieren, daß er
Code:
installing: /usr/local/sbin/distviper
sed: src/distviper: Datei oder Verzeichnis nicht gefunden

HTH :)
 
Ich entblöde mich jetzt nicht ... bei mir passiert da gar nichts.
Ich habe deinen Link mal als Zip gepackt runtergeladen und die install.sh ausgeführt und wenn ich dann im src die pkg_trim.sh laufen lasse mit "sh pkg_trim.sh", dann passiert da nichts.
Ich zitiere hier einfach mal:
Wer das mal ausprobieren will kann sich einen snapshot runterladen und direkt aus dem Verzeichnis src/pkg_trim ausführen. Der installer installiert pkg_trim noch nicht mit.


Er meckert übrigens beim installieren, daß er
Code:
installing: /usr/local/sbin/distviper
sed: src/distviper: Datei oder Verzeichnis nicht gefunden

HTH :)
Danke für den Hinweis, ich kann mir das gerade nicht wirklich erklären. Vielleicht liegt es daran, dass distviper ein symlink ist aber ich kann das Problem hier nicht reproduzieren. Auf welcher FreeBSD Version bist Du denn?
 
Hey, ich habe genau das gemacht ...

-> Zip nach /tmp geladen
-> unzip
-> cd bsda2tralala/src
-> sh pkg_trim.sh

Der Erfolg ist "0", kurz es erfolgt keine Ausgabe.

Code:
== root@rr :/home/me == 14:23:39 ==> cd /tmp/bsda2
bsda2-pkg_trim/ bsda2/  
== root@rr :/home/me == 14:23:39 ==> cd /tmp/bsda2-pkg_trim/
LICENSE.md  README.md  bsda_obj.md  deinstall.sh* install.inc  install.sh*  list.sh*  src/
== root@rr :/home/me == 14:23:39 ==> cd /tmp/bsda2-pkg_trim/src/
== root@rr :/tmp/bsda2-pkg_trim/src == 14:23:57 ==>
bsda_container.sh  bsda_tty.sh*  buildflags.conf.sample  pkg_info.sh  pkg_query.sh
bsda_dialog.sh  bsda_tty_test.sh*  buildflags.mk  pkg_libchk*  pkg_trim.sh
bsda_fifo.sh  buildflags.awk*  buildflags.mk.1  pkg_libchk.1  
bsda_obj.sh*  buildflags.awk.1  distviper.1  pkg_libchk.sh  
bsda_opts.sh  buildflags.conf.1  distviper.sh  pkg_options.sh  
== root@rr :/tmp/bsda2-pkg_trim/src == 14:23:57 ==> sh pkg_trim.sh
== root@rr :/tmp/bsda2-pkg_trim/src == 14:24:20 ==>

Kann ja sein, daß das richtig ist, wenn er nichts findet, aber ich habe Dich anders verstanden.


Code:
==> freebsd-version
10.3-RELEASE-p16

Braucht man was höheres?
Ich hatte mich nicht durch den ganzen Thread gelesen. :o
 
Hey, ich habe genau das gemacht ...

-> Zip nach /tmp geladen
-> unzip
-> cd bsda2tralala/src
-> sh pkg_trim.sh
Das ist übrigens nicht was ich geschrieben habe. Probier mal pkg_trim.

Was den Installer Fehler angeht. Bald muss das ganze durch poudriere, dann weiß ich hoffentlich mehr.
 
Bei mir ist da kein "pkg_trim" ...

Code:
==> unzip bsda2-pkg_trim.zip
Archive:  bsda2-pkg_trim.zip
d bsda2-pkg_trim
 extracting: bsda2-pkg_trim/LICENSE.md  
 extracting: bsda2-pkg_trim/README.md  
 extracting: bsda2-pkg_trim/bsda_obj.md  
 extracting: bsda2-pkg_trim/deinstall.sh  
 extracting: bsda2-pkg_trim/install.inc  
 extracting: bsda2-pkg_trim/install.sh  
 extracting: bsda2-pkg_trim/list.sh  
d bsda2-pkg_trim/src
 extracting: bsda2-pkg_trim/src/bsda_container.sh  
 extracting: bsda2-pkg_trim/src/bsda_dialog.sh  
 extracting: bsda2-pkg_trim/src/bsda_fifo.sh  
 extracting: bsda2-pkg_trim/src/bsda_obj.sh  
 extracting: bsda2-pkg_trim/src/bsda_opts.sh  
 extracting: bsda2-pkg_trim/src/bsda_tty.sh  
 extracting: bsda2-pkg_trim/src/bsda_tty_test.sh  
 extracting: bsda2-pkg_trim/src/buildflags.awk  
 extracting: bsda2-pkg_trim/src/buildflags.awk.1  
 extracting: bsda2-pkg_trim/src/buildflags.conf.1  
 extracting: bsda2-pkg_trim/src/buildflags.conf.sample  
 extracting: bsda2-pkg_trim/src/buildflags.mk  
 extracting: bsda2-pkg_trim/src/buildflags.mk.1  
unzip: skipping non-regular entry 'bsda2-pkg_trim/src/distviper'
 extracting: bsda2-pkg_trim/src/distviper.1  
 extracting: bsda2-pkg_trim/src/distviper.sh  
 extracting: bsda2-pkg_trim/src/pkg_info.sh  
 extracting: bsda2-pkg_trim/src/pkg_libchk  
 extracting: bsda2-pkg_trim/src/pkg_libchk.1  
 extracting: bsda2-pkg_trim/src/pkg_libchk.sh  
 extracting: bsda2-pkg_trim/src/pkg_options.sh  
 extracting: bsda2-pkg_trim/src/pkg_query.sh  
unzip: skipping non-regular entry 'bsda2-pkg_trim/src/pkg_trim'
 extracting: bsda2-pkg_trim/src/pkg_trim.8  
 extracting: bsda2-pkg_trim/src/pkg_trim.sh

Aber ein
Code:
==> git clone https://github.com/lonkamikaze/bsda2.git
Klone nach 'bsda2' ...
remote: Counting objects: 652, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 652 (delta 64), reused 0 (delta 0), pack-reused 539
Empfange Objekte: 100% (652/652), 222.13 KiB | 0 bytes/s, Fertig.
Löse Unterschiede auf: 100% (387/387), Fertig.
==> ls -la bsda2/src
total 146
drwxr-xr-x  2 root  wheel  27  1 Feb 22:26 .
drwxr-xr-x  4 root  wheel  11  1 Feb 22:26 ..
-rw-r--r--  1 root  wheel  8909  1 Feb 22:26 bsda_container.sh
-rw-r--r--  1 root  wheel  2851  1 Feb 22:26 bsda_dialog.sh
-rw-r--r--  1 root  wheel  1809  1 Feb 22:26 bsda_fifo.sh
-rwxr-xr-x  1 root  wheel  39154  1 Feb 22:26 bsda_obj.sh
-rw-r--r--  1 root  wheel  5987  1 Feb 22:26 bsda_opts.sh
-rwxr-xr-x  1 root  wheel  10182  1 Feb 22:26 bsda_tty.sh
-rwxr-xr-x  1 root  wheel  944  1 Feb 22:26 bsda_tty_test.sh
-rwxr-xr-x  1 root  wheel  6929  1 Feb 22:26 buildflags.awk
-rw-r--r--  1 root  wheel  4680  1 Feb 22:26 buildflags.awk.1
-rw-r--r--  1 root  wheel  3797  1 Feb 22:26 buildflags.conf.1
-rw-r--r--  1 root  wheel  2271  1 Feb 22:26 buildflags.conf.sample
-rw-r--r--  1 root  wheel  2234  1 Feb 22:26 buildflags.mk
-rw-r--r--  1 root  wheel  2327  1 Feb 22:26 buildflags.mk.1
lrwxr-xr-x  1 root  wheel  10  1 Feb 22:26 distviper -> pkg_libchk
-rw-r--r--  1 root  wheel  3074  1 Feb 22:26 distviper.8
-rw-r--r--  1 root  wheel  6901  1 Feb 22:26 distviper.sh
-rw-r--r--  1 root  wheel  3991  1 Feb 22:26 pkg_info.sh
-rwxr-xr-x  1 root  wheel  246  1 Feb 22:26 pkg_libchk
-rw-r--r--  1 root  wheel  3079  1 Feb 22:26 pkg_libchk.1
-rw-r--r--  1 root  wheel  9294  1 Feb 22:26 pkg_libchk.sh
-rw-r--r--  1 root  wheel  1081  1 Feb 22:26 pkg_options.sh
-rw-r--r--  1 root  wheel  2052  1 Feb 22:26 pkg_query.sh
lrwxr-xr-x  1 root  wheel  10  1 Feb 22:26 pkg_trim -> pkg_libchk
-rw-r--r--  1 root  wheel  955  1 Feb 22:26 pkg_trim.8
-rw-r--r--  1 root  wheel  7806  1 Feb 22:26 pkg_trim.sh

... liefert es scheinbar, was es vorher noch nicht tat.

... und jetzt tut es es auch!

Hast Du fein gemacht! Sehr luxuriös das ganze. :)
 
Jetzt schnalle ich das Problem. src/pkg_trim und src/distviper sind Symlinks und zip kann keine Symlinks.

Edit: Habe es gerade ausprobiert sowohl mit tar -xf als auch mit unzip kommen bei mir die Symlinks unbeschadet aus dem Zip. Das war es also nicht.
 
Zurück
Oben