System Administration

Καλησπέρα και απο μένα,

Σήμερα θα δουμε πως μπορεί να διαχειριστεί κανείς την διανομή του απο την κονσόλα για να δουμε επιτέλους και την χρησιμότητα της :)

Τι θα χρειαστούμε??? Δραμαμήνες (για του μην εχοντες γνώση της κονσόλας και τους χρήστες ubuntu) καφέ και ρακί για όσους αντέξουν.

Τα εργαλεία που θα χρησιμοποιήσουμε τα έχει κάθε διανομή που σέβεται τον ευατό της και δεν χρειαζόμαστε να είμαστε root για να τα χρησιμοποιήσουμε....

Αρα θα χρησιμοποιήσουμε:
1) who
2) strace
3) pstree
4) last
5) free
6) df
7) lsof
8) ldd

Ας δουμε τις εντολές:

1) who:
Με την who μπορούμε να δούμε ποιος ειναι συνδεμένος στο σύστημα μας.

portatif[~]$ who
portatif tty7 2013-02-25 17:53 (:0)
portatif pts/0 2013-02-25 17:53 (:0.0)
portatif pts/1 2013-02-25 18:11 (:0.0)
portatif pts/2 2013-02-25 21:44 (:0.0)
portatif pts/3 2013-02-25 21:49 (:0.0)
portatif[~]$

οπότε βλεπουμε οτι ειναι ενας χρηστης συνδεμένος μονο.

Αν θέλουμε να δουμε πότε ξεκινησε το συστημα μας πρωτη φορα, χωρις να χρησιμοποιησουμε την updtime?? τι κανουμε οεο???
Τοτε δινουμε:

portatif[~]$ who -br
system boot 2013-02-25 17:52 ( αποτελέσματα απο το b)
run-level 4 2013-02-25 17:52 last=S [b]( αποτελέσματα απο το r)

portatif[~]$[/b]

To r μας δείχνει σε ποιο level ειμαστε τωρα.

2) strace

Με την strace μπορούμε να δούμε ποια αρχεια καλεί η εντολή που θέλουμε, κκαι ποιές βιβλιοθηκες.

Παραδειγμα εχουμε παρει την sudo και την εχουμε τροποποιήσει ωστε να μην διαβάζει το /etc/sudoers αλλα το /usr/local/etc/sudoers.conf/sudoers, και καποιος την αλλάζει ωστε να διαβαζει το /etc/sudoers. Βλέπουμε οτι κάτι δεν πάει καλα και θελουμε να δουμε ποιο config file διαβαζει οποτε δίνω

