Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

...εγκαταστάσεις, αναβαθμίσεις, διαχείριση partitions, boot-loader, κλπ

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Στην ενότητα αυτή γράφουμε θέματα/ προβλήματα μόνο για το UBUNTU ή τα παράγωγά του.

Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Tassos10 » 26 Οκτ 2017, 11:02

Κάθε φορά που εγκαθιστώ λογισμικό στον υπολογιστή μου ( που δεν είναι σε PPA ) , αναρωτιέμαι αν το εγκαθιστώ με τα ενδεδειγμένα πρότυπα που θα έπρεπε. Για αυτό το λόγο θα ήθελα να συζητήσουμε αυτό το θέμα εδώ.

Λοιπόν εγώ όταν εγκαθιστώ μια εφαρμογή στο « /opt/ », έπειτα επειδή θα την τρέχει ο απλός χρήστης και για να μην έχω προβλήματα όταν μου ζητάει ενημέρωση ή αναβάθμιση η εφαρμογή, δίνω όλα τα δικαιώματα του καταλόγου όπου έχει εγκατασταθεί η εφαρμογή, στον χρήστη μου, με την παρακάτω εντολή :

Κώδικας: Επιλογή όλων
chown -R myUser:myUser /opt/a_software


Όμως δεν ξέρω αν αυτό ενδείκνυται και αν είναι το σωστό. Βλέπω σε άλλα προγράμματα που είναι εγκατεστημένα στον κατάλογο « /opt/ » πως δεν δίνουν δικαιώματα στον απλό χρήστη εντός του καταλόγου της εφαρμογής, μονάχα ( αν δε κάνω λάθος ) φροντίζουν να έχουν δικαιώματα 755.

Ποια είναι η άποψη σας;
Ευχαριστώ εκ των προτέρων. :)
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Maras » 26 Οκτ 2017, 11:31

Τα δικαιώματα 755 είναι το default για τον φάκελο /opt, αν θέλεις ρίξε και μια ματιά στα παρακάτω link https://stackoverflow.com/questions/17557013/linux-opt-folder-and-permissions
https://bbs.archlinux.org/viewtopic.php?id=35867
https://superuser.com/questions/505870/installing-software-to-usr-opt-needs-permission-to-run-the-software
“Long is the way, and hard, that out of hell leads up to light.”
Άβαταρ μέλους
Maras
saintTUX
saintTUX
 
Δημοσιεύσεις: 1451
Εγγραφή: 25 Ιούλ 2017, 12:49
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Tassos10 » 26 Οκτ 2017, 21:12

Σε ευχαριστώ πολύ φίλε για την απάντηση.

Τα δικαιώματα οκ το καταλαβαίνω, ο ιδιοκτήτης όμως ;

π.χ. Ίσως σας έχει τύχει να εγκαταστήσετε μια εφαρμογή, η οποία θέλει να κάνει ενημέρωση ή αναβάθμιση και ο απλώς χρήστης που από τον οποίο τρέχετε την εφαρμογή να μην έχει αυτό το δικαίωμα.
Από την μια θα μου πείτε, οκ δε το βρίσκω λάθος για λόγους ασφαλείας, να τρέξεις την εφαρμογή σαν διαχειριστής ώστε να μπορείς να το κάνεις αυτό.
Από την άλλη όμως, εφαρμογές όπως π.χ. το Android Studio και άλλες, αν τις τρέξεις σαν διαχειριστής δημιουργούν και άλλα αρχεία στον προσωπικό φάκελο του διαχειριστή τα οποία δε χρειάζονται ( γεμίζουν ας πούμε με σκουπίδια το σύστημα ).

Για αυτό το λόγο το λέω.. :problem: :?:
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό the_eye » 28 Οκτ 2017, 10:45

Καλό είναι η εγκατάσταση να γίνεται από κάποιον διαχειριστή πακέτων.
Έτσι ώστε να αναβαθμιστεί όταν βρεθεί νέα έκδοση ή να μπορεί να αφαιρεθεί σωστά.

Η περισσότερες εφαρμογές είναι στα αποθετήρια της διανομής και κάποιες βρίσκονται σε ιδιωτικά αποθετήρια 3των τα ppa.
Αν κάνουμε εμείς compile κάποια εφαρμογή από τον πηγαίο κώδικά της τότε μπορούμε με το sudo make install να την εγκαταστήσουμε στο σύστημά μας.

Καμία εφαρμογή δεν πρέπει να απαιτεί να τρέξει ως διαχειριστής, εκτός από αυτές που πρέπει να διαχειριστούν πράγματα στο σύστημα.
Για παράδειγμα αν πρέπει να τρέξει το Android Studio ως διαχειριστείς για να δουλέψει, τότε κάτι δεν έχει γίνει σωστά.
Επιπλέον οι γραφικές εφαρμογές πρέπει να τρέχουν με το gksudo και όχι με το sudo.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Tassos10 » 29 Οκτ 2017, 17:59

