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

[INFO] ARCH Linux: Απόψεις, Ερωτήσεις, Σχόλια


jemadux

Προτεινόμενες αναρτήσεις

 

9 λεπτά πριν, becoming_I είπε

Τώρα αν εγώ πω για το Archon που έχουμε φτιάξει ρε @mphxths θα έχω άδικο :P

Χρησιμοποιώντας έναν εγκαταστάτη, θα έχουν μεν ένα βασικό σύστημα, που στη συγκεκριμένη περίπτωση δεν είναι ακριβώς το Arch, θα εξακολουθούν όμως να μην έχουν την απαιτούμενη εμπειρία και γνώση που χρειάζεται η διαχείρισή του.

Αν αναζητήσουν βοήθεια στο forum του Arch, οι άνθρωποι εκεί θα τους την αρνηθούν και καλά θα κάνουν, αφού δε μπορούν να ξέρουν τι στο καλό περιέχει η custom διανομή σου και δεν την υποστηρίζουν, όπως δεν υποστηρίζουν και άπειρους χρήστες που δε θέλουν καν να κάνουν τον «κόπο» να ακολουθήσουν τον επίσημο οδηγό εγκατάστασης.

Έτσι όμως καταναλώνεται χώρος στο forum για τις ερωτήσεις των άπειρων χρηστών, που δε θα έπρεπε καν να βρίσκονται εκεί, αλλά και πολύτιμος χρόνος των μελών μέχρι να καταλάβουν ότι ο τάδε χρήστης δεν εγκατέστησε το Arch αλλά κάτι custom.

Οποιος καταλαβε καταλαβε :D 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

θελω ορισμές φορές ορισμένες φορές εντολές με το sudo χωρίς να βάλω το κωδικό .. 

έχω αλλάξει το /etc/sudoers με τις εντολές που θέλω .. αλλά μετά ζητάει κωδικό . 

υπάρχει κάποιος τρόπος να γίνει αυτό; 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

14 λεπτά πριν, jemadux είπε

θελω ορισμές φορές ορισμένες φορές εντολές με το sudo χωρίς να βάλω το κωδικό .. 

έχω αλλάξει το /etc/sudoers με τις εντολές που θέλω .. αλλά μετά ζητάει κωδικό . 

υπάρχει κάποιος τρόπος να γίνει αυτό; 

Για ριξε την συνταξη που χρησιμοποιησες στο suoders να δουμε τι γινεται...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##

##
## Host alias specification
##
## Groups of machines. These may include host names (optionally with wildcards),
## IP addresses, network numbers or netgroups.
# Host_Alias    WEBSERVERS = www1, www2, www3

##
## User alias specification
##
## Groups of users.  These may consist of user names, uids, Unix groups,
## or netgroups.
# User_Alias    ADMINS = millert, dowdy, mikef

##
## Cmnd alias specification
##
## Groups of commands.  Often used to group related commands together.
# Cmnd_Alias    PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
#                 /usr/bin/pkill, /usr/bin/top
# Cmnd_Alias    REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff

##
## Defaults specification
##
## You may wish to keep some of the following environment variables
## when running commands via sudo.
##
## Locale settings
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
##
## Run X applications through sudo; HOME is used to find the
## .Xauthority file.  Note that other programs use HOME to find   
## configuration files and this may lead to privilege escalation!
# Defaults env_keep += "HOME"
##
## X11 resource path settings
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
##
## Desktop path settings
# Defaults env_keep += "QTDIR KDEDIR"
##
## Allow sudo-run commands to inherit the callers' ConsoleKit session
# Defaults env_keep += "XDG_SESSION_COOKIE"
##
## Uncomment to enable special input methods.  Care should be taken as
## this may allow users to subvert the command being run via sudo.
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Uncomment to use a hard-coded PATH instead of the user's to find commands
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
##
## Uncomment to send mail if the user does not enter the correct password.
# Defaults mail_badpass
##
## Uncomment to enable logging of a command's output, except for
## sudoreplay and reboot.  Use sudoreplay to play back logged sessions.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output
Defaults insults

##
## Runas alias specification
##

##
## User privilege specification
##
root ALL=(ALL) ALL

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo    ALL=(ALL) ALL

## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw  # Ask for the password of the target user
# ALL ALL=(ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'

