Προς το περιεχόμενο

pmav99

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    2.987
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

2 ΑΚΟΛΟΥΘΟΙ

Σχετικά με pmav99

  • Ημερομηνία γέννησης 03/02/1992

Πληροφορίες προφίλ

  • Φύλο
    Δεν το μαρτυρώ

Πρόσφατες Επισκέψεις

Η εμφάνιση επισκεπτών είναι απενεργοποιημένη ή δεν έχετε πρόσβαση σε αυτή.

pmav99's Achievements

Experienced

Experienced (12/15)

  • Αφοσιωμένος
  • Εκκίνηση Συζήτησης
  • Ένα Μήνα Μετά
  • 10 χρόνια Insomniac
  • 5 χρόνια Insomniac

Πρόσφατες Διακρίσεις

1,6k

Φήμη

  1. Το ubuntu χρησιμοποιεί συγκεκριμένο naming scheme. Πρακτικά κάθε release χρησιμοποιεί το επόμενο γράμμα του αλφαβήτου σε σχέση με το προηγούμενο release. Τώρα ήταν η σειρά του M ενώ στην 24.04 το όνομα θα είναι από N. Δες εδώ για λεπτομέρειες https://en.m.wikipedia.org/wiki/Ubuntu_version_history
  2. pmav99

    Πλάνο βαρδιών

    Δεν έχουν όλοι οι μήνες 31 μέρες. Επίσης θα πρέπει να λάβεις υπόψη και τα δίσεκτα χρόνια κτλ. Anyhow, μια λύση σε Python from datetime import date from datetime import timedelta from itertools import cycle from typing import Generator def daterange(start: date, end: date) -> Generator[date, None, None]: return (start + timedelta(n) for n in range((end- start).days)) def print_shifts(workers: list[str], start_date: str, end_date: str) -> None: start = date.fromisoformat(start_date) end = date.fromisoformat(end_date) for (worker, date) in zip(cycle(WORKERS), daterange(start, end)): print(f"{date.isoformat()} - {worker}") if __name__ == "__main__": WORKERS = ["kostas", "manos", "andreas", "maria", "eleni"] START_DATE = "2020-02-01" END_DATE = "2020-03-01" print_shifts( workers=WORKERS, start_date=START_DATE, end_date=END_DATE, )
  3. Ναι έχει λίγες μέρες που στείλανε email στην arch announce
  4. Τα browser benchmarks είναι να χαμε να λέγαμε. Με πολλές δεκάδες tabs ανοικτά και πολλές φορές πάνω από εβδομάδα από restart σε restart, δεν έχω αισθανθει καμία ρεαλιστική διάφορα μεταξύ Firefox και chromium.
  5. Ναι κάτι αντίστοιχο με αυτό του debian έψαχνα. Όπως και αν έχει το έλυσα τσεκαρωντας explicitly αν το conflicting πακέτο είναι εγκατεστημένο πρώτα και αφαιρώντας το αν είναι ανάγκη. https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_facts_module.html Σε ευχαριστώ πολύ πάντως.
  6. Δεν απαντάω αυτόματα ναι σε οποιοδήποτε conflict. Δεν εγραψα πουθενά τέτοιο πράγμα.
  7. Σε ευχαριστώ. Το vim/gvim είναι απλά ένα παράδειγμα. Μπορεί να είναι οποιοδήποτε πακέτο. Το usecase είναι Ansible playbooks. Διαφορετικό playbook για εγκατάσταση CLI apps και διαφορετικό playbook για GUi apps. Το γεγονός ότι δεν υπάρχει κάτι ανάλογο του DEBIAN_FRONTEND=noninteractive και του -y (ή του --force-yes) του apt σημαίνει ότι δεν μπορεί να χρησιμοποιηθεί απλά το pacman role αλλά απαιτείται πιο περίπλοκη λογική ή/και shell workarounds όπως αυτό που πρότεινες.
  8. sudo pacman -S vim --noconfirm resolving dependencies... looking for conflicting packages... :: vim and gvim are in conflict. Remove gvim? [y/N] error: unresolvable package conflicts detected error: failed to prepare transaction (conflicting dependencies) :: vim and gvim are in conflict Έχω εγκατεστημένο το gvim το οποίο κάνει conflict με το vim. Υπάρχει τρόπος να εγκαταστήσω το vim non-interactively? Χωρίς δηλαδή να κάνω confirm? Δεν βλέπω κάποιο flag...
  9. IMHV αυτή είναι μια καλή και ήπια εισαγωγή στο Linux shell https://ubuntu.com/tutorials/command-line-for-beginners#1-overvie
  10. Αν σε ενδιαφέρει να το υλοποιήσεις μόνος σου ίσως αυτή η παρουσίαση να σου φανεί χρήσιμη για το τι εργαλεία μπορείς να χρησιμοποιήσεις https://rhettinger.github.io/
  11. IMHV, αν είναι να βάλεις τόσο περίπλοκο stack βάζεις netdata και τελειώνεις https://github.com/netdata/netdata
  12. αυτό που λέω είναι ότι όταν κάνω `sudo apt install nethogs` το nethogs εγκαθίσταται με συγκεκριμένα capabilities. Οι debian/ubuntu maintainers θα μπορούσαν να προσθέτουν capabilities κατά την εγκατάσταση του nethogs αλλά για δικούς τους λόγους δεν το κάνουν. Όταν τρέχει τώρα η εφαρμογή σου με ρωτά αν θέλω να εγκαταστήσω κάτι με sudo (που ως χρήστης δεν ξέρω τι είναι αυτό) και μετά, behind the scenes, εικάζω ότι εκτελείς κάτι τέτοιο sudo setcap cap_net_admin,cap_net_raw+ep /usr/bin/nethogs H παραπάνω εντολή αλλάζει τα capabilities του binary του nethogs. Το ερώτημα είναι τι δουλειά έχει το δικό σου application να αλλάξει τα capabilities ενός binary που εγκαθίσταται με διαφορετικό πακέτο; BTW, τι συμβαίνει αν ο χρήστης πατήσει "Νο" στο popup?
  13. Θεωρητικά, δεν χρειάζεσαι sudo για να πάρεις τα στατιστικά του network. Μπορείς να τα διαβάσεις κατευθείαν από το /proc ή/και το /sys. Πχ το cat /proc/net/dev θα σου δώσει στατιστικά ανα NIC (Network InterfaCe) Την ίδια πληροφορία νομίζω μπορείς να πάρεις και από το cat /sys/class/net/wlan0/statistics/* # change wlan0 with the name of your NIC όπου είναι μάλλον πιο εύκολο να παρσάρεις το output. Αφού θέλεις στατιστικά και ανά process, γίνεται να τα πάρεις πάλι μέσω του cat /proc/PID/net/netstats # Replace PID with the actual Process ID (δες πχ εδώ), αυτό είναι που κάνει και το nethogs άλλωστε, αλλά θα είναι αρκετή μανούρα να το κάνεις μόνος σου οπότε το να χρησιμοποιήσεις κάποια εφαρμογή/βιβλιοθήκη που το κάνει ήδη είναι η λογική επιλογή. Αν κάνεις setcap στο binary του nethogs, τότε οποιοσδήποτε μπορεί να τρέξει το nethogs χωρίς sudo σωστά; Αν ναι, τότε νομίζω ότι δεν είναι το καλύτερο approach. Προσωπικά, θα με ενοχλούσε αν η εγκατάσταση ενός tool αλλάζε τα permissions ενός άλλου tool απλά με ένα pop-up που δεν εξηγεί τα security implications. Μια άλλη εναλλακτική είναι να χρησιμοποιήσεις το systemd για να δώσεις τα capabilities που χρειάζεσαι η εφαρμογή σου μέσω του AmbientCapabilities. Τσέκαρε εδώ που τα έχει γράψει ο @asfodelus για λεπτομέρειες: https://cerebrux.net/2020/08/27/capabilities-sudo-suid/
  • Δημιουργία νέου...