Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Aktualizacja Arch.

Zaczęty przez ciubaka, Październik 27, 2023, 08:20:58 AM

Poprzedni wątek - Następny wątek

ciubaka

Dzień dobry. Sprzątam trochę komputer dla potrzeb syna, raczej pod kątem innego systemu, ale Archa też tu mam. I chciałem go sobie ładnie zaktualizować, a tu ani Octopi się nie otwiera, ani Pakiety (czyli Pamac). A Terminal gada do mnie tak:

[ciubaka@anarchyciubaka:~][1]$ pacman -Syu                        (10-27 08:16)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by pacman)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libalpm.so.13)

Co zrobić, żeby zaczęło działać cokolwiek?
EDIT - System dawno nie był używany, co najmniej pół roku :-(

linux4ever

Po prostu skompiluj glibc i  skopiuj je do ścieżki systemowej:

ftp.gnu.org/gnu/glibc/glibc-2.38.tar.bz2

Masz tam GCC i potrzebne narzędzia ?

Możesz też pobrać gotowe i podmienić:

https://archlinux.org/packages/core/x86_64/glibc/

Bierzesz download from mirror.


Powodzenia.

"Powiedz mi, a zapomnę, pokaż mi, a zapamiętam, pozwól mi zrobić, a zrozumiem. "-Konfucjusz

ciubaka

Powiem szczerze, że za Boga nie rozumiem, co miałbym uczynić po tej odpowiedzi :-(

linux4ever

#3
Cytat: ciubaka w Październik 27, 2023, 10:09:35 AMPowiem szczerze, że za Boga nie rozumiem, co miałbym uczynić po tej odpowiedzi :-(

Pobierasz kod źródłowy glibc rozpakowujesz go gdziekolwiek nawigujesz do scieżki folderu z glibc przez terminal.

Piszesz w nim ./configure lub ./autogen to zależy od opisu w pliku readme.

Potem piszesz make następnie logujesz się w tym samy terminalu jako root i piszesz make install

To zbuduje inaczej mówiąc skompiluje glibc.

Drugi sposób to pobranie gotowego glibc zalogowanie jako root i używanie komend cp i mv aby rozpakowane glibc trafiło do systemowego folderu tego w którym go brak.

I jest jeszcze trzecia możliwość skopiowanie glibc z płyty arch'a i wrzucenie do preznaczonego do tego folderu.

Możesz też od razu je wrzucić gdy masz iso live i zamontujesz na nim partycję systemową z uprawnieniami root.

Po tych krokach powinno wszystko działać.

Ps: mam live manjaro na pendrive zatem mogę na tym pokazać co i jak i dać screeny ono jedynie trochę się różni od archa.
"Powiedz mi, a zapomnę, pokaż mi, a zapamiętam, pozwól mi zrobić, a zrozumiem. "-Konfucjusz

ciubaka

Dziękuję za trud, ale obawiam się, że nie podejmę się tej metody. To grube grzebanie w systemie, metodami dla mnie niepojętymi. Gdyby ktoś miał prostszą koncepcję, najlepiej komendami w Terminalu, to będę wdzięczny. Pozdrawiam.

robson75

Weź pobierz https://archlinux.org/packages/core/any/filesystem/ następnie wejdź do managera plików, i pobrane uruchom terminal i wpisz
sudo pacman -U filesystem-2023.09.18-1-any.pkg.tar.zst
Następnie pobierz https://archlinux.org/packages/core/x86_64/glibc/ i to samo zrób
sudo pacman -U glibc-2.38-7-x86_64.pkg.tar.zst
Arch Linux Xfce - 64Bit Linux User #621110

ciubaka

#6
Ja mu tak, a Terminal siak :-(

[ciubaka@anarchyciubaka:~]$ sudo pacman -U filesystem-2023.09.18-1-any.pkg.tar.zst
[sudo] hasło użytkownika ciubaka:
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by pacman)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libalpm.so.13)
[ciubaka@anarchyciubaka:~][1]$                                    (10-27 14:46)

https://imgur.com/sWUzO1e.png

Tego drugiego też nie łyka. Mam zapisane w Pobrane, może to trzeba w jakiś katalog Archa przenieść?


robson75

To weź najsampierw zaktualizuj pacmana
sudo pacman -Sy pacman
Arch Linux Xfce - 64Bit Linux User #621110

ciubaka

Kuźwa?

[ciubaka@anarchyciubaka:~]$ sudo pacman -Sy pacman                (10-27 16:25)
[sudo] hasło użytkownika ciubaka:
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by pacman)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libalpm.so.13)
[ciubaka@anarchyciubaka:~][1]$

linux4ever

Cytat: ciubaka w Październik 27, 2023, 04:26:30 PMKuźwa?