## Read drop-in files from /etc/sudoers.d
@includedir /etc/sudoers.d
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/packer -Syu,/usr/bin/packer -Syyu,/usr/bin/systemctl restart NetworkManager,/usr/bin/rc-service NetworkManager restart,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/yay,/usr/bin/pacman -Syyuw --noconfirm 


 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

@jemadux Να αρχισουμε απο τα βασικα

1. Ο χρηστης ανηκει στο wheel ?
2. Χρησιμοποιεις το visudo για να γραψεις στο /etc/sudoers ?

H συνταξη δειχνει σωστη. Δοκιμασα κατι παρομοιο , αλλα με μια εντολη αντι για πολλες μαζι και αντι %wheel , το username μου και δουλεψε κανονικα. Εβαλα και το %wheel και δουλεψε και με αυτο.
Δοκιμασε τις 2 εντολες εκει στο τελος αντι του %wheel , με το username σου.
Δοκιμασε την δευτερη  ως :
 

%wheel ALL=(ALL) NOPASSWD: ALL

για να δουμε αν δουλευει γενικως για ολες τις εντολες.

Παντα χρησιμοποιουμε το visudo ΠΟΥ ΚΑΝΕΙ ERROR CORRECTION/DETECTION.

Επεξ/σία από mphxths
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
27 λεπτά πριν, mphxths είπε

@jemadux Να αρχισουμε απο τα βασικα

1. Ο χρηστης ανηκει στο wheel ?
2. Χρησιμοποιεις το visudo για να γραψεις στο /etc/sudoers ?

H συνταξη δειχνει σωστη. Δοκιμασα κατι παρομοιο , αλλα με μια εντολη αντι για πολλες μαζι και αντι %wheel , το username μου και δουλεψε κανονικα. Εβαλα και το %wheel και δουλεψε και με αυτο.
Δοκιμασε τις 2 εντολες εκει στο τελος αντι του %wheel , με το username σου.
Δοκιμασε την δευτερη  ως :
 



%wheel ALL=(ALL) NOPASSWD: ALL

για να δουμε αν δουλευει γενικως για ολες τις εντολες.

Παντα χρησιμοποιουμε το visudo ΠΟΥ ΚΑΝΕΙ ERROR CORRECTION/DETECTION.

λοιπόν το συστήμα είναι του luke smith . και αυτο με το sudoers ειναι ετσι όταν βαζεις το δικο του 
αυτοματο script .και το /etc/sudoers το ειχε ως default .  το ίδιο παθαινα οταν χρησιμοποιούσα το συστημα του στο artix . 

Στο προκείμενο .. αμα βάλω 
 

%wheel ALL=(ALL) NOPASSWD: ALL

στα πάντα ολα δεν ζητάει κωδικό . το wheel group μπαίνει αυτόματα .. 
για το λογο του αληθές 

[jemadux@cryptolab ~]$ groups
sambausers wheel
[jemadux@cryptolab ~]$

 

οταν την τελευταία γραμμή αντικατέστησα με το username ζητούσε κωδικό . 
 

Επεξ/σία από jemadux
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

3 λεπτά πριν, jemadux είπε

λοιπόν το συστήμα είναι του luke smith

Δεν θελω καν να ξερω τι σημαινει αυτο...
Το αρχειο το επεξεργαζεσαι με το visudo ? Αν εχει γινει λαθος στην συνταξη καπου θα στο πει. Αν το παιζεις χακερας και το επεξεργαζεσαι με vim/nano και γινει συντακτικο λαθος..το εχασες.
Στην γραμμη με τις πολλες εντολες ασε μονο μια και παιξε μια με το %wheel , μια με το username . Κανονικα πρεπει να δουλευει και με τα δυο. Μετα προσθεσε δευτερη,τριτη,κλπ εντολες.

Παρεπιπτοντως καποιες εντολες δεν θελουν sudo (σε archlinux) , οπως π.χ. το shutdown/reboot . Σε archlinux απο τερματικο τραβαω reboot ετσι στεγνα , χωρις sudo και το κανει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 5 μήνες μετά...
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...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, pmav99 είπε

Έχω εγκατεστημένο το gvim το οποίο κάνει conflict με το vim.

Υπάρχει τρόπος να εγκαταστήσω το vim non-interactively? Χωρίς δηλαδή να κάνω confirm? Δεν βλέπω κάποιο flag...

Θα έπρεπε να είναι αυτονόητο αλλά το gvim παρέχει και το vim, οπότε δε γίνεται (και δεν υπάρχει λόγος) να εγκαταστήσεις και τα δύο πακέτα ταυτόχρονα.

