Jak zamknąć proces na porcie na serwerze Linux

Aby zamknąć (zabić) proces na porcie na serwerze Linux należy wydać polecenie:


fuser -n tcp -k 21
<span style="font-family: Lucida Sans Unicode,Lucida Grande,sans-serif; font-size: 14pt;">
*(gdzie 21 to numer portu)
Innym sposobem jest uruchomienie aplikacji htop i po wybraniu procesu strzałkami naciśnięcie
 'k' w celu zabicia procesu/aplikacji. W tym przypadku powinniśmy znać nazwę aplikacji.</span>

Po wybraniu procesu i przyciśnięciu ‚k’ (kill) możemy usunąć/zamknąć proces na różne sposoby,
wymienione po lewej stronie.


 


 

Sprawdzanie prędkości łącza internetowego w terminalu (speedtest, nload, iftop)

Dzisiaj kilka słów o tym, jak sprawdzić przepustowość łącza na hoście, na który jesteśmy właśnie zalogowani. Zazwyczaj możemy to zrobić za pośrednictwem przeglądarki, jednak zdarza się, że firewall na serwerze uniemożliwia pingowanie hostów, w związku z tym nie możemy przeprowadzić testu przepustowości.
Rozwiązaniem takiej sytuacji jest zastosowanie aplikacji Speedtest. Aby pobrać narzędzie do testowania prędkości internetu, wpisujemy w terminalu Ubuntu następujące polecenia:

sudo apt-get install python-pip

Następnie poprzez narzędzie do zarządzania pakietami popieramy pytona speedtest:

sudo pip install speedtest-cli

Jeżeli chcemy teraz sprawdzić prędkość łącza, wpisujemy:

speedtest

A oto wynik działania speedtestu:

Jeśli chcemy na bieżąco monitorować przesył danych przez poszczególne interfejsy, możemy skorzystać z narzędzia nload. Poszczególne interfejsy można zmieniać za pomocą strzałek góra/dół.

sudo apt-get install nload
nload


Możemy też użyć narzędzia iftop, które pokazuje połączenia naszego hosta z wszystkimi domenami.
Powyższe narzędzia charakteryzują się niewielką złożonością, ale mogą okazać się przydatne.
Jeżeli spodobał Ci się temat, zostaw komentarz poniżej.

Add icon and script to Ubuntu dashboard

Create activator in:

cd /usr/share/applications

we creat activator:

nano myActivator.desktop

and define icon, execute and terminal or not one in file:

[Desktop Entry]
Type=Application
Terminal=false
Name=chromium-browser
Icon=/opt/chromium.png
Exec=/usr/bin/chromium-browser --user-data-dir=/opt/
szymon@geek:/usr/share/applications$ pwd
/usr/share/applications

Brak log-ów /var/log/syslog

Jeżeli masz problem z logami

apt-get install --reinstall rsyslogd
apt-get install inetutils-syslogd

Pamiętaj o uprawnieniach pliku:

sudo chown syslog:adm /var/log
sudo chmod 0775 /var/log

Prawdopodobnych błędów można szukać w pliku:

/etc/rsyslog.conf

i plikach

/etc/rsyslog.d/50-default.conf

można uruchomić również usługę w trybie debugowania:

/etc/init.d/rsyslog stop
rsyslogd -n -i /var/run/syslogs.pid

Oprogramowanie przyckisków Canon Lide 100 na Linuxie

Aby debugować scanbd używamy polecenia:

sudo scanbd -d7 -f -c /etc/scanbd/scanbd.conf

Output:

 scanbd: foreground
scanbd: config-file: /etc/scanbd/scanbd.conf
scanbd: reading config file /etc/scanbd/scanbd.conf
scanbd: debug on: level: 7
scanbd: dropping privs to uid saned
scanbd: dropping privs to gid scanner
scanbd: group scanner has member:
scanbd: saned
scanbd: drop privileges to gid: 109
scanbd: Running as effective gid 109
scanbd: drop privileges to uid: 108
scanbd: Running as effective uid 108
scanbd: dbus_init
scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
scanbd: SANE_CONFIG_DIR not set
scanbd: sane version 1.0
scanbd: Scanning for local-only devices
^Xscanbd: start_sane_threads
scanbd: start dbus thread
scanbd: Not Primary Owner (2)
scanbd: timeout: 500 ms
scanbd: Iteration on dbus call

Przykładowa konfiguracja:

global {
       
        debug   = true
        debug-level = 2
        user    = saned
        group   = scanner
        saned   = "/usr/sbin/saned"

       
        timeout = 500
        pidfile = "/var/run/scanbd.pid"
       
        environment {
                device = "SCANBD_DEVICE"
                action = "SCANBD_ACTION"
        }
        function function_knob {
                filter = "^message.*"
                desc   = "The value of the function knob / wheel / selector"
                env    = "SCANBD_FUNCTION"
        }
        function function_mode {
                filter = "^mode.*"
                desc   = "Color mode"
                env    = "SCANBD_FUNCTION_MODE"
        }
 
        action scan {
                filter = "^scan.*"
                numerical-trigger {
                        from-value = 1
                        to-value   = 0
                }
                desc   = "Scan to file"
                script = "/etc/scanbd/copy.sh"
        }
        action email {
                filter = "^email$"
                string-trigger {
                        from-value  = ""        
                        to-value    = "^email.*"
                }
                desc   = "Scan to email"
                script = "/etc/scanbd/mail.sh"
        }
        action copy {
                filter = "^copy$"
                string-trigger {
                        from-value  = ""
                        to-value    = "^copy.*"
                }
                desc   = "Copy to printer"
                script = "/etc/scanbd/copy.sh"
        }
        action preview {
                filter = "^preview$"
                numerical-trigger {
                        from-value = 1
                        to-value   = 0
                }
                desc   = "Preview"
                script = "/etc/scanbd/scan.sh"
        }
        action globaltest {
                filter = "^message.*"
                desc   = "Test (print all env vars)"
                script = "/etc/scanbd/pdf.sh"
        }
        action globaltest {
                filter = "^pdf.*"
                desc   = "Test (print all env vars)"
                script = "/etc/scanbd/pdf.sh"
        }
}

