Tips and Tricks: Difference between revisions

From Q
Jump to navigation Jump to search
No edit summary
No edit summary
Line 42: Line 42:
=== MultiSSH ===
=== MultiSSH ===
Per SSH auf mehrere Hosts verbinden, dafür jeweils ein neues Yakuake Tab anlegen und entsprechend benennen.
Per SSH auf mehrere Hosts verbinden, dafür jeweils ein neues Yakuake Tab anlegen und entsprechend benennen.
{{Box File|multissh.sh|
multissh.sh
<pre source"bash">
<pre source"bash">
#!/bin/bash
#!/bin/bash
Line 61: Line 61:
exit 0
exit 0
</pre>
</pre>
}}


=== MultiCommand ===
=== MultiCommand ===
Ein Kommando in mehreren Yakuake Tabs ausführen.
Ein Kommando in mehreren Yakuake Tabs ausführen.
{{Box File|multicommand.sh|
multicommand.sh
<pre source"bash">
<pre source"bash">
#!/bin/bash
#!/bin/bash
Line 87: Line 86:
exit 0
exit 0
</pre>
</pre>
}}




[[Kategorie:Software]]
[[Kategorie:Software]]

Revision as of 22:08, 4 January 2008

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

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


Kategorie:Software