Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: nejde updatovat lokální zdroj  (Přečteno 774 krát)

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
nejde updatovat lokální zdroj
« kdy: 08 Srpen 2021, 13:29:48 »
Nejde přidat loklní zdroj pro ubuntu. Na počítači, který mám pžipojený k internetu, mám xubuntu. Potom jsem si přímo v /home/uivatel vyrobil složku local-debs, do ni složku debs, do které jsem sbíral balíky, které se mi skladovaly do /var/cache/apt/archives při instalování různých aplikací. Potom jsem do složky /home/uživatel/local-debs vygeneroval soubor Packages.gz. Lokální zdroj byl hotový. Vypálil jsem ho a okopíroval do počítače, který nemá (a ani nechci) internet, okoíroval opět přímo do /home/uživatel. Potom jsem do souboru /etc/apt/sources.list dolů připsal řádky:
Kód: [Vybrat]
# Lokalni-apt zroj
deb file:/home/uživatel/local-debs ./
Zdroje internetové jsem zakázal pomoci znaku # na začátcích řádků.
Potom, aby to k tomu mému  zdroji mělo přstup, updatoval jsem balíčkovač příkazem
Kód: [Vybrat]
sudo apt-get updateAle ten kripl mi to odmítl provést a vyhodil chybu:
Kód: [Vybrat]
~$ sudo apt-get update
Stahuje se:1 file:/home/david/local-debs ./ InRelease
Ign:1 file:/home/david/local-debs ./ InRelease
Stahuje se:2 file:/home/david/local-debs ./ Release
Err:2 file:/home/david/local-debs ./ Release
  Soubor nebyl nalezen - /home/david/local-debs/./Release (2: No such file or directory)
N: Aktualizaci z takového repositáře nelze provést zabezpečeně a je proto implicitně zakázána.
N: Podrobnosti o vytváření a nastavení repositářů naleznete v manuálové stránce apt-secure(8).
Potom mi ani nejde nic instalovat z toho zdroje.
Já jsem to vytváření a používán lokálního zdroje softwaru dělal podle postupu na https://wiki.ubuntu.cz/instalace_program%C5%AF/p%C5%99id%C3%A1v%C3%A1n%C3%AD_zdroj%C5%AF/vlastn%C3%AD varianta 1. S tím, že ten dělaný zdroj softwaru jsem pak uložil do počítače, který není a ani nebude připojený k internetu a v tom počítači ten zdroj také použiju. O tom, že při updatování apt můžou být takové problémy a jak se ty problémy napravují, nikde není zmínka.
« Poslední změna: 12 Srpen 2021, 19:47:46 od davyd »

Ventero

  • Závislák
  • ****
  • Příspěvků: 2654
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #1 kdy: 08 Srpen 2021, 14:02:16 »
To mi prijde nejake komplikovane zbytecne. Mas konkretni umisteni baliku a tak proste instaluj pomoci
Kód: [Vybrat]
sudo apt install /cesta k baliku/balik
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #2 kdy: 08 Srpen 2021, 17:34:56 »
Já to musím instalovat tak, že si to nejdříve přidám jako nastavený zdroj, kvůli tomu, aby se mi automatiky řešily závislosti. Závislé balíky mi v tom dělaném zdroji sice nachybí, ale i tak je to pohodlnější a i lepší instalovat z přidaného zdroje a způsobem, u kterého se přidaný zrdoj používá. Ale prý pomůže, když ten svůj přidaný řádek ve sourceslistu upravím na
deb [trusted=yes] file:/home/uživatel/local-debs ./ místo toho, co jsem předtím psal
deb file:/home/uživatel/local-debs ./
Tu změnu jsem udělal a zatím to funguje. Doufejme, že se to zase nepokazí.

Ventero

  • Závislák
  • ****
  • Příspěvků: 2654
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #3 kdy: 08 Srpen 2021, 19:57:22 »
Pokud pouzijes apt a jsi online, tak se zavislosti automaticky resi i pri lokalni ceste at uz tam ty baliky mas nebo ne, pokud jsou v jakemkoliv jinem pridanem zdroji.
« Poslední změna: 08 Srpen 2021, 19:58:58 od Ventero »
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #4 kdy: 08 Srpen 2021, 20:45:28 »
Počítač, ve kterém to řeším, není online.

Ventero

  • Závislák
  • ****
  • Příspěvků: 2654
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #5 kdy: 08 Srpen 2021, 23:06:31 »
... at uz tam ty baliky mas nebo ne ...
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

