Strona 5 z 6 PierwszyPierwszy ... 3456 OstatniOstatni
Pokaż wyniki od 41 do 50 z 54

Wątek: Instalacja GG pod Linuxa (Ubuntu 12.04 LTS PL)

  1. #41
    @wrzomar
    Ponieważ nie jestem już w stanie walczyć z Twoim brakiem wiedzy i upartym wtrącaniem swoich 5 groszy nie mając najmniejszego pojęcia o tym, co piszesz - przyznaję Ci rację.

  2. #42
    @Sweetashny Miszcz
    Mój brak wiedzy podpowiada mi, że /usr/local/lib różni się od /usr/local/share tym, że ten drugi nie jest przeszukiwany przez ldconfig w poszukiwaniu bibliotek. Popraw mnie jeśli się mylę, ale /opt również nie byłby przeszukiwany, podobnie jak jakiś katalog w katalogu domowym użytkownika, do którego zostałoby wypakowane archiwum z GG, a GG bez tego i tak działałoby.

    @epsilon
    W /usr/bin lub /usr/local/bin wystarczy jeden plik, który pozwoli na uruchamianie gg bez podawania pełnej ścieżki do niego. Nawet jeśli całe GG umieścić w /opt to i tak pliki gg.desktop oraz ikony będą musiały być porozrzucane po /usr/share. GGTeam wspiera wersję na Ubuntu, ale i tak nie integruje się ona w pełni z Unity (i dobrze, bo wtedy na pewno inni nie mogliby go używać), a używanie systray-whitelist działa w wersjach do 12.10 włącznie.

  3. #43
    Rozmowny
    Dołączył
    26.10.2011
    Posty
    51
    @wrzomar @Sweetashny Miszcz
    W informatyce mozna robic rzeczy na rozne sposoby zaleznie od potrzeb czy po prostu wiedzy. Ale to nie powod aby toczyc o to swiete wojny.
    Na forach linuxowych to juz specyfika, ze poszczegolne klany (uzytkownicy debiana slackware itd itd) udowadniaja innym wyzszosc swojej dystrybucji.
    Tak przynajmniej kiedys bylo ale przeciez to do niczego nie prowadzi na dobra sprawe. Malo tego dochodzi w koncu do "wycieczek osobistych".
    Roznorodnosc linuxa to jego zaleta i wada, zalezy od tego jakie ma sie priorytety.
    Wiec zamiast spierac sie o wyzszosc takich swiat nad innymi, niewazne kto ma w tym przypadku racje, wezmy sie raczej za rozwiazanie
    ktore bedzie jesli nie wszystkim pasowac, to przynajmniej nie bedzie utrudniac zycia.

    @wrzomar
    gg.desktop moze byc chyba przeciez w .local tak samo ikony, chociaz w pliku gg.desktop mozna podac pelna sciezke dla ikon do /opt. Pozostaje kwestia
    innych uzytkownikow na kompie, ale to chyba mozna zalatwic podczas pierwszego uruchomienia.
    do ldconfig mozna dodac sciezke przeszukiwania do /opt... ale po co, o ile sie nie myle to gg podczas kompilacji dostaje ?wzgledna? sciezke gdzie ma szukac.
    A skrypt gg do uruchomienia pobiera sciezke katalogu w ktorym jest jako parametr, zeby pewnie wiedziec gdzie szukac reszty.

    A jak ta sprawe rozwiazal skype? W niektorych dystrybucjach widze paczke ze skype. Nie wiem jak teraz ale on sie wczesniej sam nie aktualizowal.
    Mysle ze samoaktualizacja ma swoje zalety i to chyba coraz popularniejsze.

  4. #44
    @epsilon
    Skype sprawę rozwiązał tak, że są dwa pakiety: skype i skype-bin - ten drugi 32-bitowy i ukrywa co się w nim znajduje. W drzewie katalogów porozsiewali dokumentację, pomoc, ikony i inne pliki w różnych podkatalogach /usr/share, a skype jest plikiem binarnym w /usr/bin i ma na oko 30MB oraz korzysta z bibliotek współdzielonych (tylko których?), a na inżynierię wsteczną MS reaguje jak diabeł na wodę święconą. Skype aktualizuje się na Ubuntu tak jak inne aplikacje instalowane z repo. Samoaktualizacja ładnie wygląda w Firefoksie prosto od Mozilli, ostatnio w Ubuntu dają najnowsze wersje więc nie wiem czy nadal tak przebiega, ale podczas aktualizacji ściągane były tylko te pliki, które uległy zmianie.
    Plik gg.desktop może być w .local, ale wtedy będzie dostępny tylko dla jednego użytkownika, więc plik potrzebny dla Messaging Menu powinien trafić do $HOME/.config/indicators/messages/applications/ i zawierać ścieżkę do gg.desktop. Niestety to menu ma problem ze znalezieniem ikony nawet jeśli w pliku desktop podana będzie pełna ścieżka do niej, łapie tylko jeśli wpis Icon będzie miał wartość np. gg, ale żeby mógł znaleźć w ten sposób ikonę do programu, musi ona znajdować się w pixmaps, w tym przypadku w ~/.local/share/pixmaps wystarczy dowiązanie do gg.png, ale nie wiem czy będzie ten katalog uwzględniany w poszukiwaniu ikon. Dowiązanie, bo nie wiem czy skopiowanie gg.png nie złamałoby prawa. Niestety nie mamy bezpośredniego wpływu na to jak GG działa, więc możemy rozmawiać o miejscach i uprawnieniach. Setuid'u nie można w tej chwili wykorzystać, bo nie ma wydzielonego updater'a, zmiana uid na innego użytkownika na czas aktualizacji również wymaga modyfikacji samego GG, najrosądniejsze jest w tej chwili tymczasowe zmienienie uprawnień/własności do katalogu z GG, jeśli zostanie wykryte, że istnieje nowsza wersja GG, sprawdzenie antywirusem czy jest OK po aktualizacji i ponowna zmiana uprawnień/własności, aby zabezpieczyć przed zmianami.
    W skrypcie gg jest ustawiana zmienna środowiskowa GG_PATH, która jest ustawiana na katalog w którym jest uruchamiany tenże skrypt, nie wiem czy ta zmienna jest używana później przez GG po uruchomieniu, we własnym skrypcie można ustawić tę zmienną "na sztywno" na ścieżkę do GG, np. /opt/GG.
    Ścieżki do GG do ldconfig nie trzeba podawać, a nawet nie powinno, skoro tam są wersje bibliotek używane tylko przez GG i wyrządziłyby one więcej szkód niż pożytku.
    Nie wiem co masz na myśli, mówiąc o załatwianiu przy pierwszym uruchomieniu. Można by było umieścić GG w katalogu do którego pełen dostęp mieliby wszyscy użytkownicy, ale byłoby to jeszcze gorsze rozwiązanie niż trzymanie GG w katalogu użytkownika.

    PS. Google dla Chrome i Earth problem aktualizacji rozwiązał tworząc własne repo z Chrome, Earth i resztą. Scribus również tak postąpił dla Ubuntu i Debiana. Niektóre projekty, jeśli licencje na to pozwalają, mają PPA na launchpadzie, ale są one prowadzone przez użytkowników, a nie developerów tych projektów (pewnie są wyjątki, ale żaden mi nie przychodzi do głowy).
    Ostatnio edytowane przez wrzomar ; 18.09.2013 o 12:05

  5. #45
    Cytat Zamieszczone przez epsilon Zobacz posta
    @wrzomar @Sweetashny Miszcz
    W informatyce mozna robic rzeczy na rozne sposoby zaleznie od potrzeb czy po prostu wiedzy. Ale to nie powod aby toczyc o to swiete wojny.
    Na forach linuxowych to juz specyfika, ze poszczegolne klany (uzytkownicy debiana slackware itd itd) udowadniaja innym wyzszosc swojej dystrybucji.
    Tak przynajmniej kiedys bylo ale przeciez to do niczego nie prowadzi na dobra sprawe. Malo tego dochodzi w koncu do "wycieczek osobistych".
    Roznorodnosc linuxa to jego zaleta i wada, zalezy od tego jakie ma sie priorytety.
    Wiec zamiast spierac sie o wyzszosc takich swiat nad innymi, niewazne kto ma w tym przypadku racje, wezmy sie raczej za rozwiazanie
    ktore bedzie jesli nie wszystkim pasowac, to przynajmniej nie bedzie utrudniac zycia.
    Ja lubię spory, tylko argument, że nie dla /opt/GG bo nie mnie zaczyna już denerwować.

    Cytat Zamieszczone przez epsilon Zobacz posta
    @wrzomar
    gg.desktop moze byc chyba przeciez w .local tak samo ikony, chociaz w pliku gg.desktop mozna podac pelna sciezke dla ikon do /opt. Pozostaje kwestia
    innych uzytkownikow na kompie, ale to chyba mozna zalatwic podczas pierwszego uruchomienia.
    do ldconfig mozna dodac sciezke przeszukiwania do /opt... ale po co, o ile sie nie myle to gg podczas kompilacji dostaje ?wzgledna? sciezke gdzie ma szukac.
    A skrypt gg do uruchomienia pobiera sciezke katalogu w ktorym jest jako parametr, zeby pewnie wiedziec gdzie szukac reszty.

    A jak ta sprawe rozwiazal skype? W niektorych dystrybucjach widze paczke ze skype. Nie wiem jak teraz ale on sie wczesniej sam nie aktualizowal.
    Mysle ze samoaktualizacja ma swoje zalety i to chyba coraz popularniejsze.
    Ja bym nie dodawał /opt do ścieżki ldconfig, ponieważ GG przychodzi do systemu z własnymi bibliotekami, które już w nim powinny być. Poza tym to i tak jest bezcelowe.
    Jedyna rzecz, jaką można by zrobić to zalinkowanie /opt/GG/gg do /usr/bin/gg, jak to robi Chrome.

    Skype to jest nieciekawy obiekt... To coś ma zawsze ze sobą problemy zwłaszcza na poziomie, że w paczkach 64-b jest 32-b binarka. Poza tym Skype grzecznie się aktualizuje przez managera pakietów.

  6. #46
    Podlinkowanie, tak jak to robi Chrome, nie pomoże, bo skrypt gg ustawi GG_PATH w ten sposób, że nie znajdzie gghub. Napisanie skryptu podobnego do tego z archiwum z GG jest formą podlinkowania, tylko że bez symlinka. Fajnie jest rozwiązana sprawa aktualizacji JDK od Oracle (dawniej od Sun, zanim Oracle ich nie wykupiło). Zgodnie z licencją nie można dystrybuować ich oprogramowania na własną rękę, więc gdy Java zostaje zaktualizowana, WebUpd8 zamieszcza paczkę deb, która podczas konfiguracji ściąga archiwum ze strony Oracle i instaluje je w systemie.

    PS. Dobrym przykładem na samo-aktualizację jest dropbox, który wypuścił pakiet deb instalujący skrypt, który służy do kontrolowania dropbox'a, a jeśli nie znajdzie zainstalowanego w katalogu użytkownika zamkniętego składnika, to ściąga go i instaluje, a dropbox aktualizuje się w tle podczas pracy. Skoro gg i tak musiałoby być uruchamiane ze skryptu, to może on robić coś więcej poza uruchamianiem, np. instalować jeśli zajdzie potrzeba i sprawdzać integralność oraz autentyczność GG.
    Ostatnio edytowane przez wrzomar ; 18.09.2013 o 15:11

  7. #47
    Rozmowny
    Dołączył
    26.10.2011
    Posty
    51
    A moze by to zrobic tak.
    Bylby sobie skrypt instalatora, ktory oferowalby na starcie 2 scenariusze:
    1) instalacja do /opt/GG
    skrypcik prosi o haslo roota, po czym
    - zaklada w systemie nowe konto i nowa grupe np. gaduuser i gadugroup
    - dorzuca do pliku sudoers (nie mam teraz glowy do szukania skladni) ze kazdy user moze wywolac komende /opt/GG/gghub (albo jakis plik co uruchamia updater)
    na prawach gaduuser.gadugroup
    - kopiuje pliki gg do /opt/GG i nadaje im wlasciciela na gaduuser.gadugroup rwx 775
    - linkuje gg.desktop, ikonki, itp do odpowiednich miejsc + dodaje sie ewentualnie do PATH

    2) instalacja do katalogu zwyklego usera np .local/GG
    tutaj kopiuje pliki na prawach biezacego usera oczywiscie, do jego katalogu
    i podlinkowuje tam gdzie trzeba gg.desktop, ikonki, itp do odpowiednich miejsc tylko dla tego usera
    tutaj sprawa updatera jest rozwiazana jak teraz

    3) pozostaje jeszcze trzecia opcja, sami sobie kopiujemy do lokalizacji jakiej chcemy
    i ustawiamy takie prawa i wlasciciela jak chcemy, przed aktualzacja zmieniamy prawa
    na takie zeby mogl sie zaktualizowac...

    a teraz uruchomienie
    zwykly user uruchamia plik-skrypt "gg", tak jak teraz
    skrypt sprawdza czy "gghub" ma wlasciela gaduuser.gadugroup
    1) jesli tak robi sudo (gaduuser.gadugroup) /opt/GG/gghub (skladni nie pamietam) robi ewentualnie sobie aktualizacje i sie wylacza
    skrypt nastepnie uruchamia go jeszcze raz "gghub" juz na prawach zwyklego usera, czyli z mozliwoscia tylko uruchamiania i czytania, plikow z /opt/GG
    2) jesli plik gghub nie ma wlasciciela gaduuser.gadugroup, to sprawdza czy uruchamiajacy "gg" jest wlascicielem pliku gghub
    jesli tak to uruchamia sie tak jak teraz, ewentualnie sie aktualizuje
    3) ostatnia opcja ze wlasciciel gghub i uruchamiajacy to inne konta, wtedy po uruchomieniu updatera jezeli sa aktualizacje to wyskakuje komunikat, ze
    program nie zostal zaktualizowany, ze wzgledu na brak dostepu... i zakonczenie skryptu i gg.

    pozostaje kwestia uruchamiania "gghub" tak zeby wiedzial czy to uruchomienie przed aktualizacja czy po aktualizacji,
    moze przez parametr albo jakis dodatkowy plik, tworzony przed aktualizacja, a usuwany po lub jej braku...


    To tylko taka jakby koncepcja, i nie jestem przekonany czy to sie da zaimplementowac na tej wersji co jest. W kazdym razie
    nie chcialbym byc zmuszonym do instalacji gg za pomoca jakiegos deb'a czy rpm'a z poziomu root'a.
    i wszystko zeby bylo w jednym miejscu, odinstalowywuje przez usuniecie...

    Niestety ale o programowaniu mozna by rzec mam juz obecnie niewielkie pojecie, o webapp nie wspomne.
    Zobaczymy zreszta jak bedzie wygladal plik z wersja linuxowa gg w nastepnym wydaniu, bo moze nasze rozwazania
    nie sa warte swieczki...

    PS. powyzsze pisane po piwie, wiec nie zamierzam bronic powyzszego jak Monte Cassino
    wlasciwie to mnie sytuacja obecna odpowiada...

    aha oczywiscie mozliwe ze gg dziala zupelnie inaczej z ta aktualizacja, niz mysle wiec cale moje rozwazania mozna potluc o kant d...
    Ostatnio edytowane przez epsilon ; 19.09.2013 o 21:49

  8. #48
    Ja to sobie wyobrażam ten skrypcik podobnie jak w Dropbox, tzn. jak najszybsze uruchomienie GG i ewentualnie instalacja, jeśli nie jest zainstalowany. Zanim uruchomi GG sprawdzałby czy istnieje /opt/GG/gghub, jeśli tak - to ustawia odpowiednio GG_PATH i uruchamia gghub, jeśli nie, to sprawdza czy istnieje $HOME/.local/GG/gghub i robi tak jak wyżej, jeśli nie to sprawdza czy istnieje zapisane wcześniej archiwum z GG (np. w /var/cache/gg-installer/) i jeśli tak to rozpakowuje je do $HOME/.local/, a jeśli nie istnieje to ściąga z netu i rozpakowuje. To tak z grubsza. Można zrobić dwie wersje, dla i386 i dla amd64, w celu uproszczenia samego skryptu, lub jedną, żeby w przyszłości powstała jedna paczka, a nie dwie. Byłbym za dwiema wersjami, bo będzie prostsze do napisania, a sam skrypt wymagałby bash, wget i tar. Instalowanie w /opt/GG można umieścić w innym skrypcie lub dołączyć do tamtego, np. jeśli ma odpowiednie uprawnienia do zapisu w /opt (tzn. był uruchomiony z sudo). Pozostaje kwestia konta gościa, nie wiem jak mógłby sprawdzić, że jest uruchomiony z konta gościa, ale załóżmy, że wyjście w whoami byłoby sprawdzane czy zawiera guest lub czy $HOME znajduje się w /tmp, skrypt musiałby rozpakować archiwum do $HOME/.local nawet jeśli istnieje /opt/GG/gghub. Poprawcie mnie jeśli się mylę, bo pisałem na szybko.

  9. #49
    /var/cache? Jezusie... Co za konwencja to proponuje?!

  10. #50
    Nie wzywaj Imienia Pana nadaremno Fajnie, że łapiesz mnie za słówka, naprawdę super z Twojej strony! Zaprawdę powiadam Tobie, że WebUpd8 Team umieszcza w nim (a dokładnie np. w "/var/cache/oracle-jdk7-installer/") ściągane archiwum z jdk i przechowuje je tam do następnej aktualizacji, żeby niepotrzebnie nie pobierać tego samego archiwum gdy wydadzą aktualizację samego instalatora.
    Dla zwykłego użyszkodnika, który nie ma prawa używać sudo, a Jego Wysokość Admin nie zainstalował w /opt/GG dla wszystkich, instalator pobierałby i przechowywał (lub nie) archiwum gdzieś w katalogu tegoż użyszkodnika. Tylko, że kiedy ostatnio to sprawdzałem, GG Networks w linku do archiwum nie umieściło numeru wersji.
    Linki wyglądają następująco:
    - wersja 32-bit: http://im-updates.gg.pl/files/release/linux32
    - wersja 64-bit: http://im-updates.gg.pl/files/release/linux64
    więc wget zapisze archiwum jako linux32 lub linux64. Można mu podać opcję -O z odpowiednią nazwą pliku. Zaletą braku numeru wersji jest to, że nie trzeba będzie zmieniać linków, a pobrana zostanie zawsze najnowsza wersja. Wadą, że wersję GG można poznać dopiero po ściągnięciu archiwum, które do najmniejszych nie należy.
    Sens trzymania gdzieś na dysku archiwum jest taki, żeby w razie potrzeby szybko rozpakować je bez ściągania z Internetu, a aktualizacja GG instalowanego dla wszystkich (w odróżnieniu od - dla pojedynczych użytkowników), a właściwie dbanie o to, żeby wersja zainstalowana była tą samą co aktualna, byłoby w odpowiedzialności admina. Z wielką władzą idzie wielka odpowiedzialność.

Podobne wątki

  1. GG linux ubuntu
    By style33dd in forum Instalacja i Ustawienia
    Odpowiedzi: 42
    Ostatni post / autor: 03.12.2014, 00:15
  2. GG na Linuxa
    By CipiS in forum Sugestie i pytania związane z forum
    Odpowiedzi: 9
    Ostatni post / autor: 04.07.2013, 20:00
  3. Instalacja GG na Mac 10.6.8
    By terlesik in forum Mac
    Odpowiedzi: 2
    Ostatni post / autor: 02.08.2012, 10:22
  4. Instalacja Adobe
    By Darmorka in forum Windows
    Odpowiedzi: 10
    Ostatni post / autor: 25.02.2012, 22:32
  5. Wersja na Linuxa - kiedy?
    By Andrutman in forum Ciekawe sugestie
    Odpowiedzi: 2
    Ostatni post / autor: 22.02.2012, 12:26

Tagi dla tego wątku

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •