Tips and Tricks
Packagemenagement
To which package belongs file X
# equery belongs -f <dateiname>
Which packages has USE-Flag X
# equery hasuse <useflag>
Backup an installed package
# quickpkg net-www/apache
After this you can install the package on another machine or do a fast downgrade if something went bad after an update. You can find the file under Template:Filename and in this example a symlink to the apache file in Template:Filename. To install the now precompiled binary use:
# emerge --usepkgonly "<net-www/apache-2.2.4"
Detect and get rid of leftover packages
# emerge depclean --pretend
Change your current profile
# emerge eselect
# eselect profile list
# eselect profile set <nummer>
SCP file transfer
File transfer via commandline.
Upload file:
# scp /root/htdocsbackup.tar.bz2 root@remote-host.de:/root/
Download file:
# scp root@remote-host.de:/root/htdocsbackup.tar.bz2 /root/htdocsbackup.tar.bz2
Upload directory:
# scp -r /root/directory root@remote-host.de:/root
Download directory:
# scp -r root@remote-host.de:/root/directory /root
SSH tunnel
Ist auf dem Server nur der SSH Port offen aber man möchte sich z.B. auf den auf Port 8080 laufenden Tomcat Webserver verbinden so kann man das über einen SSH Tunnel machen.
# ssh -N -i /home/benutzer/.ssh/id_dsa -L 7777:webserver:8080 root@webserver
Anschließend kann man den Tomcat unter localhost:7777 erreichen.
Yakuake DCOP-Skripte
MultiSSH
Per SSH auf mehrere Hosts verbinden, dafür jeweils ein neues Yakuake Tab anlegen und entsprechend benennen. multissh.sh
#!/bin/bash
[[ -n "$1" && -n "$2" ]] || {
echo "Usage: ./multissh.sh \"user\" \"server1 server2\""
echo " z.B.: ./multissh.sh \"root\" \"server1 server2\""; exit 0 ; }
lastid=`dcop yakuake DCOPInterface sessionIdList | awk -F, '{print $NF}'`
for i in $2 ; do
dcop yakuake DCOPInterface slotAddSession
let "lastid += 1"
dcop yakuake DCOPInterface slotRenameSession $lastid $i
dcop yakuake DCOPInterface slotRunCommandInSession $lastid "ssh $1@$i"
done
exit 0
MultiCommand
Ein Kommando in mehreren Yakuake Tabs ausführen. multicommand.sh
#!/bin/bash
[[ -n "$1" && -n "$2" ]] || {
echo "Usage: ./multicommand.sh \"tabname1 tabname2\" \"kommando\""
echo " z.B.: ./multicommand.sh \"server1 server2\" \"emerge --sync\""; exit 0 ; }
ids=`dcop yakuake DCOPInterface sessionIdList | sed 's/,/ /g'`
for i in $ids ; do
sessionname=`dcop yakuake DCOPInterface slotSessionName $i`
for x in $* ; do
if [ "$sessionname" = "$x" ] ; then
dcop yakuake DCOPInterface slotRunCommandInSession $i "$2"
fi
done
done
exit 0
KDE4 Fixes
.gtkrc isn't honoured by GTK Applications anymore
KDE overrides the GTK colours with global ones, if you want that. If not (since it also overrides the GTK theme with the ugly default one) you can disable that behaviour under System Settings -> Appearance -> Colors at the bottom. This does not always work, so copy over your .gtkrc-2.0 from your homedir or one of the themes that come with the theme pack.
# cp ~/.gtkrc-2.0 ~/.kde/share/config/gtkrc-2.0
# cp /usr/share/themes/Clearlooks/gtk-2.0/gtkrc ~/.gtkrc-2.0
For more information have a look at GTK Applications under KDE.
Reset to the default Plasma layout
Log out and deleting from tty:
# rm ~/.kde/share/config/plasma*
Change the Dolphin standard view to detailed view for ALL folders
Open Dolphin -> Settings > Configure Dolphin -> Views -> Common Tab -> and mark -> Use the same view for all folders