Table of Contents

Gentoo

Don't use this for your own gentoo setup. This is not a good reference!

https://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 ←- this is a good one

Kernel config

kergen -g

Funtoo overlay fix

sudo wget -O /var/lib/layman/funtoo-overlay/eclass/python.eclass  http://gentoo-progress.googlecode.com/svn/overlays/progress/eclass/python.eclass

Update

Gentoo

eix-sync && \
PORTAGE_NICENESS=19 PORTAGE_IONICE_COMMAND="ionice -c3 -p \${PID}" emerge --update --deep --with-bdeps=y --newuse --ask @world && \
emerge @preserved-rebuild && \
emerge -a --depclean

Kernel

eselect kernel set 1
cd /usr/src/linux
cp $(ls -vr /usr/src/linux-*-hardened/.config | head -1) /usr/src/linux/
make olddefconfig
 
make -j8 && make -j8 modules_install && make -j8 install && touch /boot/* && emerge -1 @module-rebuild
##Jentoo:
in /usr/src/linux kernelconfig  für Auswahl der Modules (danach auf save klicken)
dann kernel bauen in /usr/src/linux mit: make -j8 && make -j8 modules_install && make -j8 install && emerge -1 @module-rebuild
in /boot das neueste vmlinuz-...-gentoo nach EFI/Boot/bootx64.efi kopieren (mit y bestätigen, nicht enter!)
dann neu starten

Python

eselect python set xxx ## Nicht umbedingt die neuste Version (wie es update tun würde)
python-updater
perl-cleaner --all
eclean-dist -d
ls  /var/{log,tmp}/portage

PostgreSQL

## Temporally install the old version 
emerge -1  dev-db/postgresql:9.3
 
## Create database and config for the new version
emerge --config dev-db/postgresql:9.5
 
## Manually merge config
d /etc/postgresql-9.{3,5}/pg_hba.conf
#...
 
## Migrate
cd /tmp
sudo -u postgres -- pg_upgrade -d /var/lib/postgresql/9.3/data/ -D /var/lib/postgresql/9.5/data/ -b /usr/lib/postgresql-9.3/bin/ -B /usr/lib/postgresql-9.5/bin/
systemctl start postgresql-9.5.service
sudo -u postgres /var/lib/postgresql/analyze_new_cluster.sh
rm -R /etc/postgresql-9.3 /var/lib/postgresql/9.3

In some old instructions, steps can be found, which are not necessary anymore:

Arch Linux Version

systemctl stop postgresql
systemctl status postgresql

cd /var/lib/postgres
V=$(cat data/PG_VERSION)
mv data data-$V

install -d -o postgres -g postgres -m 700 /var/lib/postgres/{data,tmp}
cd tmp
sudo -u postgres -- initdb --locale en_US.UTF-8 --encoding=UTF8 -D ../data
sudo -u postgres -- pg_upgrade -b /opt/pgsql-$V/bin -B /usr/bin -d ../data-$V -D ../data
systemctl start postgresql
systemctl status postgresql
sudo -u postgres -- vacuumdb --all --analyze-in-stages
cd ..
rm -R tmp

Haushalten

Konfiguration in /etc/portage/ überprüfen

eix -t
eix -T
eix-test-obsolete
portpeek -a

Keywords, die nicht in world sind

cat /etc/portage/package.accept_keywords/{imp,exp}-* | grep -vE '^#' | xargs qatom | cut -d ' ' -f 1-2 | tr ' ' '/' | sort -u | grep -vF '(null)' | grep -Ev "$(tr '\n' '|' </var/lib/portage/world | rev | cut -c 2- | rev)"

Finde doppelte useflags in /etc/portage/make.conf

source /etc/portage/make.conf
tr ' ' '\n' <<<$USE | sort | uniq -d

Finde package use flags in /etc/portage/make.conf

source /etc/portage/make.conf
for u in $(tr ' ' '\n' <<<$USE | sed 's/^-//' | sort -u) ; do
    grep -Eq '^{} - ' /usr/portage/profiles/use.desc || equery h $u
done

Pakete mit “kaputen” files

qcheck --all --nomtime | grep -vE "files are good|file are good" | grep -B 1 -E '^ '

Finde Dateien, die zu keinem Paket gehören

find /usr -path /usr/local -prune -o -path /usr/lib64 -prune -o -path /usr/portage -prune -o -type f -print0 | xargs -0 qfile -o

Pakete die Aufmerksamkeit wollen neu bauen

PORTAGE_NICENESS=19 PORTAGE_IONICE_COMMAND="ionice -c3 -p \${PID}" emerge -A --autounmask-continue \
	$(emerge -e --pretend @world | grep -vF '[ebuild   R   ' | sed -n 's/^[^]]*\] \+\([^ ]*\).*/=\1/p') \
	$(emerge -e --pretend @world | grep -F '="' | sed -n 's/^[^]]*\] \+\([^ ]*\).*/=\1/p')