portatif[~]$ strace sudo -l
execve("/usr/bin/sudo", ["sudo", "-l"], [/* 51 vars */]) = 0
brk(0) = 0x1437000
fcntl(0, F_GETFD) = 0
fcntl(1, F_GETFD) = 0
fcntl(2, F_GETFD) = 0
access("/etc/suid-debug", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff24a58e000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=188252, ...}) = 0
mmap(NULL, 188252, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ff24a560000
close(3) = 0
open("/lib64/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14157, ...}) = 0
mmap(NULL, 2105600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff24a16a000
mprotect(0x7ff24a16c000, 2093056, PROT_NONE) = 0
mmap(0x7ff24a36b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7ff24a36b000
close(3) = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18996, ...}) = 0
mmap(NULL, 2109704, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff249f66000
mprotect(0x7ff249f69000, 2093056, PROT_NONE) = 0
...output ommited...

lstat("/etc/sudoers", {st_mode=S_IFREG|0440, st_size=2848, ...}) = 0
open("/etc/sudoers", O_RDONLY) = 5

...output ommited...
Οποτε βλεπου οτι η sudo -l (τυπωνει τι μπορεί να κανει ο χρηστης με την sudo) παει και διαβαζει το /etc/sudoers αντι αυτο που εχουμε ορισει εμεις.

3) pstree

Με την pstree μπορουμε και βλεπουμε σε μια ποιο αναγνωσιμη μορφη τι διεργασιες τρεχει το συστυμα μας.
Παραδειγμα:

portatif[~]$ pstree
init-+-acpid
|-3*[agetty]
|-atd
|-clock-applet---{clock-applet}
|-console-kit-dae---64*[{console-kit-da}]
|-crond
|-2*[dbus-daemon]
|-dbus-launch
|-dhclient
|-firefox-+-plugin-containe---35*[{plugin-contain}]
| `-37*[{firefox}]
|-gam_server
|-gconfd-2
|-gdm-binary---gdm-binary-+-X
| `-mate-session-+-applet.py
| |-caja---{caja}
| |-marco---{marco}
| |-mate-panel---{mate-panel}
| |-mate-power-mana---{mate-power-man}
| |-polkit-mate-aut---{polkit-mate-au}
| |-salix-update-no---sleep
| |-ssh-agent
| |-volti
| |-wicd-client
| |-xscreensaver
| `-2*[{mate-session}]
|-gvfs-fuse-daemo---3*[{gvfs-fuse-daem}]
|-gvfs-gphoto2-vo
|-gvfs-udisks2-vo---{gvfs-udisks2-v}
|-gvfsd
|-gvfsd-metadata
|-gvfsd-trash
|-kded4
|-kdeinit4-+-kio_http
| |-kio_http_cache_
| `-klauncher
|-klogd
|-ktorrent---7*[{ktorrent}]
|-mate-settings-d---{mate-settings-}
|-mate-terminal-+-bash---bash
| |-bash---skype---22*[{skype}]
| |-bash---pstree
| |-bash
| |-gnome-pty-helpe
| `-2*[{mate-terminal}]
|-matecomponent-a---2*[{matecomponent-}]
|-mateconfd-2
|-mixer_applet2---2*[{mixer_applet2}]
|-mount.ntfs
|-mount.ntfs-3g
|-notification-ar---{notification-a}
|-ntpd
|-polkitd---{polkitd}
|-syslogd
|-udevd---2*[udevd]
|-udisks-daemon-+-udisks-daemon
| `-2*[{udisks-daemon}]
|-udisksd---3*[{udisksd}]
|-upowerd---2*[{upowerd}]
|-wicd---wicd-monitor
`-wnck-applet---{wnck-applet}
portatif[~]$

Οι αριθμοι μπροστα απο καθε διεργασια μας δείχνει ποσες φορες τρεχει, 7*ktorrent υπαρχουν 7 torrent διεργασιες.
Αν θελουμε να δουμε σε ποιο χρηστη ανηκουν βαζουμε το -u.
Παραδειγμα:

portatif[~]$ pstree -u
init-+-acpid
|-3*[agetty]
|-atd(daemon)
|-clock-applet(portatif)---{clock-applet}
|-console-kit-dae---64*[{console-kit-da}]
|-crond
|-dbus-daemon(messagebus)
|-dbus-daemon(portatif)
|-dbus-launch(portatif)
|-dhclient
|-firefox(portatif)-+-plugin-containe---35*[{plugin-contain}]
| `-37*[{firefox}]
|-gam_server(portatif)
|-gconfd-2(portatif)
|-gdm-binary---gdm-binary-+-X
| `-mate-session(portatif)-+-applet.py
| |-caja---{caja}
| |-marco---{marco}
| |-mate-panel---{mate-panel}
| |-mate-power-mana---{mate-power-man}
| |-polkit-mate-aut---{polkit-mate-au}
| |-salix-update-no---sleep
| |-ssh-agent
| |-volti
| |-wicd-client
| |-xscreensaver
| `-2*[{mate-session}]
|-gvfs-fuse-daemo(portatif)---3*[{gvfs-fuse-daem}]
|-gvfs-gphoto2-vo(portatif)
|-gvfs-udisks2-vo(portatif)---{gvfs-udisks2-v}
|-gvfsd(portatif)
|-gvfsd-metadata(portatif)
|-gvfsd-trash(portatif)
|-kded4(portatif)
|-kdeinit4(portatif)-+-kio_http
| |-kio_http_cache_
| `-klauncher
|-klogd
|-ktorrent(portatif)---5*[{ktorrent}]
|-mate-settings-d(portatif)---{mate-settings-}
|-mate-terminal(portatif)-+-bash---bash(root) <-- Προσξετε αυτη την γραμμη σημαινει οτι εχω ανοιξει τερματικο και εχω γινει root!!!
| |-bash---skype---22*[{skype}]
| |-bash---pstree
| |-bash
| |-gnome-pty-helpe
| `-2*[{mate-terminal}]
|-matecomponent-a(portatif)---2*[{matecomponent-}]
|-mateconfd-2(portatif)
|-mixer_applet2(portatif)---2*[{mixer_applet2}]
|-mount.ntfs
|-mount.ntfs-3g
|-notification-ar(portatif)---{notification-a}
|-ntpd
|-polkitd---{polkitd}
|-syslogd
|-udevd---2*[udevd]
|-udisks-daemon-+-udisks-daemon
| `-2*[{udisks-daemon}]
|-udisksd---3*[{udisksd}]
|-upowerd---2*[{upowerd}]
|-wicd---wicd-monitor
`-wnck-applet(portatif)---{wnck-applet}
portatif[~]$
4) last
Μας λεει ποιος εκανε login,ποτε, για ποση ωρα, απο που, καθως και αν εγινε ή οχι reboot το συστημα μας. Ειναι σαν να λεμε ο κατασκοπος μας για να το πω ευγενικα
Παραδειγμα (απλο και κατανοητο):

portatif[~]$ last
portatif pts/3 :0.0 Mon Feb 25 21:49 still logged in
portatif pts/2 :0.0 Mon Feb 25 21:44 still logged in
portatif pts/1 :0.0 Mon Feb 25 18:11 still logged in
portatif pts/0 :0.0 Mon Feb 25 17:53 still logged in
portatif tty7 :0 Mon Feb 25 17:53 still logged in
reboot system boot 3.7.1 Mon Feb 25 17:52 - 22:12 (04:19)
portatif pts/1 :0 Sun Feb 24 19:01 - down (01:06)
portatif pts/0 :0 Sun Feb 24 18:40 - down (01:28)
portatif tty7 :0 Sun Feb 24 18:34 - down (01:34)
portatif tty7 :0 Sun Feb 24 18:33 - 18:34 (00:00)
portatif tty7 :0 Sun Feb 24 18:32 - 18:33 (00:01)
portatif pts/0 :0 Sun Feb 24 18:17 - 18:25 (00:07)
portatif tty7 :0 Sun Feb 24 18:17 - 18:32 (00:15)
portatif tty7 :0 Sun Feb 24 18:16 - 18:16 (00:00)
portatif tty1 Sun Feb 24 18:16 - down (01:52)
portatif tty7 :0 Sun Feb 24 18:15 - 18:15 (00:00)
reboot system boot 3.7.1 Sun Feb 24 18:15 - 20:08 (01:53)
portatif tty7 :0 Sun Feb 24 18:13 - down (00:00)
portatif pts/1 :0 Sun Feb 24 15:21 - 18:12 (02:51)
portatif pts/2 :0 Sun Feb 24 15:14 - 17:25 (02:11)
portatif pts/1 :0 Sun Feb 24 15:10 - 15:20 (00:09)
portatif pts/0 :0 Sun Feb 24 15:07 - 18:12 (03:05)
portatif tty7 :0 Sun Feb 24 15:07 - 18:13 (03:05)
root tty1 Sun Feb 24 15:07 - down (03:06)
portatif tty1 Sun Feb 24 15:03 - 15:06 (00:03)
root tty1 Sun Feb 24 15:02 - 15:02 (00:00)
portatif pts/0 :0 Sun Feb 24 15:00 - 15:02 (00:02)
portatif tty7 :0 Sun Feb 24 14:59 - 15:07 (00:07)
portatif tty7 :0 Sun Feb 24 14:59 - 14:59 (00:00)
portatif tty1 Sun Feb 24 14:59 - 15:02 (00:03)
portatif tty7 :0 Sun Feb 24 14:58 - 14:59 (00:00)
reboot system boot 3.7.1 Sun Feb 24 14:58 - 18:13 (03:15)
portatif pts/1 :0.0 Sun Feb 24 14:52 - down (00:04)
portatif pts/0 :0.0 Sun Feb 24 08:14 - down (06:42)
portatif tty7 :0 Sun Feb 24 07:54 - down (07:01)
reboot system boot 3.7.1 Sun Feb 24 07:49 - 14:56 (07:07)
portatif pts/0 :0.0 Sat Feb 23 20:01 - 21:27 (01:25)
portatif tty7 :0 Sat Feb 23 20:01 - down (01:25)
reboot system boot 3.7.1 Sat Feb 23 20:00 - 21:27 (01:26)
portatif pts/3 :0.0 Sat Feb 23 16:11 - 16:20 (00:09)
portatif pts/2 :0.0 Sat Feb 23 12:37 - 16:20 (03:42)
portatif pts/1 :0.0 Sat Feb 23 12:24 - 16:20 (03:55)
portatif pts/0 :0.0 Sat Feb 23 10:46 - 16:20 (05:33)
portatif pts/2 :0.0 Sat Feb 23 10:06 - 10:45 (00:39)
portatif pts/1 :0.0 Sat Feb 23 10:06 - 10:45 (00:39)
portatif pts/1 :0.0 Sat Feb 23 10:01 - 10:01 (00:00)
portatif pts/0 :0.0 Sat Feb 23 09:58 - 10:45 (00:47)
portatif pts/1 :0.0 Sat Feb 23 09:57 - 09:57 (00:00)
portatif pts/0 :0.0 Sat Feb 23 09:55 - 09:57 (00:02)
portatif tty7 :0 Sat Feb 23 09:52 - down (06:27)
reboot system boot 3.7.1 Sat Feb 23 09:52 - 16:20 (06:28)
portatif pts/4 :0 Fri Feb 22 21:05 - down (00:56)
portatif pts/4 :0 Fri Feb 22 19:53 - 19:54 (00:00)
portatif pts/2 :0 Fri Feb 22 19:48 - down (02:13)
portatif pts/3 :0 Fri Feb 22 19:38 - down (02:24)
portatif pts/2 :0 Fri Feb 22 19:30 - 19:38 (00:07)
portatif pts/0 :0 Fri Feb 22 19:06 - down (02:55)
portatif pts/1 :0 Fri Feb 22 18:50 - down (03:11)
portatif pts/0 :0 Fri Feb 22 18:49 - 18:53 (00:04)
portatif tty7 :0 Fri Feb 22 18:48 - down (03:13)
reboot system boot 3.7.1 Fri Feb 22 18:48 - 22:02 (03:13)
portatif pts/0 :0 Fri Feb 22 18:42 - 18:43 (00:00)
portatif tty7 :0 Fri Feb 22 18:42 - down (00:04)
root tty2 Fri Feb 22 18:36 - down (00:10)
root tty1 Fri Feb 22 19:30 - down (00:-43)
reboot system boot 3.7.1 Fri Feb 22 19:30 - 18:47 (00:-42)
root tty1 Fri Feb 22 19:19 - down (00:04)
reboot system boot 3.7.1 Fri Feb 22 19:19 - 19:24 (00:04)
root tty1 Fri Feb 22 19:08 - down (00:09)
reboot system boot 3.7.1 Fri Feb 22 19:08 - 19:17 (00:09)

wtmp begins Fri Feb 22 19:08:13 2013
portatif[~]$

5) free
Η free μας δείχνει την ελευθερη μνημη και ποση χρησιμοποιείτε τοσο σε φυσικό επιπεδο (RAM) όσο και για την swap. O διακοπτης -t μας δείχνει την συνολικη μνημη που έχουμε μαζι με την swap σε ΚΒ.