[ciubaka@anarchyciubaka:~]$ sudo pacman -Sy pacman                (10-27 16:25)
[sudo] hasło użytkownika ciubaka:
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by pacman)
pacman: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libalpm.so.13)
[ciubaka@anarchyciubaka:~][1]$

Z tego co sprawdziłem o archu pomocna będzie komenda -Suy:

https://bbs.archlinux.org/viewtopic.php?id=274705&p=2


"Powiedz mi, a zapomnę, pokaż mi, a zapamiętam, pozwól mi zrobić, a zrozumiem. "-Konfucjusz

robson75

@ciubaka masz nauczkę, że jak się zdecydowałeś na Archa to musisz go na bieżąco aktualizować, bo jak nie to wychodzą takie kwiatki.
Arch Linux Xfce - 64Bit Linux User #621110

ciubaka

No ale stało się, Robert. I chętnie bym to "odstał". Bo system działa całkiem poprawnie, tyle że się nie aktualizuje. Może to jakiś błąd config w Pacmanie? Octopi na pewno na nim działa, a Pamac pewnie tez. I dlatego nie mogę tego nijak ugryźć :-(

ciubaka

#12
A może to się chroot'nąć, jak rok temu Paweł pokazał? Pomoże to coś, czy to nie do tego komendy?

Tak na szybko:
1. Odpalasz system liveiso, który zawiera paczkę arch-chroot. Możesz to zrobić z instalki Archa, ale mi wygodniej to robić z czegoś, co daje jakiekolwiek GUI, ot choćby CachyOS, EndeavourOS itp. Dlaczego? Bo jeśli potrzebuję coś sprawdzić w przeglądarce, to mam do niej prosty dostęp, nie muszę zmieniać terminala, jest graficzna, a nadto używając emulatora terminala w GUI lepiej mogę kontrolować przewijające się wiersze.
2. Łączysz się z netem.
3. Wykonujesz
Kod [Zaznacz]
lsblk
i sprawdzasz na jakiej partycji jest Arch - w przykładzie będzie do /dev/sda2.
4. Działając jako root (i generalnie większość opcji tak będziesz wykonywać) montujesz tę partycję na liveiso:
Kod [Zaznacz]
# mount /dev/sda2 /mnt
5. Robisz chroot Archa z wykorzystaniem arch-chroot:
Kod [Zaznacz]
# arch-chroot /mnt
6. W tym momencie powinieneś być w środowisku swej instalacji Archa.
7. W pierwszej kolejności - najprościej - wykonaj pełną aktualizację systemu, przy czym:
7.1. Instalujesz aktualne mirrory - możesz to zrobić w ten sposób, że:
7.1.1. Backupujesz plik /etc/pacman.d/mirrorlist
Kod [Zaznacz]
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.tmp
7.1.2. Edytujesz plik /etc/pacman.d/mirrorlist
Kod [Zaznacz]
nano /etc/pacman.d/mirrorlist
I w miejsce istniejącej tam zawartości wrzucasz jakikolwiek, przynajmniej jeden serwer stąd: [url]https://archlinux.org/mirrors/status/#successful - przy czym postać wpisu Server =  wygląda jak poniżej.
Możesz podmienić na moją zawartość:
Kod [Zaznacz]
Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch
Server = https://archmirror.it/repos/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch
Server = https://archlinux.thaller.ws/$repo/os/$arch
7.1.3. Synchronizujesz repozytoria w sposób "pełny".
Kod [Zaznacz]
# pacman -Syy
7.1.4. Aktualizujesz paczkę archlinux-keyrings:
Kod [Zaznacz]
# pacman -S archlinux-keyrings
7.1.5. Wykonujesz pełną aktualizację systemu:
Kod [Zaznacz]
# pacman -Syu
7.1.6. Dla pewności - masz od groma pogubionych plików w paczkach - przeinstalowujesz wszystkie paczki, jakie masz na dysku:
Kod [Zaznacz]
# pacman -Qqn | pacman -S -
8. Sprawdzasz (np. nmtui) prawidłowość konfiguracji połączenia sieciowego.
9. Licząc, że wszystko ok, wychodzisz z chroota:
Kod [Zaznacz]
exit
10. Kończysz sesję liveiso. Restartujesz komputera, a międzyczasie odprawiasz czasy licząc, że wszystko jest ok.
11. Jeśli operacja się udała Arch wstanie i będziesz miał połączenie sieciowe. Wówczas grzecznie wywalisz pamac, który masz w dowolnej tam wersji, albowiem jak widać (a wiem dlaczego) jest to narzędzie, które jest groźne dla systemu. Potem do poruszania się po repozytoriach, instalacji itp. stosujesz pak, albowiem uchroni Cię on od typowych błędów popełnianych przez użytkowników i daje doprawdy olbrzymie możliwości.

pavbaranov

@ciubaka - Wg mnie, to ostatnie jest jedynym rozwiązaniem, z którego możesz skorzystać. Bóg jeden wie w jaki sposób (prawdopodobnie tzw. cząstkowa aktualizacja systemu), ale rozminęły Ci się wersje pacman i glibc. Niczego zatem nie wykonasz przez pacmana, który masz zainstalowany lokalnie. Nawet "manualna reinstalacja" pacman i ew. również glibc (zob.: https://wiki.archlinux.org/title/Pacman#Manually_reinstalling_pacman) zawiedzie jak sądzę.
Osobiście preferowałbym chroota, a następnie akutalizacja mirrorów (jak nie był pół roku aktualizowany, to będzie źle) i pełna aktualizacja systemu.

robson75

A gdyby spróbować zaktualizować system pak-iem, z tego co wiem to on nie wymaga zależności glibc.

@ciubaka Weź skopiuj ten tekst

# Maintainer: nycko123 <nycko123 at gmail dot com>
# Contributor: pavbaranov <pavbaranov at gmail dot com>

# You had to install all optdepends for full functionality of this script

pkgname=pak
epoch=1
pkgver=5.6.3
pkgrel=1
pkgdesc="Simple pacman wrapper, AUR and POLAUR helper"
arch=('any')
url="https://gitlab.com/nycko123/pak"
license=('GPL')
depends=('bash' 'git' 'curl' 'jq' 'pacman-contrib' 'man-db')
optdepends=("devtools: to download PKGBUILD's of official packages"
            "auracle-git: (AUR) to manage AUR packages"
            "namcap: to validate built packages"
            "reflector: to keep mirrorlist up to date"
            "subversion: to check upstream for updated -svn packages"
            "fzf: to display all data about installed packages"
            "downgrade: (AUR) to downgrade packages"
            "libnotify: to display desktop notifications")
backup=(etc/xdg/pak.conf)
changelog="CHANGELOG"
conflicts=(pak-git)

source=("https://gitlab.com/nycko123/pak/raw/master/src/${pkgname}-${pkgver}.tar.gz")

sha256sums=('2ae0ea5fb62feb6585c42f6a6d625b86fa636db8de0d0654471426c0a89b6fbe')

package(){
 install -Dm755 "$srcdir/$pkgname" "$pkgdir/usr/bin/$pkgname"
 # configuration
 install -Dm644 "$srcdir/pak.conf" "$pkgdir/etc/xdg/pak.conf"
 # translations
 install -Dm644 "$srcdir/locale/pl.mo" "$pkgdir/usr/share/locale/pl/LC_MESSAGES/pak.mo"
 # man pages
 install -Dm644 "$srcdir/man/pak.8.gz" "$pkgdir/usr/share/man/man8/pak.8.gz"
 install -Dm644 "$srcdir/man/pak.conf.5.gz" "$pkgdir/usr/share/man/man5/pak.conf.5.gz"
 install -Dm644 "$srcdir/man/pl/pak.8.gz" "$pkgdir/usr/share/man/pl/man8/pak.8.gz"
 install -Dm644 "$srcdir/man/pl/pak.conf.5.gz" "$pkgdir/usr/share/man/pl/man5/pak.conf.5.gz"
 # bash autocompletions
 install -Dm644 "$srcdir/completion/pak.bash" "$pkgdir/usr/share/bash-completion/completions/pak"
 # zsh autocompletions
 install -Dm644 "$srcdir/completion/pak.zsh" "$pkgdir/usr/share/zsh/site-functions/_pak"
 # checkupdates systemd --user service + timer
 install -Dm644 "$srcdir/systemd-services/pak-checkupdates.service" "$pkgdir/usr/lib/systemd/user/pak-checkupdates.service"
 install -Dm644 "$srcdir/systemd-services/pak-checkupdates.timer" "$pkgdir/usr/lib/systemd/user/pak-checkupdates.timer"
 # auracle-git systemd --user service + timer
 install -Dm644 "$srcdir/systemd-services/pak-auracle.service" "$pkgdir/usr/lib/systemd/user/pak-auracle.service"
 install -Dm644 "$srcdir/systemd-services/pak-auracle.timer" "$pkgdir/usr/lib/systemd/user/pak-auracle.timer"
}

Utwórz nowy plik o nazwie PKGBUILD, i wklej powyższą zawartość.
Następnie uruchom terminal w katalogu w którym znajduje się PKGBUILD, i wydaj komendę
makepkg -sirc
I po zbudowaniu pak spróbuj przeprowadzić aktualizacje systemu
pak -Syu
Arch Linux Xfce - 64Bit Linux User #621110

Zobacz najnowsze wiadomości na forum