Tips and Tricks: Difference between revisions
No edit summary |
No edit summary |
||
| Line 38: | Line 38: | ||
Anschließend kann man den Tomcat unter localhost:7777 erreichen. | Anschließend kann man den Tomcat unter localhost:7777 erreichen. | ||
== Yakuake DCOP-Skripte == | |||
=== MultiSSH === | |||
Beschreibung: | |||
Per SSH auf mehrere Hosts verbinden, dafür jeweils ein neues Yakuake Tab anlegen und entsprechend benennen. | |||
<pre> | |||
#!/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 | |||
</pre> | |||
=== MultiCommand === | |||
Beschreibung: | |||
Ein Kommando in mehreren Yakuake Tabs ausführen. | |||
<pre> | |||
#!/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 | |||
</pre> | |||
[[Kategorie:Software]] | [[Kategorie:Software]] | ||
Revision as of 16:44, 31 October 2007
Paketverwaltung
Zu welchem Paket gehört Datei X
# equery belongs -f <dateiname>
Welche Pakete haben USE-Flag X
# equery hasuse <useflag>
Backup von installiertem Paket anlegen
# quickpkg net-www/apache
Danach kann man das Paket auf einem anderen Rechner installieren oder schnell downgraden, wenn bei einem Update etwas schief gelaufen ist. Die Datei befindet sich dann in Template:Filename bzw. ein Symlink auf die Datei in Template:Filename. Zur Installation:
# emerge --usepkgonly "<net-www/apache-2.2.4"
Überflüssige Pakete erkennen und entfernen
# emerge depclean --pretend
Profil wechseln / auf neue Version updaten
# emerge eselect
# eselect profile list
# eselect profile set <nummer>
SCP Dateitransfer
Datenaustausch zwischen zwei Rechnern über Kommandozeile.
Datei hochladen:
# scp /root/htdocsbackup.tar.bz2 root@entfernter-server.de:/root/
Datei runterladen:
# scp root@entfernter-server.de:/root/htdocsbackup.tar.bz2 /root/htdocsbackup.tar.bz2
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
Beschreibung:
Per SSH auf mehrere Hosts verbinden, dafür jeweils ein neues Yakuake Tab anlegen und entsprechend benennen.
#!/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
Beschreibung:
Ein Kommando in mehreren Yakuake Tabs ausführen.
#!/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