Παραδειγμα:

portatif[~]$ free -t
total used free shared buffers cached
Mem: 3970288 3635264 335024 0 145884 2273316
-/+ buffers/cache: 1216064 2754224
Swap: 2098140 36 2098104
Total: 6068428 3635300 2433128
portatif[~]$
(Μαλλον το εχω παρακανει :p )

6) df
H df μας δείχνει τον ελεύθερο, συνολικο, χρησιμοποιούμενο χορο στο δισκο, καθως ποιοι δισκοι ειναι ενεργοποιημενοι (mount) και που. Συνηθως την χρησιμοποιούμε με τον διακόπτη -k για να βλέπουμε τον χόρο σε KB καθως και ειναι το μόνο switch που παιζει σε slackware, ubuntu, debian, *bsd, solaris, etc

Παραδειγμα:

portatif[~]$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 231824408 38681672 181366736 18% /
tmpfs 1985144 0 1985144 0% /dev/shm
/dev/sda3 250664956 104287352 146377604 42% /mnt/wine
/dev/sdc1 3906983932 93509344 3813474588 3% /run/media/portatif/My Book
portatif[~]$

7) lsof
Η lsof μας δείχνει ποια αρχεία ειναι ανοιχτά και ποιές βιβλιοθηκες ειναι φορτομενες και οχι μονο....
Παραδειγμα:

