2015-09-30

Dysk SSD i Linuks Mint/Ubuntu

Kilka rzeczy, które warto ustawić mając system Mint/Ununtu zainstalowany na dysku SSD.

Swap

W pliku /etc/sysctl.conf dodajemy na dole następujące zmienne:

vm.swappiness = 1
vm.vfs_cache_pressure=50

Ja u siebie wyłączyłem swapa całkowicie (mam sporo ramu i mały dysk SSD):

vm.swappiness = 0

Wyłączenie "access time stamp"

W pliku /etc/fstab dla partycji dysku SSD dodajemy parametr noatime:

UUID=fcbaca8f-a6f7-4fa4-981a-8cd979a2e59d /               ext4    noatime,errors=remount-ro 0       1

Włączenie TRIM

Dysk SSD powinien być regularnie czyszczony. Czyszczenia można dokonać wykonując polecenie:

sudo fstrim -v /

Gdzie znak / to partycja dysku SSD. Jeśli mamy więcej dysków/partycji to dla każdego/każdej z nich wykonujemy to polecenie osobno. Dobrym zwyczajem jest wykonywanie tego polecenia podczas startu systemu. Aby tego dokonać należy w pliku /etc/rc.local dodać linie (przed exit 0):

# Run fstrim at boot
LOG=/var/log/trim.log
fstrim -v / >> $LOG
echo "Time: $(date)" >> $LOG

exit 0

Kilka dodatkowych zabiegów

Aby zmniejszyć ilość zapisów na dysku warto również unikać hibernacji oraz defragmentacji dysku SSD. Można również ograniczyć lub wyłączyć cache w przeglądarkach www.

źródło: http://www.leniwiec.org/

2015-09-24

Utworzenie lokalnej domeny przy użyciu Nginx i Virtual Hosts

Aby utworzyć lokalną domenę (np. http://test.lh), która zastąpiłaby adres http://localhost/test/ wystarczy kilka prostych ruchów:
  • Tworzymy katalog test w katalogu /var/www/html/
  • Tworzymy plik index.html w katalogu test
  • Dajemy uprawnienia 0775 dla katalogu test
  • W pliku index.html wpisujemy hello world!
  • Tworzymy plik test_lh.conf w katalogu /etc/nginx/sites-available/
  • W pliku test_lh.conf wpisujemy:
    server {
        listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6
    
        root ${htdocs}${website};
        index index.html index.htm index.php;
    
        # Make site accessible from http://localhost/
        server_name ${website}.lh;
    }
    
  • W katalogu /etc/nginx/sites-enabled/ tworzymy link symboliczny do /etc/nginx/sites-available/test_lh.conf
    ln -s /etc/nginx/sites-available/test_lh.conf /etc/nginx/sites-enabled/test_lh.conf
  • W pliku /etc/hosts dodajemy linijkę 127.0.0.1 test.lh
  • Uruchamiamy przeglądarkę, wpisujemy w pasek adresy test.lh i cieszymy się z napisu hello world!

Skrypt do automatycznego utworzenia lokalnej domeny

Na GitHubie umieściłem skrypt, który wykonuje opisane ruchy w sposób automatyczny.

Utworzenie lokalnej domeny przy użyciu Apache2 i Virtual Hosts

We jednym z wcześniejszych wpisów umieściłem instrukcję w jaki sposób utworzyć lokalną domenę pod Apache2.

2015-09-12

Programuj pod kątem interfejsu

Nie deklaruj zmiennych jako egzemplarzy określonych klas konkretnych. Zamiast tego wykorzystaj tylko interfejs zdefiniowany w klasie abstrakcyjnej.