2021-11-16
Podczas instalcji VIM pojawia się błąd:
Testing changes… Failed to install packages: Error running transaction: file /usr/share/man/man1/vim.1.gz from install of vim-common-2:7.4.1868-1.fc22.x86_64 conflicts with file from vim-minimal-2:7.4.640-4.fc22.x86_64
Pomaga uruchomienie:
sudo yum update vim-minimal
sudo yum install vim-enhanced
a to tylko jedno z rozwiązań z https://unix.stackexchange.com/questions/119310/transaction-check-error-in-installing-vim
2021-10-29
Niby prosta rzecz, ale wymaga grzebania w konfiguracji GRUB. Ponieważ modyfikacja pliku jest zastrzeżona dla administratora pamiętaj o sudo:
sudo vi /etc/default/grub
Tutaj trzeba poprawić jedną linijkę:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
Po zapisaniu pliku, trzeba zastosować zmianę:
sudo update-grub
Po restarcie – rozdzielczość się zmieni:
sudo reboot
2021-10-17
Jest sobie w shellu polecenie uniq. Zgodnie z opisem w man:
uniq - report or omit repeated lines
Wydawałoby się więc, że przesłanie wyniku polecenia, które generuje jakieś tam wiersze danych, powinno zwrócić tylko unikalne dane. Np.
head /etc/passwd | cut -d : -f7
zwraca informacje o skonfigurowanych shellach dla kilku początkowych użytkowników z pliku /etc/passwd. (Screen poniżej)
Kiedy prześlemy dane do uniq, to wydaje sie, że wynikiem powinny być unikalne shelle:
head /etc/passwd | cut -d : -f7 | uniq
Jednak tak nie jest. Dlaczego? Wystarczy zajrzeć do man-a ponownie, a tam stoi jak byk:
Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
kluczowe słowo to „adjacent” – 2 linijki zostaną potraktowane jako dublujące się, gdy stoją obok siebie. Jeśli między nimi jest jakaś inna linijka, to uniq nie usunie powtarzającej się kopii, no chyba że…. użyjesz opcji -u:
head /etc/passwd | cut -d : -f7 | uniq -u
Wszystko to widać ładnie na obrazku poniżej:

2021-10-14
Masz sobie Webexa, z jego wszystkimi funkcjami integrującymi np. kalendarz Outlooka z harmonogramem spotkań. Outlook jest w ustawieniach Windowsa ustawiony jako domyślny. Niestety, kiedy Webex startuje, narzeka na brak programu domyślnego. O co chodzi!?
Podejrzewam, że to kwestia niekończących się zmian w Windows. Wskutek tego Webex sprawdza program domyślny tam, gdzie Outlook go nie wpisuje.
Na szczęście łatwo to poprawić.
- Otwórz rejestr (regedit.exe) – jak zwykle zachowaj ostrożność, bo łatwo coś uszkodzić
- W rejestrze poszukaj ścieżki
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
- Tutaj znajdziesz klucz Default. Pewnie będzie pusty. Kliknij go i wpisz
Microsoft Outlook
- Zrestartuj Webexa i powinno już wszystko być OK 🙂

2021-09-29
Do czego może sie przydać Liux GUI? Biuro? Gry? A może środowisko dla programisty? Tutaj umieszczam komendy przygotowujące moją stację do pracy z Visual Studio Code, GIT, Azure CLI i terraform
Instalacja Visual Studio Code i git na Ubuntu
# download from https://code.visualstudio.com/download
sudo apt install ./code_1.62.3-1637137107_amd64.deb
sudo apt install git
git clone https://github.com/......
code
Instalacja AZ CLI na Ubuntu
sudo apt install curl
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
Instalacja terraform na Ubuntu:
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform
terraform --version
I instalacja open ssh – tak dla wygody:
sudo apt-get install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
2021-09-07
Oto nasz nowy kurs: Administrator Linux: Skryptowanie w BASH.
Dlaczego ten temat?
- Bo to właśnie skryptowanie pozwala na automatyzację pracy administratora, więc w końcowym efekcie odciąża go od pracy
- Bo BASH, mimo iż powstał wiele lat temu, do dzisiaj właściwie niewiele się zmieił
- Bo BASH lub jemu podobne shelle występują w najnowszych rozwiązaniach chmurowych
- Bo automatyzajca w połączeniu ze standaryzacją pozwala jednemu administratorowi zarządzać nie kilkoma serwerami. ale setkami i tysiącami serwerów