portatif[~]$lsof|more

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

...output ommited...
bash 8451 portatif cwd DIR 8,4 4096 2965506 /home/portatif
bash 8451 portatif rtd DIR 8,4 4096 2 /
bash 8451 portatif txt REG 8,4 986120 983043 /bin/bash
bash 8451 portatif mem REG 8,4 61683 13820083 /lib64/libnss_files-2.15.so
bash 8451 portatif mem REG 8,4 56132 13820075 /lib64/libnss_nis-2.15.so
bash 8451 portatif mem REG 8,4 115812 13820071 /lib64/libnsl-2.15.so
bash 8451 portatif mem REG 8,4 41824 13820072 /lib64/libnss_compat-2.15.so
bash 8451 portatif mem REG 8,4 2061170 13820067 /lib64/libc-2.15.so
bash 8451 portatif mem REG 8,4 18996 13820069 /lib64/libdl-2.15.so
bash 8451 portatif mem REG 8,4 18436 13819954 /lib64/libtermcap.so.2.0.8
bash 8451 portatif mem REG 8,4 167406 13820103 /lib64/ld-2.15.so
bash 8451 portatif mem REG 8,4 1243766 6947441 /usr/lib64/locale/el_GR.utf8/LC_COLLATE
bash 8451 portatif mem REG 8,4 256356 6939276 /usr/lib64/locale/el_GR.utf8/LC_CTYPE
bash 8451 portatif mem REG 8,4 54 6939706 /usr/lib64/locale/el_GR.utf8/LC_NUMERIC
bash 8451 portatif mem REG 8,4 2782 6939708 /usr/lib64/locale/el_GR.utf8/LC_TIME
bash 8451 portatif mem REG 8,4 290 6939707 /usr/lib64/locale/el_GR.utf8/LC_MONETARY
bash 8451 portatif mem REG 8,4 60 6939531 /usr/lib64/locale/el_GR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
bash 8451 portatif mem REG 8,4 34 6947368 /usr/lib64/locale/el_GR.utf8/LC_PAPER
bash 8451 portatif mem REG 8,4 62 6939320 /usr/lib64/locale/el_GR.utf8/LC_NAME
bash 8451 portatif mem REG 8,4 127 6947549 /usr/lib64/locale/el_GR.utf8/LC_ADDRESS
bash 8451 portatif mem REG 8,4 51 6947591 /usr/lib64/locale/el_GR.utf8/LC_TELEPHONE
bash 8451 portatif mem REG 8,4 23 6939165 /usr/lib64/locale/el_GR.utf8/LC_MEASUREMENT
bash 8451 portatif mem REG 8,4 339 6947509 /usr/lib64/locale/el_GR.utf8/LC_IDENTIFICATION
bash 8451 portatif 0u CHR 136,2 0t0 5 /dev/pts/2
bash 8451 portatif 1u CHR 136,2 0t0 5 /dev/pts/2
bash 8451 portatif 2u CHR 136,2 0t0 5 /dev/pts/2
bash 8451 portatif 255u CHR 136,2 0t0 5 /dev/pts/2
kworker/7 8638 root cwd unknown /proc/8638/cwd (readlink: Permission denied)
kworker/7 8638 root rtd unknown /proc/8638/root (readlink: Permission denied)
kworker/7 8638 root txt unknown /proc/8638/exe (readlink: Permission denied)
kworker/7 8638 root NOFD /proc/8638/fd (opendir: Permission denied)
...output ommited...