include(scanner.d/canon.conf)

Zwróć uwagę na ostatnie linijki, które powinne zaierać Twój skaner.

W plikach mamy nazwy script np:
/etc/scanbd/pdf.sh

przykładowy plik:

#!/bin/sh
TMPFILE="/tmp/image.tiff"
LOCKFILE="/tmp/copy.lock"

echo "pdf tworzę" >> /var/log/syslog

/usr/bin/scanimage --mode lineart -B10M --resolution 600 | pnmtops -imageheight 11 -imagewidth 8.5 | ps2pdf - /home/szymon/skaner/output.pdf | /usr/bin/mail -s "PDF" -a /home/szymon/skaner/output.pdf szymon@artmetic.pl
 
pamiętajmy o nadaniu uprawnień plikom:
 
chmod +x /etc/scanbd/pdf.sh

Linux błąd filtru i pytania o hasło drukarki – naprawa.

Dziś po upgradzie do Ubuntu 16.04 moja drukarka odmówiła posłuszeństwa, a co gorsza w panelu z drukarkami jestem ciągle atakowany o podanie hasła więc postanowiłem po wielu nieudanych próbach podawania prawidłowego hasła jednak odpalić ją z roota. Jednak to nie był koniec kłopotów bo wyświetlał się ciągle komunikat o brakującym filtrze do drukarki. A więc rozwiązałem to tak:

sudo system-config-printer

następnie usunąłem i dodałem. Drukarka wystartowała ale od razu przeszedłem do kolejki wydruku bo trochę zaległych dokumentów tam wpadło 🙂

Jak stworzyć serwer DHCP na Linuxie?

Poniżej przykładowa konfiguracja:

cat /etc/dhcp/dhcpd.conf

default-lease-time 86400; #czas w sekundach okresu dzierżawy ip max-lease-time 86400; # maksymalny czas w sekundach okresu dzierżawy ip option subnet-mask 255.255.255.0; option domain-name-servers 127.0.0.1;#,8.8.8.8; #domyślne adresy domenowe dla naszego hosta; lepiej użyć dns-a, który daje nam dostawca lub dns google 8.8.8.8 lub 8.8.4.4 option domain-name "artmetic.pl"; # opcjonalna nazwa domeny ddns-update-style none; server-name artmetic; # nazwa serwera subnet 192.168.2.0 netmask 255.255.255.0 { interface "eth0"; # interfejs sieciowy, którego będzie dotyczyć rozdawanie adresów ip option subnet-mask 255.255.255.0; option routers 192.168.1.1; next-server 192.168.1.1; option domain-name-servers 8.8.8.8, 8.8.4.4; pool { # allow members of "DRBL-Client"; range 192.168.1.2 192.168.1.3; // zakres adresów ip, które mogą zostać przydzielone } } subnet 10.1.1.0 netmask 255.255.255.0 { interface "eth1"; # interfejs sieciowy, którego będzie dotyczyć rozdawanie adresów ip option subnet-mask 255.255.255.0; range 10.1.1.5 10.1.1.60; # zakres adresów ip, który może zostać przydzielony option domain-name "artmetic.pl"; option domain-name-servers 89.78.78.230,8.8.8.8, 8.8.4.4; # tutaj podajemy adresy dns, które zamieniają adresy nazwy domen na adresy ip option routers 10.1.1.1; # domyślna droga, przez którą się łączą hosty do dhcp-a option broadcast-address 10.1.1.255; # adres rozgłoszeniowy (broadcast) default-lease-time 3600; #okres dzierżawy w sekundach max-lease-time 28800; # maksymalny okres dzierżawy deny unknown-clients; # niespodzianka dla nieznanych hostów, czyli nikt niepowołany się nie połączy } Poniżej definicja pierwszego urządzenia/hosta: host laptop { hardware ethernet E6:B9:C5:1D:FA:97; # adres MAC fixed-address 10.1.1.5; # użyłem pierwszego możliwego adresu z zakresu od 10.1.1.5 10.1.1.60 # option domain-name "artmetic.pl"; # option domain-name-servers 8.8.8.8; } host komorka-android { hardware ethernet 01:70:4c:c5:1e:32; fixed-address 10.1.1.6; option domain-name-servers 8.8.8.8, 8.8.4.4; # domyślne adresy dns dla naszego hosta } host VirtulaBox { hardware ethernet 08:01:27:32:68:00; fixed-address 10.1.1.10; } host telewizor { hardware ethernet c8:44:10:64:49:e1; fixed-address 10.1.1.15; }

Następnie restartujemy usługę poleceniem:

sudo /etc/init.d/isc-dhcp-server restart