Για μερικά προγράμματα όπως ο Eclipse IDE , JetBrains, Android Studio, Atom Text editor, Nextcloud client.... κλπ. δεν υπάρχουν επίσημη αποθετήρια ή και να υπάρχουν μπορεί να υπάρχουν μόνο για το Ubuntu και όχι για το Debian.
Εγώ εδώ θα ήθελα να το πάμε λοιπόν πιο γενικός, ώστε να μάθουμε όλοι λίγο περισσότερο το Linux. Οπότε π.χ. αν έχουμε μια Debian διανομή και θέλουμε να εγκαταστήσουμε τις παραπάνω εφαρμογές;

Όσο για αυτό που λες φίλε @the_eye, ίσος εγώ σας μπέρδεψα.
π.χ. σε εμένα το Android studio δεν έχω πρόβλημα να τρέχω ως απλώς χρήστης.
Το πρόβλημα προκύπτει απλώς όταν υπάρχουν ενημερώσεις σε αυτό. Τότε θα πρέπει να είμαι ο super users ώστε να μπορώ να τις κάνω.
Που.. οκ ακούγετε λογικό για τις ενημερώσεις.. αλλά αναρωτιέμαι γενικός τι είναι το καλύτερο..

the_eye έγραψε:Επιπλέον οι γραφικές εφαρμογές πρέπει να τρέχουν με το gksudo και όχι με το sudo.

Αυτό γιατί το αναφέρεις ; Δε σε καταλαβαίνω... Το «gksudo» κιόλας, δεν υπάρχει στο Debian.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό the_eye » 29 Οκτ 2017, 18:16

Το debian που βρέθηκε ! Μήλας για ppa και στην υπογραφή λες ubuntu !

https://help.ubuntu.com/community/RootS ... hical_sudo
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Tassos10 » 29 Οκτ 2017, 20:25

the_eye έγραψε:Το debian που βρέθηκε ! Μήλας για ppa και στην υπογραφή λες ubuntu !

https://help.ubuntu.com/community/RootS ... hical_sudo


Το Ubuntu βασίζεται στο Debian. Και εγώ εδώ ερωτώ ώστε να μάθουμε καλύτερα τις πρακτικές εγκατάστασης στο GNU/Linux Debian based distribution.
Συγκεκριμένα για εφαρμογές open source ( ή και μη ) οι οποίες δεν υπάρχουν σε αποθετήρια και πρέπει να τις κάνουμε εμείς εγκατάσταση.

Off topic:
Ποια η διαφορά ( πέρα του sudo ) στον τρόπο εγκατάστασης εφαρμογών τρίτων που δεν υπάρχουν σε αποθετήρια, ανάμεσα σε Debian και Ubuntu ;
Ας μη το πάμε λοιπόν εκεί.
Όσο για την υπογραφή μου, έχεις δίκιο, αλλά είναι πολύ παλιά. Anyway.. ελπίζω να ξεκαθάρισα το ερώτημα μου... Με συγχωρείτε αν σας μπέρδεψα, δεν είχα τέτοια πρόθεση.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Learner » 29 Οκτ 2017, 22:38

Tassos10 έγραψε:Λοιπόν εγώ όταν εγκαθιστώ μια εφαρμογή στο « /opt/ », έπειτα επειδή θα την τρέχει ο απλός χρήστης....

Τις εφαρμογές που θέλεις να τρέχει ο απλός χρήστης να μην τις κάνεις εγκατάσταση στο /opt. Κάνε τις εγκατάσταση σε ένα υποκατάλογο που θα δημιουργήσεις στο /home/user/ . Πχ, /home/user/bin.

Διάβασε το FHS για να σου λυθούν τέτοιες απορίες και μην πειράζεις τα default δικαιώματα / ownerships ...κλπ. Βέβαια είσαι ελεύθερος να πειράξεις και να αλλάξεις ότι γουστάρεις, αλλά δεν είναι αυτός ο ενδεδειγμένος τρόπος εγκατάστασης λογισμικού τρίτων (που δεν υπάρχει σε PPA ή άλλα αποθετήρια).

Επίσης λάβε υπόψη σου ότι το FHS δεν το τηρούν οι περισσότερες εκ των διανομών, πλέον.
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9765
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό the_eye » 29 Οκτ 2017, 23:06

Tassos10 έγραψε:Το Ubuntu βασίζεται στο Debian. Και εγώ εδώ ερωτώ ώστε να μάθουμε καλύτερα τις πρακτικές εγκατάστασης στο GNU/Linux Debian based distribution.
Συγκεκριμένα για εφαρμογές open source ( ή και μη ) οι οποίες δεν υπάρχουν σε αποθετήρια και πρέπει να τις κάνουμε εμείς εγκατάσταση.