portatif[~]$
Βλεπουμε οτι η bash τρεχει απο την χρηστη portatif το PID που εχει οτι ειναι στην μνημη και οχι στην swap, και τι βιβλιοθηκες χρειαζεται
Αν χρησιμοποιησουμε τον διακοπτη -i τοτε βλεπουμε τις ανοιχτες συνδεσεις που εχουμε και ποια απο τα προγραμματα που τρεχουμε εμεις σαν χρησττες αναμενουν συνδεση. (Φυσικα δεν μπορουμε να δουμε τι τρεχει ο root)

Παραδειγμα: (απλο και κατανοητω πιστευω)

portatif[~]$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
firefox 2696 portatif 39u IPv4 367335 0t0 TCP chello089173057150.chello.sk:49739->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 40u IPv4 10852 0t0 TCP chello089173057150.chello.sk:40211->fa-in-f17.1e100.net:https (ESTABLISHED)
firefox 2696 portatif 45u IPv4 364160 0t0 TCP chello089173057150.chello.sk:33751->a23-67-129-244.deploy.akamaitechnologies.com:http (ESTABLISHED)
firefox 2696 portatif 47u IPv4 367801 0t0 TCP chello089173057150.chello.sk:49738->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 48u IPv4 367799 0t0 TCP chello089173057150.chello.sk:37750->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 49u IPv4 68526 0t0 TCP chello089173057150.chello.sk:47759->palladium.srv.syn-systems.com:http (CLOSE_WAIT)
firefox 2696 portatif 53u IPv4 68527 0t0 TCP chello089173057150.chello.sk:47760->palladium.srv.syn-systems.com:http (CLOSE_WAIT)
firefox 2696 portatif 54u IPv4 367800 0t0 TCP chello089173057150.chello.sk:37751->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 55u IPv4 367326 0t0 TCP chello089173057150.chello.sk:37752->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 58u IPv4 367327 0t0 TCP chello089173057150.chello.sk:37753->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 59u IPv4 364159 0t0 TCP chello089173057150.chello.sk:59360->91.225.248.80:http (ESTABLISHED)
firefox 2696 portatif 60u IPv4 367328 0t0 TCP chello089173057150.chello.sk:37754->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 61u IPv4 367329 0t0 TCP chello089173057150.chello.sk:37755->2.21.246.70:http (ESTABLISHED)
firefox 2696 portatif 63u IPv4 364161 0t0 TCP chello089173057150.chello.sk:49740->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 64u IPv4 364162 0t0 TCP chello089173057150.chello.sk:49741->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 71u IPv4 364163 0t0 TCP chello089173057150.chello.sk:49742->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 73u IPv4 364164 0t0 TCP chello089173057150.chello.sk:49743->2.21.246.88:http (ESTABLISHED)
firefox 2696 portatif 76u IPv4 367336 0t0 TCP chello089173057150.chello.sk:35881->fa-in-f148.1e100.net:http (ESTABLISHED)
firefox 2696 portatif 86u IPv4 364168 0t0 TCP chello089173057150.chello.sk:45815->2.21.246.25:http (ESTABLISHED)
firefox 2696 portatif 112u IPv4 351806 0t0 TCP chello089173057150.chello.sk:56468->muc03s01-in-f8.1e100.net:http (ESTABLISHED)
skype 3285 portatif 13u IPv4 17598 0t0 UDP localhost:36790
skype 3285 portatif 50u IPv4 8899 0t0 TCP *:9520 (LISTEN)
skype 3285 portatif 51u IPv4 8900 0t0 UDP *:9520
skype 3285 portatif 53u IPv4 16053 0t0 TCP chello089173057150.chello.sk:51969->193.120.199.15:12350 (ESTABLISHED)
skype 3285 portatif 57u IPv4 19582 0t0 TCP chello089173057150.chello.sk:56021->65.55.223.31:40037 (ESTABLISHED)
skype 3285 portatif 58u IPv4 2898 0t0 TCP chello089173057150.chello.sk:34763->baymsg1010705.gateway.edge.messenger.live.com:https (ESTABLISHED)
ktorrent 4133 portatif 17u IPv6 31002 0t0 TCP *:6881 (LISTEN)
ktorrent 4133 portatif 18u IPv6 31021 0t0 UDP *:8881
ktorrent 4133 portatif 19u IPv4 31022 0t0 UDP *:8881
ktorrent 4133 portatif 24u IPv4 329393 0t0 TCP chello089173057150.chello.sk:34309->c114-77-248-52.ipswc3.qld.optusnet.com.au:17404 (ESTABLISHED)
ktorrent 4133 portatif 26u IPv4 351430 0t0 TCP chello089173057150.chello.sk:50910->46.246.154.17.dsl.dyn.forthnet.gr:41079 (ESTABLISHED)
ktorrent 4133 portatif 27u IPv4 362401 0t0 TCP chello089173057150.chello.sk:58956->192.200.155.130:57301 (ESTABLISHED)
ktorrent 4133 portatif 29u IPv4 96192 0t0 TCP chello089173057150.chello.sk:59180->251.subnet110-138-25.speedy.telkom.net.id:14181 (ESTABLISHED)
ktorrent 4133 portatif 31u IPv4 353231 0t0 TCP chello089173057150.chello.sk:50755->208.94.182.225:23333 (ESTABLISHED)
ktorrent 4133 portatif 32u IPv4 241556 0t0 TCP chello089173057150.chello.sk:35574->188-25-67-185.rdsnet.ro:20560 (ESTABLISHED)
ktorrent 4133 portatif 33u IPv4 351484 0t0 TCP chello089173057150.chello.sk:47813->host81-155-76-85.range81-155.btcentralplus.com:35052 (ESTABLISHED)
ktorrent 4133 portatif 37u IPv4 291215 0t0 TCP chello089173057150.chello.sk:50024->S01065404a68a28ea.vc.shawcable.net:33670 (ESTABLISHED)
ktorrent 4133 portatif 38u IPv4 364393 0t0 TCP chello089173057150.chello.sk:37958->99-98-141-155.lightspeed.wepbfl.sbcglobal.net:53958 (SYN_SENT)
ktorrent 4133 portatif 39u IPv4 364021 0t0 TCP chello089173057150.chello.sk:38234->chello084115162225.4.graz.surfer.at:19166 (ESTABLISHED)
ktorrent 4133 portatif 43u IPv4 368146 0t0 TCP chello089173057150.chello.sk:34740->exodus.desync.com:acmsoda (SYN_SENT)
ktorrent 4133 portatif 45u IPv4 227199 0t0 TCP chello089173057150.chello.sk:34107->xplr-195-242-69-208.xplornet.com:54628 (ESTABLISHED)
ktorrent 4133 portatif 56u IPv4 245779 0t0 TCP chello089173057150.chello.sk:47787->79.126.199.171:29250 (ESTABLISHED)
ktorrent 4133 portatif 57u IPv4 325536 0t0 TCP chello089173057150.chello.sk:55070->190.213.91.203:32357 (ESTABLISHED)
ktorrent 4133 portatif 58u IPv4 363540 0t0 TCP chello089173057150.chello.sk:54128->189-104-136-73.user.veloxzone.com.br:18128 (ESTABLISHED)
ktorrent 4133 portatif 60u IPv4 226132 0t0 TCP chello089173057150.chello.sk:54914->IGLD-84-228-2-20.inter.net.il:48373 (ESTABLISHED)
ktorrent 4133 portatif 64u IPv4 30612 0t0 TCP chello089173057150.chello.sk:48251->cpe-075-183-087-030.triad.res.rr.com:45000 (ESTABLISHED)
ktorrent 4133 portatif 68u IPv4 255683 0t0 TCP chello089173057150.chello.sk:55766->cpc4-newp4-2-0-cust4.5-1.cable.virginmedia.com:18990 (ESTABLISHED)
ktorrent 4133 portatif 73u IPv4 343710 0t0 TCP chello089173057150.chello.sk:53777->192.200.155.204:57301 (ESTABLISHED)
portatif[~]$

