Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Instalace, aktualizace a spouštění => Téma založeno: regine 26 Září 2020, 04:25:17

Název: Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: regine 26 Září 2020, 04:25:17
Mám tři kompy. Jen u jednoho je vyžadováno sudo při instalaci čehokoliv z terminálu. Rád bych potřeboval odstranit požadavek. PLS poraďte.
Kód: [Vybrat]
user@acer:~$ apt-get update
Načítají se seznamy balíků… Hotovo
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Operace není povolena)
E: Nešlo otevřít zámkový soubor /var/lib/apt/lists/lock - open (13: Operace zamítnuta)
E: Nelze uzamknout adresář /var/lib/apt/lists/
W: Problém při odstraňování souboru /var/cache/apt/pkgcache.bin - RemoveCaches (13: Operace zamítnuta)
W: Problém při odstraňování souboru /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Operace zamítnuta)
user@acer:~$
THX.
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: juwa2 26 Září 2020, 09:20:21
Že je při instalaci požadováno sudo je zcela normální - naopak pokud lze instalovat bez sudo (zřejmě jsi přihlášen jako root), je vážný bezpečnostní problém.
Můžeš před instalací nejprve zadat příkaz
Kód: [Vybrat]
sudo -i
Pak už v dalších příkazech není sudo potřebné. Platí to samozřejmě pouze pro danou relaci.
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: Abby 26 Září 2020, 10:37:34
Osobně mi taky docela vadí, že je potřeba sudo při každé prkotině, ale zrovna při instalaci programů mi to přijde v pořádku. Spíš nechápu, proč musím zadat heslo, když si měním rozložení monitorů, rozlišení, obnovovací frekvenci a podobné prkotiny. Nebo když si přidám ikonku ke svému vlastnímu účtu.

Každopádně sudo je vlastně to samé jako UAC ve Windows, tedy dočasné povýšení na práva administrátora/roota a je to bezpečnostní prvek.
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: regine 26 Září 2020, 17:40:01
Díky za odpovědi. Je mi jen divné, že u příkazu:
Kód: [Vybrat]
apt-get updatekterý slouží jen ke kontrole (It is useful to get info on an updated version of packages or their dependencies.) a ne pro instalaci. U ostatních dvou kompů není sudo požadováno v uvedeném případě.
Je požadováno jen na několik konkrétních adresářů/souborů.
Možná vznikla nedostupnost, mojí chybou, že jsem někdy něco řešil přímo jako root (mám ho zpřístupněný) v terminálovém režimu (ne v GUI). Snad by šlo napravit změnou práv, ale v tom už nejsem dost znalý.
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: juwa2 26 Září 2020, 20:21:12
Díky za odpovědi. Je mi jen divné, že u příkazu:
Kód: [Vybrat]
apt-get updatekterý slouží jen ke kontrole (It is useful to get info on an updated version of packages or their dependencies.) a ne pro instalaci. U ostatních dvou kompů není sudo požadováno v uvedeném případě.
Je požadováno jen na několik konkrétních adresářů/souborů.
Možná vznikla nedostupnost, mojí chybou, že jsem někdy něco řešil přímo jako root (mám ho zpřístupněný) v terminálovém režimu (ne v GUI). Snad by šlo napravit změnou práv, ale v tom už nejsem dost znalý.

Ano, je to právy k přísl. adresářům/souborům. Ty lze standardně změnit pomocí chmod. Jen musíš vědět o které se jedná..

Příkaz apt-get update  sice sám o sobě nic neinstaluje, ale aktualizuje apt-cache (zapisuje do ní). A tato apt-cache (je ve složce /var/cache/apt) je ve vlastnictví roota, tudíž běžný user do ní zapisovat nemůže. Toto je standardní stav.
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: regine 26 Září 2020, 23:11:22
PLS, lze mi zde uvést příklad parametru pro chmod? Jak změnit právo na standardní.
Složky/adresáře jsem uvedl hned v prvním dotazu.
Jistě mohu zkusit, ale zpravidla jako nezkušený začnu špatně a potom pracně opravuji.
THX
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: juwa2 27 Září 2020, 00:06:59
PLS, lze mi zde uvést příklad parametru pro chmod? Jak změnit právo na standardní.
Složky/adresáře jsem uvedl hned v prvním dotazu.
Jistě mohu zkusit, ale zpravidla jako nezkušený začnu špatně a potom pracně opravuji.
THX

Měnit práva může jen aktuální vlastník, pokud tedy nejsi vlastníkem, musíš nejprve převzít vlastnictví objektu:
Kód: [Vybrat]
sudo chown user:user /soubor
nebo rekurzivně (pro celou složku vč. obsahu)
Kód: [Vybrat]
sudo chown -R user:user /složka
Až budeš vlastníkem, pak teprve můžeš změnit práva souboru:
Kód: [Vybrat]
sudo chmod 755 /soubor
Nebo opět rekurzivně (pro celou složku vč. obsahu):
Kód: [Vybrat]
sudo chmod -R 755 /složka
Někteří správci souborů umožňují toto "naklikat" ve Vlastnosti > Oprávnění  objektů. Správce souborů ovšem musí být spuštěný s právy roota.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pokud ti jde o to, že sis dříve vlastnictví/práva "rozvrtal" a nyní je chceš vrátit na standardní, musíš nejprve zjistit jaká ta standardní byla.
Dá se vygooglit seznam (https://www.vidarholen.net/contents/junk/ubuntu_permissions.html) úplně všech souborů/složek v Ubuntu s jejich právy (je velice obsáhlý). Z něj můžeš při obnově vycházet.
Ale zjednodušeně lze říci, že u naprosté většiny systémových složek je vlastník root  který má práva rwx
Skupina root  a skupina ostatní  mají práva r-x   Zapsáno v celku to tedy je rwxr-xr-x čili 755
Aktuální práva objektů zjistíš příkazem:
Kód: [Vybrat]
ls -l /cesta
Pokud tedy chceš změnit vlastnictví a práva na roota:
Kód: [Vybrat]
sudo chown -R root:root /složka
sudo chmod -R 755 /složka
Název: Re:Vyžadováno sudo při apt-get update - jak odstranit?
Přispěvatel: singularis 27 Září 2020, 11:46:31
Není pravda, že práva může měnit jen aktuální vlastník souboru. Superuživatel (root) může měnit přístupová práva souborů a adresářů i v případě, že sám jejich vlastníkem není.

Mimochodem, práva u příkazu „chmod“ lze zapsat nejen čísleně (755), ale i symbolicky: „u=rwx,go=rx“. Myslím, že nezkušeným uživatelům bude symbolický zápis připadat pochopitelnější. Celý příkaz pak vypadá například takto:

Kód: [Vybrat]
sudo chmod -R u=rwx,go=rx /usr