środa, 20 lutego 2019

Aktualizacja systemu do wersji Fedora Core 29

Wreszcie się zdecydowałem na aktualizację fc21 na fc29. Czemu wreszcie? Bo u mnie aktualizacja to zawsze kilkudniowa PITA jest. Coś tam po aktualizacji nie działa i ogólne zamieszanie jest. Ale jak nie teraz to kiedy? Przy okazji to się pochwalę, że moim pierwszym linuksem była fedora w wersji RHL 5, zainstalowana w 1999 roku (albo coś koło tego roku, w Bachotku to na pewno, i na pewno przez Piotra Bolka.) Wychodzi że tym roku będzie rocznica 20 lat używania, tyle że przez pierwsze nie wiem ile lat (kilka) miałem dual boot. Poprzednia Fedora była zainstalowana circa 2015 roku czyli wcale nie aż tak dawno, a jeszcze bardziej poprzednia w 2011 (wersja 11). W sumie to ja tych wersji aż tak dużo nie miałem 5 (redhat), 8, 11, 21 teraz 29. Pewnie jeszcze coś było pomiędzy 5rhl a 8fl, ale co konkretnie to już nie pamiętam.

Tak poza tym to sobie wymyśliłem, że ponieważ mam dwa dyski w NUCu, to zainstaluję nową Fedorę na tym, z którego nie bootuję systemu, więc w razie emergency będę mógł się przełączyć. Nie do końca to działa--stary system się nie bootuje ale na razie nie jest to specjalnie potrzebne. Inny problem to był taki, że NUC po włączeniu w biosie opcji fastboot przestał reagować na F2, tj. niemożliwa była jakakolwiek zmiana ustawień tegoż biosa. Nie miałem pojęcia, że za niemożność przejścia do biosa odpowiada fastboot: Can't Access BIOS Setup with F2 Key for Intel NUC (Fast Boot in BIOS reduces computer boot time. With Fast Boot enabled: You can't press F2 to enter BIOS Setup. USB mice and keyboards are unavailable until after the operating system loads. Disable Fast Boot from the power button menu. Access the power button menu with this sequence: Make sure the system is off, and not in Hibernate or Sleep mode. Press the power button and hold it down for three seconds. Then, release it before the four-second shutdown override. The power button menu displays. Press F3 to disable Fast Boot.)

Powyższe znalazłem jak już problem rozwiązałem. A rozwiązałem go przez przypadek. Jak mi się zasilanie wyłączyło awaryjnie, to NUC zareagowł na f2. Jednym słowem odkryłem nieudokumentowany ficzer NUCa: wyciągnij kabel zasilający z gniazdka, a wtedy f2 też zadziała, mimo opcji fastboot. Sądząc z zawartości google (nuc fast boot enter bios), ta opcja nie tylko jest kłopotliwa dla mnie.

Po bezproblemowej aktualizacji sytemu, wykonałem co następuje:

## Post system update
dnf update
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-29.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-29.noarch.rpm
dnf -y install grip emacs mc vlc gpsbabel zip unarj 
dnf -y install gimp xsane ffmpeg dia ImageMagick wine
dnf -y install texlive
dnf -y install @xfce-desktop
dnf -y install fuse-sshfs beep geeqie 
dnf -y install mariadb mariadb-server
dnf -y install R
dnf -y install system-config-printer
dnf -y install aspell aspell-pl aspell-de aspell-es aspell-en

## pobrać trzeba google-chrome-stable_current_x86_64.rpm
dnf -y install google-chrome-stable_current_x86_64.rpm
##
wget 'https://download1.rstudio.org/rstudio-1.1.463-x86_64.rpm'
dnf -y install rstudio-1.1.463-x86_64.rpm 
dnf -y install gretl

Dotąd wszystko działa. Do komunikowania się z blogspotem używam skryptu w Pythonie, który wymaga biblioteki oauth2client. Doinstalowałem z rozpędu także biblioteki Perlowe, które pamiętałem że używam (takie jak perl-Geo-Distance na przykład):

 
dnf install perl-Net-Twitter.noarch perl-Test-LWP-UserAgent.noarch \
  perl-Flickr-Upload.noarch perl-Flickr-API perl-Geo-Distance \
  perl-LWP-Protocol-https.noarch perl-Crypt-SSLeay.x86_64 
##
dnf install python2-httplib2.noarch python3-httplib2.noarch
pip install --upgrade oauth2client

Nie instaluję thunderbirda. Nie widzę potrzeb. Będę czytał pocztę w google-chrome.

Instaluję gtk-recordmydesktop

## zawartość mbriza-recordmydesktop-fedora-29.repo  pobrana ze strony
## https://copr.fedorainfracloud.org/coprs/mbriza/  
dnf config-manager --add-repo mbriza-recordmydesktop-fedora-29.repo
dnf install recordmydesktop