8) ldd
Η ldd μας δείχνει τις κοινες βιβλιοθηκες πουι χρειαζεται για να τρεξει το προγραμμα που θελουμε. Ας παρουμε για παραδειγμα την bash

portatif[~]$ ldd /bin/bash
linux-vdso.so.1 (0x00007fffccaa5000)
libtermcap.so.2 => /lib64/libtermcap.so.2 (0x00007f794fc20000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f794fa1c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f794f65b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f794fe52000)
portatif[~]$

Οπως έιδαμε δεν χρειαζομαστε απαραιτητα να ειμαστε root, για να ξερουμε τι τρεχει, απο ποιον και τι συμβαινει στο συστημα μας. Δεν ειδαμε σουπερ ντουπερ στρουμφοφανταστικα εργαλεια τα οποια ειναι μερικα μυικα ΜΒ κωδικα, με 15,000,000,000 dependencies, ουτε να εχουμε τρελες γνωσεις.

Ειδαμε, ενα 15-20% για το πως να διαχειριστουμε το συστημα μας...

Στις ποιο πολλες εντολες αρκει η απλη λογικη, who - last - which - whereis - find - locate....
Ελπιζω να σας πειραξα τα νευρα αν οχι, να φροντισω την επομενη φορα να σας τα τεντωσω.....χεχεχεχεχε.
Καλο βραδι. :)