Alle Pakete aus fremden Overlays auflisten

(for pkg in /var/db/pkg/*/*; do if ! grep gentoo $pkg/repository >/dev/null; then printf '%15s %s\n' "`cat $pkg/repository`" "`basename $pkg`"; fi; done)|sort

TeX Live manuell installieren

Zunächst als root

mkdir -p /opt/texlive /etc/portage/profile/package.provided
chown -R /opt/texlive # Den user hier angeben
cat >/etc/portage/profile/package.provided/notl <<EOF
app-text/texlive-2015
app-text/texlive-2016
app-text/texlive-2017
app-text/dvipng-1.15
EOF
emerge -cvaA `(echo virtual/latex-base ; EIX_LIMIT=0 eix -\# -I -C dev-tex)`
emerge -cvaA

… ggf. muss man noch Pakete die von texlive abhängen deinstallieren und nacher wieder installieren (doxygen, Anki, …) oder --nodeps verwenden

Dann als user ein TeX Live profile (in /tmp/texlive.profile) anlegen:

# It will NOT be updated and reflects only the
# installation profile at installation time.

selected_scheme scheme-custom

TEXDIR          /opt/texlive/2017
TEXMFSYSCONFIG  /opt/texlive/2017/texmf-config
TEXMFSYSVAR     /opt/texlive/2017/texmf-var
TEXMFLOCAL      /opt/texlive/texmf-local

TEXMFCONFIG     ~/.config/texlive2017
TEXMFVAR        ~/.cache/texlive2017
TEXMFHOME       ~/texmf


binary_x86_64-linux 1
collection-basic 1
collection-bibtexextra 1
collection-binextra 1
collection-context 1
collection-fontsextra 1
collection-fontsrecommended 1
collection-fontutils 1
collection-formatsextra 1
collection-games 1
collection-humanities 1
collection-langenglish 1
collection-langgerman 1
collection-latex 1
collection-latexextra 1
collection-latexrecommended 1
collection-luatex 1
collection-mathscience 1
collection-metapost 1
collection-music 1
collection-pictures 1
collection-plaingeneric 1
collection-pstricks 1
collection-publishers 1
collection-xetex 1

instopt_adjustpath 0
instopt_adjustrepo 1
instopt_letter 0
instopt_portable 0
instopt_write18_restricted 1

tlpdbopt_autobackup 1
tlpdbopt_backupdir tlpkg/backups
tlpdbopt_create_formats 1
tlpdbopt_desktop_integration 1
tlpdbopt_file_assocs 1
tlpdbopt_generate_updmap 0
tlpdbopt_install_docfiles 0
tlpdbopt_install_srcfiles 0
tlpdbopt_post_code 1
tlpdbopt_sys_bin /usr/local/bin
tlpdbopt_sys_info /usr/local/share/info
tlpdbopt_sys_man /usr/local/share/man
tlpdbopt_w32_multi_user 1
pushd /tmp
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xvf install-tl-unx.tar.gz
install-tl-*/install-tl -profile /tmp/texlive.profile

Danach /opt/texlive/2017/bin/x86_64-linux in $PATH hinzufügen.

Ein update von TeX Live geht danach mit:

tlmgr update --list | less
echo "Update? (or Ctrl+C to cancel)"
read && tlmgr update --self --all

Cross Compiler

AVR Compiler bauen

USE="multilib cxx -openmp -sanitize -hardened" crossdev -S -t avr

Paketieren

ebuild *.ebuild manifest
ebuild *.ebuild merge

Kernel Parameter

Cheat sheet

GTK

Find all themes supporting GTK2 and GTK3

echo GTK2/3
for d in /usr/share/themes/* ; do
    if [ -e "$d/gtk-3.0" -a -e "$d/gtk-2.0" ] ; then
        printf "%20s %s\n" "$(basename "$d")" "$(equery b "$d")"
    fi
done
echo GTK2 only
for d in /usr/share/themes/* ; do
    if [ ! -e "$d/gtk-3.0" -a -e "$d/gtk-2.0" ] ; then
        printf "%20s %s\n" "$(basename "$d")" "$(equery b "$d")"
    fi
done
echo GTK3 only
for d in /usr/share/themes/* ; do
    if [ -e "$d/gtk-3.0" -a ! -e "$d/gtk-2.0" ] ; then
        printf "%20s %s\n" "$(basename "$d")" "$(equery b "$d")"
    fi
done
echo Other
for d in /usr/share/themes/* ; do
    if [ ! -e "$d/gtk-3.0" -a ! -e "$d/gtk-2.0" ] ; then
        printf "%20s %s\n" "$(basename "$d")" "$(equery b "$d")"
    fi
done

For some Themes, the engine to be used is defined in gtk-2.0/gtkrc or gtk-3.0/gtk.css.

Some engines (like x11-themes/gtk-engines-xfce) have their themes included (no further package is required). Some themes depend on their engine (like x11-themes/light-themes depends on x11-themes/gtk-engines-murrine and x11-themes/gtk-engines-unico). You can use http://www.portagefilelist.de/site/query/file/?do#result to find Themes by looking for gtk.css.

GTK2/3
             Adwaita x11-themes/gnome-themes-standard-3.18.0
            Ambiance x11-themes/light-themes-15.04_p20150410
     Ambiance-Gentoo x11-themes/light-themes-15.04_p20150410
           BlackMATE x11-themes/mate-themes-1.8.1
           BlueMenta x11-themes/mate-themes-1.8.1
              Breeze kde-plasma/breeze-gtk-5.5.5
         Breeze-Dark kde-plasma/breeze-gtk-5.5.5
   Clearlooks-Phenix x11-themes/clearlooks-phenix-3.0.15
        ContrastHigh x11-themes/mate-themes-1.8.1
         GreenLaguna x11-themes/mate-themes-1.8.1
            Greybird x11-themes/greybird-1.5.3
        HighContrast x11-themes/gnome-themes-standard-3.18.0
               Menta x11-themes/mate-themes-1.8.1
            Radiance x11-themes/light-themes-15.04_p20150410
     Radiance-Gentoo x11-themes/light-themes-15.04_p20150410
    TraditionalGreen x11-themes/mate-themes-1.8.1
       TraditionalOk x11-themes/mate-themes-1.8.1
              Zukini x11-themes/zukini-20120806
             Zukitwo x11-themes/zukitwo-2014.10.22
GTK2 only
            AlaDelta x11-themes/mate-themes-1.8.1
              Aurora x11-themes/gtk-engines-aurora-1.5.1
          Clearlooks x11-themes/gtk-engines-2.20.2-r2
 ContrastHighInverse x11-themes/mate-themes-1.8.1
ContrastHighLargePrint x11-themes/mate-themes-1.8.1
ContrastHighLargePrintInverse x11-themes/mate-themes-1.8.1
         ContrastLow x11-themes/mate-themes-1.8.1
ContrastLowLargePrint x11-themes/mate-themes-1.8.1
                Crux x11-themes/gtk-engines-2.20.2-r2
                Flat x11-themes/gtk-engines-flat-2.0-r3
               Human x11-themes/gtk-engines-ubuntulooks-0.9.12-r3
          Industrial x11-themes/gtk-engines-2.20.2-r2
                Mist x11-themes/gtk-engines-2.20.2-r2
       MurrezaSilver x11-themes/murrine-themes-0.98.0
         MurrezaWarm x11-themes/murrine-themes-0.98.0
      MurrinaAquaIsh x11-themes/murrine-themes-0.98.0
          MurrinaBlu x11-themes/murrine-themes-0.98.0
      MurrinaCandido x11-themes/murrine-themes-0.98.0
        MurrinaCandy x11-themes/murrine-themes-0.98.0
   MurrinaCappuccino x11-themes/murrine-themes-0.98.0
        MurrinaCream x11-themes/murrine-themes-0.98.0
         MurrinaEalm x11-themes/murrine-themes-0.98.0
   MurrinaFancyCandy x11-themes/murrine-themes-0.98.0
     MurrinaGilouche x11-themes/murrine-themes-0.98.0
     MurrinaLoveGray x11-themes/murrine-themes-0.98.0
  MurrinaNeoGraphite x11-themes/murrine-themes-0.98.0
   MurrinaVerdeOlivo x11-themes/murrine-themes-0.98.0
                 NOX x11-themes/murrine-themes-0.98.0
          oxygen-gtk x11-themes/oxygen-gtk-1.4.6
          PrintLarge x11-themes/mate-themes-1.8.1
             Raleigh x11-libs/gtk+-2.24.29
             Redmond x11-themes/gtk-engines-2.20.2-r2
             Reverse x11-themes/mate-themes-1.8.1
               Shiny x11-themes/mate-themes-1.8.1
              Simply x11-themes/mate-themes-1.8.1
             ThinIce x11-themes/gtk-engines-2.20.2-r2
GTK3 only
             Default x11-libs/gtk+-2.24.29
x11-libs/gtk+-3.18.7
               Emacs x11-libs/gtk+-2.24.29
x11-libs/gtk+-3.18.7
                Xfce x11-themes/gtk-engines-xfce-3.2.0-r300
            Xfce-4.0 x11-themes/gtk-engines-xfce-3.2.0-r300
            Xfce-4.2 x11-themes/gtk-engines-xfce-3.2.0-r300
            Xfce-4.4 x11-themes/gtk-engines-xfce-3.2.0-r300
            Xfce-4.6 x11-themes/gtk-engines-xfce-3.2.0-r300
             Xfce-b5 x11-themes/gtk-engines-xfce-3.2.0-r300
          Xfce-basic x11-themes/gtk-engines-xfce-3.2.0-r300
        Xfce-cadmium x11-themes/gtk-engines-xfce-3.2.0-r300
          Xfce-curve x11-themes/gtk-engines-xfce-3.2.0-r300
           Xfce-dawn x11-themes/gtk-engines-xfce-3.2.0-r300
           Xfce-dusk x11-themes/gtk-engines-xfce-3.2.0-r300
           Xfce-flat x11-themes/gtk-engines-xfce-3.2.0-r300
           Xfce-kde2 x11-themes/gtk-engines-xfce-3.2.0-r300
         Xfce-kolors x11-themes/gtk-engines-xfce-3.2.0-r300
          Xfce-light x11-themes/gtk-engines-xfce-3.2.0-r300
         Xfce-orange x11-themes/gtk-engines-xfce-3.2.0-r300
      Xfce-redmondxp x11-themes/gtk-engines-xfce-3.2.0-r300
       Xfce-saltlake x11-themes/gtk-engines-xfce-3.2.0-r300
         Xfce-smooth x11-themes/gtk-engines-xfce-3.2.0-r300
        Xfce-stellar x11-themes/gtk-engines-xfce-3.2.0-r300
         Xfce-winter x11-themes/gtk-engines-xfce-3.2.0-r300
Adwaita x11-themes/gnome-themes-standard-3.18.0 Unity
Ambiance x11-themes/light-themes-15.04_p20150410 Broken
Ambiance-Gentoo x11-themes/light-themes-15.04_p20150410 Broken
BlackMATE x11-themes/mate-themes-1.8.1 Unity? Dark
BlueMenta x11-themes/mate-themes-1.8.1 OK, Big 3D buttons
Breeze kde-plasma/breeze-gtk-5.5.5 Unity
Breeze-Dark kde-plasma/breeze-gtk-5.5.5 Unity, Dark
Clearlooks-Phenix x11-themes/clearlooks-phenix-3.0.15 Broken, Big 3D buttons
ContrastHigh x11-themes/mate-themes-1.8.1 Unity? Big 3D buttons
GreenLaguna x11-themes/mate-themes-1.8.1 Unity? Ugly
Greybird x11-themes/greybird-1.5.3 OK
HighContrast x11-themes/gnome-themes-standard-3.18.0 Unity
Menta x11-themes/mate-themes-1.8.1 Unity? Big 3D buttons
Radiance x11-themes/light-themes-15.04_p20150410 Broken
Radiance-Gentoo x11-themes/light-themes-15.04_p20150410 Broken
TraditionalGreen
TraditionalOk
Zukini
Zukitwo x11-themes/zukitwo-2014.10.22 OK