Nie działa sprawdzanie słownika pod Emacs. Ale mój .emacs to bagno więc problem trzeba rozwiązać z tej strony. Podejrzewam w szczególności, że aspell nie działa bo używam kodowania iso w przypadku niektórych plików. Byłoby utf to by działał albo należy dokonfigurować aspella. Wybieram docelowo pierwszy wariant, ale na dziś dokonfiguruję emacsa pod iso-88592. Działa.

Kompilowanie i konfigurowanie ydpdic

Używam czegoś takiego jak ydpdic nieistniejącej już YDPoland. W fedorze trzeba w tym celu posłużyć się nakładką W. Kaniewskiego, a tym celu należy:

dnf install autoconf sysconftool automake libtool
dnf install ncurses-devel gettext-devel  gettext-common-devel
# ściągamy libydpdict/ydpdict ze repozytorium na github
# następnie kompilujemy najpierw bibliotekę potem nakładkę
./autogen.sh
./configure
make && make install
# u mnie z jakiś powodów trzeba to robić jako root

Skrypty obsługujące flickr.com

Wysyłanie zdjęć na flickr.com to u mnie bagno, bo używam śmiertelnie splecionych skryptów napisanych lata temu w Emacs Lispie i Perlu. Oczywiście te skrypty wywołują różne zewnętrzne programy. Całość to klasyczny, patologiczny monolit. Skrypt główny to flickr_upld.pl, który wywołuje flickr_xload.pl. Dane autoryzacji są umieszczone w flickr_utils.rc oraz login2flickr.rc. Te ostatnie są dodawane za pomocą require:

require 'flickr_utils.rc';
require 'login2flickr.rc';

Perl szuka plików-argumentów require w katalogach podanych na liście @INC. Standardowo są to różne katalogi systemowe (/usr/cośtam). Nie chcąc mnożyć bytów -- w sensie rozrzucać moich plików konfiguracyjnych po całym systemie -- modyfikuję @INC w pliku .bashrc:

export PERLLIB=$PERLLIB:/home/tomek/bin
export PATH=~/opt/tex/bin:$PATH

Aby flickr_upld.pl zadziałał trzeba zainstalować Flickr::Upload/Flickr::API (to już zrobione, bo o tym pamiętałem). Się okazuje że trzeba doistalować także:

dnf -y perl-Text-Iconv perl-ExtUtils-MakeMaker perl-Test-Number-Delta
perl-Image-ExifTool
## oraz ręcznie zainstalować (bo tego nie ma w rpmach):
Geo::Coordinates::DecimalDegrees

Po tym wszystkich działa. Aha, nowy Emacs zgłosił błąd przy kompilowaniu funkcji:

(defun My-flickr-remove-all-thumbnails
  ;; usunięcie miniaturek ;;
  (shell-command "rm /tmp/*.thmb")
)

Brak (). Winno być nazwa-funkcji(). Staremu Emacsowi pasowało bez nawiasów ale nowemu już nie. Dobrze wiedzieć i dobrze, że błąd dało się łatwo zdiagnozować (Malformed arglist).

TeX

Miła niespodzianka, że domyślną wersją TeXa jest TeXLive 2018 czyli nowszy niż ten którego sam do tej pory używałem. Niemiłą z kolei jest radykalna zmiana w formacie LaTeX: In current LaTeX release (2018 and later) You do not need to load inputenc as UTF-8 encoding, equivalent to \usepackage[utf8]{inputenc}.

Moje pliki kodowane w iso-88592. Muszę się zastanowić co z tym fantem zrobić. Na razie zastosuję rozwiązanie podane w FAQu: \usepackage[latin2]{inputenc}:

%& --translate-file=il2-pl %% usuń w TL2018
\documentclass[a4,portrait]{seminar}
\usepackage[latin2]{inputenc} %% dodaj TL2018
\usepackage[T1]{fontenc} %% dodaj TL2018

Działa.

R

dnf -y install R-reshape R-reshape2
dnf install R-ggplot2
Brak wyników dla parametru: R-ggplot2
Błąd: Brak wyników
## 
install.packages("ggplot2", dependiencies=TRUE)
## błąd
dnf install R-scales
install.packages("ggplot2")
## Teraz działa ale
#> library("ggplot2");
#Komunikat ostrzegawczy:
#W poleceniu 'strsplit(.Internal(Sys.getenv(character(), "")), "=", fixed = TRUE)':
#  niepoprawny łańcuch wejściowy 63 w lokalizacji

Pomimo tego działa, ale zobaczymy co z tego wyjdzie w dłuższej perspektywie, że tak powiem.

Podsumowanie

System generalnie działa jak działał. Mogę się łączyć z neptune/umbrielem za pomocą moich skryptów (sshfs). TeX działa -- będę testował granice kompatybilności TL2018. Skrypty do obsługi flickr.com działają. YDPdic też działa. Wygląda, że wyszedłem na prostą i zostały ewentualne drobiazgi.

Brak komentarzy:

Prześlij komentarz