Εικόνα: Black_Horseman
Black_Horseman
Απουσιάζω!
Registered User
Μέλος από: 8 Ιαν 2012
Πόντοι: 320

Ευχαριστώ για τον χρόνο σου. Ελπίζω σε συνέχεια των μαθημάτων.

Εικόνα: alcamus06
alcamus06
Απουσιάζω!
Registered User
Μέλος από: 24 Σεπ 2009
Πόντοι: 130

Πραγματικά χρήσιμο ,κατανοητό και πολύ καλογραμμένο το παραπάνω άρθρο. Μπράβο πολύ καλή δουλειά , εγώ δεν ήξερα σχεδόν τίποτε από τα παραπάνω . Έμαθα πάρα πολλά .

Εικόνα: tom1972
tom1972
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 11 Αυγ 2011
Πόντοι: 4365

Μόλις ξεμπλόκαρα από υποχρεώσεις για να διαβάσω τα παραπάνω ....
Έχει γίνει όλο copy-paste στα αρχεία θεωρίας μου στο linux....
Ελπίζω να μη θεωρήσεις ότι είναι κλισέ να σου πω ότι η παραπάνω δουλειά είναι επιμορφωτικότατη !!
Συγχαρητήρια για την καλή δουλειά !!

Εικόνα: dsyrmalis
dsyrmalis
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 1 Ιαν 1970
Πόντοι: 6695

Χρησιμότατο άρθρο.

Εικόνα: slackware
slackware
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 1 Ιαν 1970
Πόντοι: 4480

Quote:

Μόλις ξεμπλόκαρα από υποχρεώσεις για να διαβάσω τα παραπάνω ....
Έχει γίνει όλο copy-paste στα αρχεία θεωρίας μου στο linux....
Ελπίζω να μη θεωρήσεις ότι είναι κλισέ να σου πω ότι η παραπάνω δουλειά είναι επιμορφωτικότατη !!
Συγχαρητήρια για την καλή δουλειά !!