singularis

  • Člen
  • **
  • Příspěvků: 176
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #6 kdy: 09 Srpen 2021, 06:18:49 »
Provozuji několik offline počítačů a jako nejjednodušší řešení používám „apt-mirror“. To stáhne všechny balíčky z repozitáře a vytvoří na disku (v mém případě externím USB) kompletní zrcadlo celého repozitáře (nicméně v Ubuntu 20.04 se k tomu ještě musí stáhnout soubory „Commands.xz“ nebo tak něco).

Ale pokud nechceš stahovat cca 200 GiB balíčků (možná 400, pokud bych chtěl i architekturu i386, např. kvůli wine) a skladovat na disku spoustu věcí, které v životě nepoužiješ, jako dobré řešení mi připadne „apt-offline“ (viz manálovou stránku http://manpages.ubuntu.com/manpages/focal/en/man8/apt-offline.8.html), to mám vyzkoušené, že funguje. Princip je takový, že na offline systému vytvoříš jakýsi „otisk“, ten přeneseš na online systém, tam mu řekneš, co chceš instalovat, on vyřeší závislosti a postahuje do archivu (tuším zip) vše, co bude potřeba, to pak přeneseš zpět na offline systém a tam nainstaluješ. Výhodou je, že tímto způsobem lze offline systém i aktualizovat, protože apt-offline podle otisku pozná, jaké verze balíčků tam jsou, a tak může stáhnout prostě jen aktualizace.

Ale je potřeba si nastudovat, jak to funguje.

Jinak, při používání lokálních repozitářů buď extrémně opatrný na přístupová práva. Aby to fungovalo, adresář s repozitářem musí být z kořenového adresáře dostupný uživateli „_apt“, což třeba /media/david/něco normálně není. /home/david/local-debs zatím ano, ale v příští LTS verzi už asi také nebude (prý nebudou domovské adresáře uživatelů přístupné jiným uživatelům).

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #7 kdy: 09 Srpen 2021, 15:50:46 »
Jinak, při používání lokálních repozitářů buď extrémně opatrný na přístupová práva. Aby to fungovalo, adresář s repozitářem musí být z kořenového adresáře dostupný uživateli „_apt“, což třeba /media/david/něco normálně není. /home/david/local-debs zatím ano, ale v příští LTS verzi už asi také nebude (prý nebudou domovské adresáře uživatelů přístupné jiným uživatelům).
Máte na mysli to, co se nastavuje, když na tu složku local-debs kliknu pravým tlačítkem myši a vyberu vlastnosti - oprávnění? A tam stačí, když zkontroluji nebo opravím, aby kromě vlastníka měli i "ostatní" přístup alespoň pro čtení?

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #8 kdy: 10 Srpen 2021, 19:57:17 »
Jestli v novém vydání Ubuntu nebude domácí adresář dostupný uživateli apt a přitom budu chtít svůj lokální zdroj softwaru mít v domácím adresáři, tak pomůže když zadám příkaz
Kód: [Vybrat]
chmod 744  -R /home/uzivatel ? A je ten příkaz dobře zvolený? A budou vyhovovat práva 744? A stačí ten příkaz zadat jako obyčejný uživatel, čili bez sudo?

juwa2

  • Závislák
  • ****
  • Příspěvků: 4275
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #9 kdy: 10 Srpen 2021, 22:49:45 »
Jestli v novém vydání Ubuntu nebude domácí adresář dostupný uživateli apt a přitom budu chtít svůj lokální zdroj softwaru mít v domácím adresáři, tak pomůže když zadám příkaz
Kód: [Vybrat]
chmod 744  -R /home/uzivatel ? A je ten příkaz dobře zvolený? A budou vyhovovat práva 744? A stačí ten příkaz zadat jako obyčejný uživatel, čili bez sudo?

Lepší bude přiřadit vlastnictví adresáře local-debs  uživateli apt  pomocí chown

singularis

  • Člen
  • **
  • Příspěvků: 176
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #10 kdy: 11 Srpen 2021, 18:37:25 »
Máte na mysli to, co se nastavuje, když na tu složku local-debs kliknu pravým tlačítkem myši a vyberu vlastnosti - oprávnění? A tam stačí, když zkontroluji nebo opravím, aby kromě vlastníka měli i "ostatní" přístup alespoň pro čtení?
Ano, mám na mysli přesně to, i když je to v tom dialogovém okně pravděpodobně dost zjednodušené.

Jestli v novém vydání Ubuntu nebude domácí adresář dostupný uživateli apt a přitom budu chtít svůj lokální zdroj softwaru mít v domácím adresáři, tak pomůže když zadám příkaz
Kód: [Vybrat]
chmod 744  -R /home/uzivatel ? A je ten příkaz dobře zvolený? A budou vyhovovat práva 744? A stačí ten příkaz zadat jako obyčejný uživatel, čili bez sudo?

Ten příkaz dobře zvolený rozhodně není, protože „-R“ znamená rekurzivně, takže to příslušná práva nastaví souborům i adresářům, které budou v adresářové struktuře pod daným adresářem, což nejspíš není to, co chceš (v domovském adresáři je např. klíčenka s hesly; opravdu chceš hypotetickým hackerům, kteří se ti nabourají do počítače pod neprivilegovaným účtem nějaké systémové služby, ulehčit práci tím, že jim zpřístupníš svoji klíčenku ke čtení?). A také se pak možná budeš divit, proč máš v domovském adresáři všechny soubory označené jako spustitelné...

Správný postup v případě, že si bude „apt update“ stěžovat na nepřístupný místní zdroj, je například: otevřít si nové okno terminálu a použít příkaz:
Kód: [Vybrat]
sudo sudo -u _apt env -C / bash(Budeš muset zadat svoje heslo.)

Tím si otevřeš bash v kořenovém adresáři, s právy uživatele _apt. Následně se příkazem „cd“ budeš adresář po adresáři přesouvat k adresáři, kam potřebuješ zkontrolovat přístup. Pokud do některého adresáře „cd“ odmítne vstoupit, budeš vědět, kde máš ta přístupová práva opravit.

A přiřadit vlastnictví adresáře /home/david/local-debs uživateli _apt příkazem „chown“ nic nevyřeší, pokud _apt nebude schopen vstoupit ani do adresáře /home/david.

davyd

  • Člen
  • **
  • Příspěvků: 101
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #11 kdy: 12 Srpen 2021, 20:06:13 »
Citace
sudo sudo -u _apt env -C / bash
Tam má být opravdu dvakrát sudo?
---Jiná možnost: Kdyby byly takové prpblémy, že by se apt  kvůli právům nedostal k mému lokálnímu zdroji, tak co kdybych pouze přidal právo na čtení pro vlastníka, skupinu a ostatní  jenom pro tu složku /home/david/local-debs se vším co obsahuje, a pro složku /home/david bez rekurziního způsobu, a pro složku /home bez rekurzivního způsobu; zatímco práva na spouštění a práva na měnění obsahu, bych u všech souborů a adresářů  nechal na pokoji a zbytečně do nich nezasahoval. Je tento návrh použitelný?
---Nebo jiná možnost:  Kdyby byly takové prpblémy, že by se apt  kvůli právům nedostal k mému lokálnímu zdroji, tak co kdybych svůj lokální zdroj umístil přímo pod / Taky by to šlo? Ikdyž takové řešení se mi moc nelíbí.
« Poslední změna: 12 Srpen 2021, 20:07:55 od davyd »

singularis

  • Člen
  • **
  • Příspěvků: 176
    • Zobrazit profil
Re:nejde updatovat lokální zdroj
« Odpověď #12 kdy: 14 Srpen 2021, 17:21:19 »
Citace
sudo sudo -u _apt env -C / bash
Tam má být opravdu dvakrát sudo?

Fungovalo by to i s jedním, to druhé jsem tak dal/a jen pro jistotu. Také by fungovalo toto:

Kód: [Vybrat]
sudo runuser -u _apt -- env -C / bash

---Jiná možnost: Kdyby byly takové prpblémy, že by se apt  kvůli právům nedostal k mému lokálnímu zdroji, tak co kdybych pouze přidal právo na čtení pro vlastníka, skupinu a ostatní  jenom pro tu složku /home/david/local-debs se vším co obsahuje, a pro složku /home/david bez rekurziního způsobu, a pro složku /home bez rekurzivního způsobu; zatímco práva na spouštění a práva na měnění obsahu, bych u všech souborů a adresářů  nechal na pokoji a zbytečně do nich nezasahoval. Je tento návrh použitelný?

Ano, je, až na to, že u adresářů jsou potřeba práva „r“ i „x“ (ale zdá se, že v dialogových oknech zahrnují obě pod označení „čtení“). Můžeš to udělat dvěma příkazy:

Kód: [Vybrat]
sudo chmod a+rx /home /home/david
sudo chmod -R a+rx /home/david/local-debs

---Nebo jiná možnost:  Kdyby byly takové prpblémy, že by se apt  kvůli právům nedostal k mému lokálnímu zdroji, tak co kdybych svůj lokální zdroj umístil přímo pod / Taky by to šlo? Ikdyž takové řešení se mi moc nelíbí.

Přesně toto řešení používám. Mám adresář „/apt-mirror“ a v /etc/fstab mám externí disk nastavený tak, aby se připojoval tam.