Montowanie zewnętrznego/dodatkowego dysku w Ubuntu 20.04 Focal Fossa

Często zdarza się, że pewne partycje, które trzeba montować ręcznie pod systemem Linux, klikajać w ich ikonę w menedżerze plików, Nautilusie nie zawsze mają chciane przez nas prawa dostępu, czyli np. zapis danych.
Najpierw przedstawię metodę automatycznego montowania tych partycji/dysków wraz ze startem systemu.
Niestety czasem ten sposób jest zawodny, gdyż często pojawiają się błędy systemu plików i urządzenie nie jest montowane, np. przy NTFS.

Automount z startem systemu:

Pobranie UUID konkretnego urządzenia: (można łatwo skopiować/wkleić w terminalu uuid poprzez kombinację [(SHIFT +CTRL +C)=kopiuj, (SHIFT +CTRL +V)=wklej]


ls -l /dev/disk/by-uuid/*

Edycja pliku systemowego do automontowania urządzeń:


mkdir /media/folder-montowania-urzadzenia
sudo nano /etc/fstab

W powyższym pliku zapisujemy sekwencję, rozdzieloną znakiem tabulacji:

UUID     /dev/nazwa-urzadzenia-w-linuksie/     /media/folder-montowania-urzadzenia     system-plikow,np.ntfs     defaults(ustawienia domyślne)     0     0

Krótkie wyjaśnienia:
Najpierw tworzymy folder do zamontowania dysku.
W pliku w jednej linii wprowadzamy dane.
I tu, zamiast defaults możemy, np. zastosować:
exec = wykonywanie plików
rw = tryb odczytu-zapisu
users = wszyscy użytkownicy
auto = tryb automatyczny
remount = ponowne montowanie
wpisujemy powyższe słowa kluczowe w miejscu defaults, po przecinku bez żadnych odstępów pomiędzy słowami
Ostatnie cyfry: 0 0, to:
dump – zazwyczaj zero
pass – używane przez program fsck, w której kolejności system plików jest sprawdzany. Wartość admina/roota jest 1. Swap/partycja wymiany nie musi być sprawdzana i jest równa zero. Inne systemy plików powinny mieć 2.

Montujemy wszystkie urządzenia ponownie:


mount -a

I powyższy sposób jest jak najbardziej prawidłowy, niestety jak wystąpią jakieś błędy zdarza się, że urządzenie zostanie zamontowane, np. tylko do odczytu, albo w ogóle.

 

Druga metoda, to stworzenie prostego skryptu w bashu:

#!/bin/bash 
#to jest komentarz

#odmontowywujemy urządzenie 
sudo umount /dev/nazwa-urzadzenia media/folder-montowania 

#montujemy 
sudo mount -o defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania 

#naprawiamy ewentualne błędy w systemie plików 
sudo ntfsfix /dev/nazwa-urzadzenia 

#przemontowywujemy ponownie 
sudo mount -o remount,defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania

Nie zapomnijmy o nadaniu praw wykonania do pliku:


chmod +x nasz-skrypt.sh

Jeszcze większym ułatwieniem jest stworzenie skrótu na pulpicie do skryptu (metoda działa pod Ubuntu 20.04):

Tworzymy plik na pulpicie z rozszerzeniem .desktop:

#!/usr/bin/env xdg-open
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=true
Exec=/home/user/mount-disks.sh 
Name=Mount disks
Comment=Mount disks 
Icon=/home/user/Obrazy/hdd-mount.ico

Exec – ścieżka do naszego skryptu
Icon – ikona, jaką chcemy żeby się nam wyświetlała

Nie zapomnijmy jak poprzednio nadać prawa wykonania i jeszcze klikamy na pliku prawym przyciskiem myszy i wybieramy “Zezwól na uruchamianie”.

Teraz za pomocą drugiej metody, po uruchomieniu skryptu wpisujemy hasło root-a, sprawdzane i naprawiane są struktury plików i zamontowane powinny być nasze urządzenia dla wszystkich użytkowników z prawami wykonania, odczytu i zapisu.

Uruchomienie aplikacji Spring Boot na Heroku

Zgodnie z linkiem tworzymy szkielet Spring Boot. Na stronie Initializr dodajemy jako zależności “Spring Web”.
Możemy dodać jakąś nową klasę, żeby wyświetlała nam jakiś tekst, np. :

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Example {

@RequestMapping("/")
String hello(){
return "Witaj świecie!";
}

public static void main(String[] args){
SpringApplication.run(Example.class,args);
}
}

Standardowo odpalamy aplikację i powinien wyświetlić nam się żądany tekst.

Gdy mamy już zainstalowanego Git-a i Heroku logujemy się:

$heroku login

Następnie tworzymy lokalne repozytorium i dodajemy pliki:

git init
git add .
git commit -m "initial commit"

Tworzymy aplikację komendą:

$heroku create

A potem wrzucamy kod do zdalnego repozytorium:
$git push heroku master

I otwieramy za pomocą polecenia:
$heroku open

VirtualBox pod Linuksem (poprawne działanie)

Czasami pod Ubuntu 18.04 może wystąpić błąd z działaniem wirtualnego menedżera wirtualnych maszyn VirtualBox firmy Oracle.

Wykonujemy wtedy następujące kroki:

1. Wyłączamy w BIOS opcję “secure boot”.

2. Włączamy w BIOS opcję “Intel Virtual Technology”.

3. Ściągamy obraz ISO Guest Additions.

4. Ustawiamy następnie współdzielone foldery.

W ten oto sposób powinniśmy mieć w miarę poprawnie skonfigurowany program do uruchamiania systemów na wirtualnych maszynach oraz ich integrację z środowiskiem zewnętrznym.

Konwersja obrazu .nrg na .iso i montowanie obrazu .iso w linuksie

W powyższym celu wykonujemy w terminalu następujące komendy:

Konwersja obrazu .nrg do .iso:

$poweriso convert file.nrg -o file.iso

 

Tworzymy jakiś dowolny folder pod którym chcemy zamontować nasz przerobiony obraz:

 user@computer$ mkdir /iso/

 

Jako administrator montujemy obraz pod wskazaną lokalizacją:

 user@computer$ sudo mount file.iso /iso/

Google+ zamknięty (dla użytkowników indywidualnych)

2 kwietnia 2019 serwis społecznościowy Google+ został zamknięty dla użytkowników indywidualnych (dla kont firmowych działa nadal).

Wikipedia Google+

Facebook najpierw wykupuje serwis społecznościowy Instagram (od Kevin_Systrom (dawny pracownik Google), Mike_Krieger) (Burbn, Inc.), teraz znika Google+.

Mark Zuckerberg główny twórca portalu społecznościowego Facebook, który plasuje się na pierwszym miejscu w tej kategorii serwisów, nie daje szans innym konkurentom jak widać.

Jednak wątpię żeby wygryzł też YouTube, który jest w czołówce mediów społecznościowych.

Java EE i MS SQL Server w Eclipse

Czyli jak połączyć się w języku programowania Java z serwerem bazodanowym SQL Server.

Konfiguracja SQL Server:

1. W Configuration Manager włączyć protokół TCP/IP dla serwera.

2. Stworzyć użytkownika z możliwością logowania do bazy:

CREATE LOGIN user_name WITH PASSWORD='***';
CREATE USER user_name FOR LOGIN user_name;

3. Stworzyć bazę danych, której właścicielem jest powyższy użytkownik (Database Properties/Files/Owner).

4. Sprawdzić poprawność logowania.

Eclipse Java IDE for Web Developers:

1. Otworzyć narzędzie Data Source Explorer (Window/Show View/Other/Data Source Explorer)

2. Utworzyć połączenie (Database Connections/New/SQL Server/Microsoft SQL Server 2008 JDBC Driver/Jar List/Clear All). Dodać ściągnięty najnowszy sterownik sterownik JAR. Ustawić nazwę użytkownika i hasło. Zmienić nazwę sterownika na inną. Przetestować połączenie.

Projekt aplikacji:

1. Stworzyć nowy dynamiczny webowy projekt. Określić środowisko wykonawcze, np. Apache Tomcat. Zaznaczyć generuj web.xml. Po utworzeniu projektu wrzucić sterownik, przykładowo o nazwie sqljdbc.jar do /WEB-INF/lib. Utworzyć dwie klasy: Polaczenie.java:

package pl.polaczenie;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Polaczenie {
	
	private Connection connection;
	private String userName = "user_name";
	private String password = "password";
	private String url = "jdbc:sqlserver://localhost:1433;databaseName=base_name";
	
	public Polaczenie() {
		try {
			connection = DriverManager.getConnection(url, userName, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public Connection getConnection() {
		return connection;
	}

}

i PolaczenieTest.java:

package pl.test;

import static org.junit.Assert.assertNotNull;

import org.junit.jupiter.api.Test;

import pl.polaczenie.Polaczenie;

public class PolaczenieTest {
	
	Polaczenie polaczenie = new Polaczenie();
	
	@Test
	public void checkConnection() {
		assertNotNull(polaczenie.getConnection());
	}
}

Odpowiednio należy wstawić nazwę użytkownika, hasło i nazwę bazy danych. Uruchomić jako testy jednostkowe. Jeżeli nie ma błędów mamy poprawne połączenie aplikacji z bazą. I można zacząć tworzyć aplikację webową.

Higiena pracy przy komputerze

Według prawa pracy pracownikowi przysługuje 5 minut przerwy na każdą godzinę pracy przed dowolnym monitorem ekranowym, jeżeli czas ten wynosi ponad 4 godziny dziennie. W przypadku gdy dobowy wymiar pracy zatrudnionego wynosi co najmniej 6 godzin obowiązkowa jest 15-minutowa przerwa.

Ergonomia:

-odległość między użytkownikiem, a monitorem powinna wynosić od 40 do 75cm

-klawiatura powinna się znajdować minimum 10cm od brzegu stołu

-wysokość stołu powinna być taka, żeby między ramieniem a przedramieniem zachowany był kąt prosty, monitor (ekran) powinien znajdować się 20-50 stopni w dół (od linii poziomej oczu do środka ekranu)

-krzesło najlepiej powinno być obrotowe – 360 stopniowe, z podłokietnikami

Dbanie o oczy:

-robienie chwil przerwy, podczas których  rozluźniamy akomodacje oka poprzez, np. patrzenie na odległe przedmioty czy krajobraz za oknem

-monitora nie ustawiamy na przeciw okna, kontrast między ekranem komputera, a otaczającym go tłem powinien mieć w miarę mały kontrast

-można pomyśleć o kroplach nawilżających, gdyż przed komputerem mniej mrugamy i w związku z tym suchość oczu jest większa

Musimy też zadbać o Nasz kręgosłup, uprawiamy w miarę wolnego czasu aktywność fizyczną, im więcej tym lepiej. Staramy się utrzymywać prawidłową postawę ciała siedząc: nogi pod kątem prostym i plecy wyprostowane.