----------------------------------------------------------------
μα ακριβως για αυτο τον λογο το εγραψα μπας και ασχοληθειτε λιγακι, και μαθαιτε κατι παραπανω απο τα κλικ του ποντικιου (αυτα ανηκουν στα windows)
Τουλαχιστον αν δειτε καποιο προβλημα να μπορεσετε να κανετε μια βασικη διαχειριση για να βρειτε την αιτια, και οχι φορματ επανεγκατασταση ή να λετε "Ο γκαντεμης ο Slackware φταιει... Μου το ματιαξε το λειτουργικο, και του ειχα τοσο ωραια φρου - φρου και αρωματα" (Ετσι για να γελασουμε λιγο)
:D

Εικόνα: Black_Horseman
Black_Horseman
Απουσιάζω!
Registered User
Μέλος από: 8 Ιαν 2012
Πόντοι: 320

Θα ήθελα και γω να προσθέσω κάτι, αν και ούτε ενα χρονο ασχολούμαι με το Linux και πιστέυω πως γνωρίζω ελάχιστα για αυτό.
Είναι η εντολή top που μας δείχνει τι τρέχει στο σύστημα μας και τι πόρους χρησιμοποιεί.

Εικόνα: tom1972
tom1972
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 11 Αυγ 2011
Πόντοι: 4365

Η top δείχνει
1. Ποιες διεργασίες τρέχουν εκείνη τη στιγμή
2. Τι πόρους καταναλώνουν (CPU-Μνήμη)
3. Χρήστης της διεργασίας
4. Το μαγικό PID (Process IDentification) της διεργασίας
[Μια κάποια χρήση-όσο γνωρίζω] Αυτό μας βοηθά να τη σκοτώσουμε, με την εντολή kill
Aν το PID για παράδειγμα είναι 2676
γράφουμε: kill -9 2676
Ένα καλύτερο εργαλείο από την top, είναι η htop, που την εγκαθιστάς ξεχωριστά .....

Εικόνα: slackware
slackware
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 1 Ιαν 1970
Πόντοι: 4480

@Xuser ναι η TOP μας δειχνει τι τρεχουμε στο συστημα μας αλλα μας δειχνει τους γονεις της καθε διεργασιας και οχι απαραιτητα ποσα παιδια εχει.
Παραδειγμα θα δεις να τρεχει το skype αλλα οχι και τα 17 processes.

H top ειναι τελειως αχρηστη οταν το συστημα ειναι στα ορια του, και εινια αρκετα καλη στο να σου δωσει μια γενικη εικονα του συστηματος.
Για παραπανω πληροφοριες ο tom1972 με εχει καλυψει, περιπου.
@tom1972 η htop αν δεν κανω λαθος εχει σαν εξαρτηση την top.

Η top ειναι αλλο νου παπα ευαγγελιο και οχι αυτουνου που εγραψα.

Εικόνα: tom1972
tom1972
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 11 Αυγ 2011
Πόντοι: 4365

Βασικά σε κάθε σύστημα η top ήταν προεγκατεστημένη, οπότε δε δόθηκε ευκαιρία να τσεκάρω την htop, χωρίς top....
Καλά που το ανέφερες, ώστε να το έχω υπ'όψιν μου "ο μη γέννητω"...

Εικόνα: tassos gkamas
tassos gkamas
Απουσιάζω!
Registered User
Μέλος από: 4 Ιαν 2011
Πόντοι: 115

Πολύ χρήσιμο και κατανοητό το μάθημα. Ειμαι και εγώ καινούργιος στο Linux, γνωρίζω όμως πολύ καλά το DOS ως παλαιός. Πιστεύω πως αν ήταν δυνατή η αναγραφή των λέξεων από τις οποίες απαρτίζεται μιά εντολή θα βοηθούσε στην πιό ευκολη απομνημόνευσή της. Συνήθως οι εντολές αποτελούν παράθεση αρχικών ή τμημάτων αγγλικών λέξεων. Ευχαριστώ πάντως πάρα πολύ και ελπίζω στη συνέχιση των μαθημάτων.

Εικόνα: slackware
slackware
Απουσιάζω!
Registered UserΣυχνός σχολιαστήςModeratorEditor-Blogger
Μέλος από: 1 Ιαν 1970
Πόντοι: 4480

Σε αυτο μπορει να σε βοηθησει η man
Syntax: man "command"
Παραδειγμα: man ps
man top
man pstree
etc

Εικόνα: silios
silios
Απουσιάζω!
Registered UserModeratorEditor-Blogger
Μέλος από: 29 Δεκ 2010
Πόντοι: 60

df. Μην λες τίποτα, Τέλος :)
(df -h se debian based συστήματα για output σε mb,gb etc.)