Αν τώρα ρωτάς πώς να διαλύσεις μακροπρόθεσμα το σύστημά σου με το --noconfirm, μπορείς να δοκιμάσεις κάτι σαν το yes | sudo pacman -S paketo --noconfirm.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Σε ευχαριστώ. Το vim/gvim είναι απλά ένα παράδειγμα. Μπορεί να είναι οποιοδήποτε πακέτο. Το usecase είναι Ansible playbooks. Διαφορετικό playbook για εγκατάσταση CLI apps και διαφορετικό playbook για GUi apps. Το γεγονός ότι δεν υπάρχει κάτι ανάλογο του DEBIAN_FRONTEND=noninteractive και του -y (ή του --force-yes) του apt σημαίνει ότι δεν μπορεί να χρησιμοποιηθεί απλά το pacman role αλλά απαιτείται πιο περίπλοκη λογική ή/και shell workarounds όπως αυτό που πρότεινες.

Επεξ/σία από pmav99
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 ώρες πριν, pmav99 είπε

Το γεγονός ότι δεν υπάρχει κάτι ανάλογο του DEBIAN_FRONTEND=noninteractive και του -y (ή του --force-yes) του apt σημαίνει ότι δεν μπορεί να χρησιμοποιηθεί απλά το pacman role αλλά απαιτείται πιο περίπλοκη λογική ή/και shell workarounds όπως αυτό που πρότεινες.

Υπήρχε παλιότερα το --force και πλέον έχει γίνει --overwrite="*" αλλά δε νομίζω να απαντάει σε τέτοια conflicts. Περισσότερο δουλεύει αν κάποιο πακέτο θέλει να δημιουργήσει αρχεία που υπάρχουν ήδη στο σύστημα. Δε μπορώ να σκεφτώ ένα λογικό usecase που να χρειάζεται εξαναγκασμό εγκατάστασης. Το --noconfirm βοηθά να προσπερνάς τις απαντήσεις όπου δεν υπάρχει πρόβλημα. Αν όμως απαντάς αυτόματα yes σε οποιοδήποτε conflict, με μαθηματική ακρίβεια θα διαλύσεις το σύστημα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, pmav99 είπε

Δεν απαντάω αυτόματα ναι σε οποιοδήποτε conflict. Δεν εγραψα πουθενά τέτοιο πράγμα.

Δεν το έγραψες αλλά αυτό προκύπτει ως συμπέρασμα αν δε σε καλύπτει η τυπική λειτουργία του --noconfirm και αναφέρεσαι σε --force-yes και τα σχετικά. Στην περίπτωση του Arch, δεν είναι ποτέ ορθό το να εξαναγκάζεις την επίλυση ενός conflict. Ενδεχομένως να θέλεις μια λειτουργία που την έχει το Debian αλλά όχι και το Arch. Ακόμα και το DEBIAN_FRONTEND=noninteractive που ανέφερες, δεν απαντάει yes στα πάντα αλλά απλά δέχεται την προεπιλεγμένη απάντηση, που σε μια σοβαρή διανομή είναι και η πιο ασφαλής.

Να το θέσω πιο απλοποιημένα: στο Arch, όταν υπάρχει conflict ολόκληρων πακέτων και όχι απλά αρχείων, δεν κάνουμε ποτέ και με κανέναν τρόπο force, overwrite ή οτιδήποτε παρεμφερές γιατί θα σπάσει το σύστημα. Δεν το επιτρέπει ο pacman, δεν υπάρχει καν αυτή η δυνατότητα και τα PKGBUILDS έχουν το array «conflicts» για κάποιον λόγο. Δες και μια σχετική ερώτηση που είχε γίνει παλιότερα στο forum του Arch.

Μπορείς να περιγράψεις κάπως καλύτερα αυτό που θέλεις να κάνεις για να δούμε αν υπάρχει τρόπος να γίνει στο Arch.

Επεξ/σία από Soulrain
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι κάτι αντίστοιχο με αυτό του debian έψαχνα. Όπως και αν έχει το έλυσα τσεκαρωντας explicitly αν το conflicting πακέτο είναι εγκατεστημένο πρώτα και αφαιρώντας το αν είναι ανάγκη.

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_facts_module.html

Σε ευχαριστώ πολύ πάντως.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

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

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...