W tym kursie:
- nauczysz się automatyzować pracę administratora
- programowanie w BASHu rozpoczniesz od podstaw
- zobaczysz zastosowanie skryptów na praktycznych przykładach
- dzięku dołączonemu podręcznikowi PDF z notatką i zadaniami będziesz w stanie samodzielnie i w kontrolowany sposób samodzielnie pisać skrypty – już od pierwszych lekcji
Jeśli temat wydaje Ci sie ciekawy, to od 8 do 12 września 2021 możesz kupić ten kurs w promocyjnej premierowej cenie korzystając z kuponu TERAZBASH. Zresztą kupon zadziała tez na pozostałe nasze kursy – pełna lista w profilu autora: Rafał Mobilo | Microsoft Certified Trainer | Udemy
2021-09-06
Do zmontowania zasobu sieciowego można wykorzystać polecenie:
sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser
[sudo] password for boss:
Password for faxuser@//192.168.2.20/Gigabajtus: ***********
faxuser to użytkownik zdalny (majacy dostęp do zdalnego share)
boss to lokalny użytkownik z uprawnieniami do sudo
Pierwsze haslo podajemy dla sudo, a drugie, to haslo zdalnego użytkonika zasobu sieciowego
Takie montowanie pozwoli wprawdzie wyświetlić dane z zasobu sieciowego, ale do zapisu trzeba by jeszcze dodać uid= i guid=. Dlaczego? Lokalny użytkownik uzyskujący dostęp do zdalnych zasobów, jako tako – nie ma tam zdefiniowanych uprawnień, bo jest użytkownikiem lokalnym. Dodanie tych opcji powoduje, że operacje wykonywane na zdalnym zasobie będą „mapowane” tak, jakby uruchamiał je użytkownik z określonym uid i guid
Polecenie może nawet wyglądać tak:
sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser,uid=1000,gid=1000
Teraz zostaniemy tylko zapytani o haslo, ale jeśli do polecenia dodamy jeszcze password, to żadnego pytania już nie będzie:
sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser,password='remote-password',uid=1000,gid=1000
No to pięknie. Taka komenda o nic nie pyta, więc może dałoby się montować zasoby zdalne automatycznie? Zazwyczaj posłuujemy się do tego plikiem fstab, ale… ten plik jest czytelny dla wszystkich, a my musielibyśmy tam umieścić haslo. To zły pomysł. Zamiast tego można utworzyć plik na dysku o następujacej zawartości:
user=faxuser
password=remote_password
#domain=myDomain
Teraz można już posłużyć się poleceniem bez hasła, które wykorzysta ten plik:
sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o credentials=/home/boss/.sambaclient/config-cams.ini,uid=1000,gid=1000
Ponieważ plik zawiera haslo…. lepiej byloby zadbać o nadanie właściwych uprawnień… np. 600. Admin i tak podejrzy, ale przecież montowanie i tak jest wykonywane przez admina, więc haslo jest mu znane.
Oto jak może wyglądać zawartość pliku fstab:
//192.168.2.20/Gigabajtus /home/boss/fax cifs credentials=/home/boss/.sambaclient/config-cams.ini,uid=1000,gid=1000,iocharset=utf8 0 0
Od tej pory zdalny zasób sieciowy będzie instalowany automatycznie po bootowaniu systemu
https://wiki.samba.org/index.php/Mounting_samba_shares_from_a_unix_client
https://unix.stackexchange.com/questions/68079/mount-cifs-network-drive-write-permissions-and-chown
Auto-mount Samba / CIFS shares via fstab on Linux