Το ubuntu σωστά λες ότι βασίζεται στο debian, όμως τα ppa είναι μια δημιουργία του ubuntu, που δεν είναι σίγουρο αν θα παίξουν στο debian, γιατί υπάρχουν διαφορετικές εξαρτήσεις.
Για την εγκατάσταση εφαρμογών του debian και στα παράγωγά του είναι τα πακέτα .deb. Αυτά με κάποιον διαχειριστή πακέτων, ο οποίος μπορεί να βρει και τις εξαρτήσεις, να τα εγκαταστήσει. Αυτός είναι ο ενδεδειγμένος τρόπος.

Το κλειστό λογισμικό, έχει τελείως διαφορετική λειτουργία και συνήθως έχει κάποιο εκτελέσιμο binary αρχείο, που κάνει ότι θέλει στο σύστημά μας. Για αυτό δεν τα προτιμούμε. Δες και εδώ viewtopic.php?f=9&t=32789#p340390
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Ενδεδειγμένος τρόπος εγκατάστασης λογισμικού.

Δημοσίευσηαπό Tassos10 » 30 Οκτ 2017, 00:28

Μάλιστα φίλε @Learner, όσα μας λες είναι ιδιαίτερα ενδιαφέρουσα ( ακόμη και το ότι «το FHS δεν το τηρούν οι περισσότερες εκ των διανομών, πλέον». )
Πάντως οκ.. ναι στο το GNU/Linux έχουμε την δυνατότητα να κάνουμε ότι μας αρέσει, ότι ξέρουμε και δε ξέρουμε με ότι αυτό συνεπάγεται ή όχι στην εκάστοτε περίπτωση. Απλώς εγώ επειδή είμαι λίγο πιο τυπικός τύπος, μου αρέσει κάποια πράγματα να τα μαθαίνω και να τα έχω όσο γίνεται με τον πιο ενδεδειγμένο «standard» τρόπο.
Παραδείγματος χάριν, να έχουμε ένα σωστά δομημένο σύστημα και όχι ένα αλλοπρόσαλλα δομημένο, τόσο ώστε μπορεί κάποιος εντελώς άπειρος να δημιουργεί ακόμη και κενά ασφαλείας στο σύστημα του ( το τραβάω, αλλά καταλαβαίνεται τι εννοώ ).

Όσο τώρα για αυτό που αναφέρω «επειδή θα την τρέχει ο απλός χρήστης», νομίζω πως επίσης δε πρέπει να κολλήσουμε σε αυτό, διότι αρκετές από τις εφαρμογές που εγκαθιστά κάποιος, τις εγκαθιστά ώστε να της χρησιμοποιεί σαν απλώς χρήστης.

@the_eye όντως συμφωνώ μαζί σου σε όλα αυτά που λες και σε ευχαριστώ πολύ για τη χρήση του εργαλείου «strace» που μου προτείνεις να δω. Πραγματικά είναι απίστευτο εργαλείο και δε το γνώριζα! Σε ευχαριστώ πολύ!

Πάντως παιδιά, μήπως εν τέλει το κουράζω το θέμα
Αφού :
* είτε τα προγράμματα που απλώς δίνουν ένα .deb αρχείο ή
* ακόμη και εκείνα που αναφέρουν να κάνεις unzip κάπου το συμπιεσμένος τους αρχείο ( και το κάνω εγώ στον /opt/ ) και
* γενικός όσα βρίσκονται στον /opt/ ακόμη και μέσω PPA όλα αυτά ανήκουν στον χρήστη root και την ομάδα root και έχουν δικαιώματα 755.
Οπότε και εγώ μάλλον την ίδια σύμβαση θα πρέπει να ακολουθώ και να μην δίνω « chown -R myUser:myUser /opt/a_software ».

Απλώς όπως σας είπα κάποια προγράμματα όπως οι Integrated Development Environments, μπορεί αν τους τρέχω σαν root user, απλώς ακόμη και για την πρώτη εκκίνηση ή όταν χρειάζονται ενημέρωση, δημιουργούν κάποια σαν αρχεία ρυθμίσεων. Έτσι εγώ μέχρι στιγμής από το να υπάρχουν και στον προσωπικό κατάλογο του root τα άσκοπα αυτά αρχεία, και μετά να ξανά δημιουργούνται στον απλό χρήστη ( όταν θα τρέξω το πρόγραμμα μετά ), έδινα κατευθείαν στον απλό χρήστη το δικαίωμα να κάνει ότι θέλει εντός του καταλόγου της εγκατάστασης.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Επόμενο

Επιστροφή στο Λειτουργικό Σύστημα

cron