Σελ. 99 από 149 ΠρώτηΠρώτη ... 798994979899100101104109119 ... ΤελευταίαΤελευταία
Εμφάνιση 1.471-1.485 από 2222
  1. #1471
    Εγγραφή
    17-03-2003
    Περιοχή
    Trondheim
    Μηνύματα
    3.000
    Downloads
    6
    Uploads
    0
    Ταχύτητα
    Γρήγορη είναι
    ISP
    Telenor
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Βρηκα χτες αυτο, που κανει οτι λεω παραπανω, αλλα εχει θεμα με τους ελληνικους χαρακτηρες στα ονοματα
    https://github.com/dharple/detox
    Ναι, αν κοιτάξεις είναι hardcoded για ISO8859-1 και αγγλικούς unicode χαρακτήρες. Πάντως ακόμα και έτσι είναι overkill να φτιάξεις C πρόγραμμα για τέτοια δουλειά αφού γίνεται απευθείας απο το bash. Επίσης είναι abandonware και δεν έχει σχόλια ο κώδικας του, μάλλον περισσότερο με άσκηση φοιτητή μοιάζει. Υπάρχει επίσης το iconv που κάνει μετατροπή απο character set σε character set.

  2. #1472
    Εγγραφή
    06-07-2005
    Περιοχή
    Νέα Υόρκη
    Ηλικία
    49
    Μηνύματα
    11.662
    Downloads
    6
    Uploads
    2
    Τύπος
    Cable
    Ταχύτητα
    300 Mbps down/10 Mbps up
    ISP
    Spectrum
    Σε ένα bash script που μοιάζει έτσι:
    Κώδικας:
    #/bin/bash -e
    
    <some commands here>
    <a command that might crash here, name it cmd1>
    <more commands here>
    θέλω να κάνω το εξής: αν η cmd1 επιστρέψει σφάλμα, να μην πεθάνει το script όπως θα γινόταν σε κανονικές συνθήκες λόγω του -e που έχω βάλει. Θέλω πρώτα να τρέξει μία δεύτερη εντολή και μετά το script να πεθάνει. Κάτι σαν graceful exit. Δοκίμασα αυτό:
    Κώδικας:
    #/bin/bash -e
    
    <some commands here>
    cmd1 || cmd2
    <more commands here>
    Το θέμα είναι όμως ότι το script παίρνει το exit status από την cmd2 και συνεχίζει, εγώ θέλω να σταματήσει. Δοκίμασα τα παρακάτω χωρίς επιτυχία:
    Κώδικας:
    cmd1 || cmd2 && exit 1
    Κώδικας:
    cmd1 || cmd2 ; exit 1
    Help!

    - - - Updated - - -

    Το βρήκα:
    Κώδικας:
    cmd1 || { cmd2 && exit 1; }
    Το είχα δοκιμάσει και αυτό αλλά ξέχναγα το ; στο τέλος, μόλις το έβαλα δούλεψε

  3. #1473
    Εγγραφή
    03-11-2005
    Περιοχή
    Belfast, UK
    Ηλικία
    44
    Μηνύματα
    2.256
    Downloads
    20
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    78Mbps/19Mbps
    ISP
    Plusnet
    Router
    Plusnet Hub One
    @tsigarid, δες και traps μήπως είναι πιο κομψή λύση για το use case σου:

    http://redsymbol.net/articles/bash-exit-traps/
    QSpeedTest - Crossplatform γραφικό tool σε C++ και Qt4 για μέτρηση ping, packet loss και ταχύτητας download της Internet πρόσβασής μας - Download@SourceForge - Thread συζήτησης - Thread δημοσίευσης αποτελεσμάτων

  4. #1474
    Εγγραφή
    06-07-2005
    Περιοχή
    Νέα Υόρκη
    Ηλικία
    49
    Μηνύματα
    11.662
    Downloads
    6
    Uploads
    2
    Τύπος
    Cable
    Ταχύτητα
    300 Mbps down/10 Mbps up
    ISP
    Spectrum
    Παράθεση Αρχικό μήνυμα από parsifal Εμφάνιση μηνυμάτων
    @tsigarid, δες και traps μήπως είναι πιο κομψή λύση για το use case σου:

    http://redsymbol.net/articles/bash-exit-traps/
    Ενδιαφέρον, δεν το ήξερα, θα το κοιτάξω αργότερα (δεν έχω χρόνο τώρα). Δουλεύει και με bash -e; Στα παραδείγματα βλέπω να έχει μόνο bash.

    - - - Updated - - -

    Το είδα, εξαιρετική ιδέα, ευχαριστώ!

  5. #1475
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.493
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Θελω να κανω ενα σκριπτακι που, μεσα στα πολλα που θα κανει για να καταληξει σε ενα grep μιας σειρας, ειναι και το mount ενος iso.
    Κανω λοιπον το φακελο που χρειαζομαι, πχ /mnt/iso, αλλα οταν πανω να κανω mount σαν απλος χρηστης με φτυνει. Γιατι? Με root δουλευει κανονικα.
    Κώδικας:
    $ mkdir /mnt/iso
    $ mount -o loop Win7_Ult_SP1_Greek_x64.iso /mnt/iso/
    mount: /mnt/iso/: mount failed: Operation not permitted.
    ديميتريس

  6. #1476
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.225
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Θελω να κανω ενα σκριπτακι που, μεσα στα πολλα που θα κανει για να καταληξει σε ενα grep μιας σειρας, ειναι και το mount ενος iso.
    Κανω λοιπον το φακελο που χρειαζομαι, πχ /mnt/iso, αλλα οταν πανω να κανω mount σαν απλος χρηστης με φτυνει. Γιατι? Με root δουλευει κανονικα.
    Κώδικας:
    $ mkdir /mnt/iso
    $ mount -o loop Win7_Ult_SP1_Greek_x64.iso /mnt/iso/
    mount: /mnt/iso/: mount failed: Operation not permitted.
    Γιατί δεν έχεις άδεια να το κάνεις mount. Σαν χρήστης μπορείς να κάνεις mount μόνο όσες καταχωρήσεις έχουν οριστεί σαν "user" mountable στο fstab (παλαιότερα πχ οι διανομές είχαν καταχώρηση για το /dev/sr0 ώστε να μπορείς να κάνεις mount το dvdrw). Με sudo ή udisks δοκίμασες;
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  7. #1477
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.493
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Με sudo θα το κανει λογικα, αλλα ο χρηστης δεν ειναι sudo. Με udisks πως γινετια. Στο stackexchange βρηκα τα guestmount και archivemount, που δεν εινια το ιδιο προφανως με το mount, αλλα λογικα θα μου κανει καποιο απο αυτα.
    ديميتريس

  8. #1478
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.225
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Με sudo θα το κανει λογικα, αλλα ο χρηστης δεν ειναι sudo. Με udisks πως γινετια. Στο stackexchange βρηκα τα guestmount και archivemount, που δεν εινια το ιδιο προφανως με το mount, αλλα λογικα θα μου κανει καποιο απο αυτα.
    Δεν μπορώ να το ελέγξω εδώ που είμαι αλλά από την manpage του udisksctl τα βήματα πρέπει να είναι τα παρακάτω:
    Κώδικας:
    1) % udisksctl loop-setup --read-only --file /path/to/file.iso
    Mapped file /path/to/file.iso as /dev/loop2 (το πρώτο ελεύθερο device)
    2) % udisksctl mount --block-device /dev/loop2 (αυτό  που είδες πριν)
    3) κάνεις ό,τι θέλεις
    4) % udisksctl unmount --block-device /dev/loop2
    5) % udisksctl loop-delete --block-device /dev/loop2
    Παρατηρήσεις: Σε κάποιους οδηγούς λέει ότι μπορείς να παραλήψεις το 1) και να τρέξεις μόνο το 2), βάζοντας σαν όρισμα το iso αλλά δεν ξέρω κατά πόσο ισχύει. Επίσης η υποδομή udisks κάνει mount όχι όπου θέλεις, όπως με το mount, αλλά στο /run/χρήστης/"label του iso" και επίσης αλλάζει το umask ώστε να σου ανήκουν όλα τα αρχεία και να μην έχουν περίεργες άδειες το οποίο ίσως να μην σε βολεύει. Παίξε μαζί του και δες αν κάνει αυτό που θέλεις.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  9. #1479
    Εγγραφή
    06-07-2005
    Περιοχή
    Νέα Υόρκη
    Ηλικία
    49
    Μηνύματα
    11.662
    Downloads
    6
    Uploads
    2
    Τύπος
    Cable
    Ταχύτητα
    300 Mbps down/10 Mbps up
    ISP
    Spectrum
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Με sudo θα το κανει λογικα, αλλα ο χρηστης δεν ειναι sudo. Με udisks πως γινετια. Στο stackexchange βρηκα τα guestmount και archivemount, που δεν εινια το ιδιο προφανως με το mount, αλλα λογικα θα μου κανει καποιο απο αυτα.
    Δεν μπορείς να αλλάξεις το fstab; Θα είναι πολύ πιο εύκολο, απλά κάνεις κάτι τέτοιο:
    Κώδικας:
    /dev/cdrom      /mnt/cdrom              auto    noauto,user             0 0
    - - - Updated - - -

    Προφανώς για το /mnt/iso

  10. #1480
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.225
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από tsigarid Εμφάνιση μηνυμάτων
    Δεν μπορείς να αλλάξεις το fstab; Θα είναι πολύ πιο εύκολο, απλά κάνεις κάτι τέτοιο:
    Κώδικας:
    /dev/cdrom      /mnt/cdrom              auto    noauto,user             0 0
    - - - Updated - - -

    Προφανώς για το /mnt/iso
    Θα μπορούσε να κάνει κάτι τέτοιο (βάζοντας και το loop σαν παράμετρο μαζί με το user για σιγουριά αν και θα αναγνωριστεί αυτόματα εκτός αν μιλάμε για αρχαίο πυρήνα και mount) αλλά θα πρέπει να είναι πάντα το ίδιο iso αρχείο. Εγώ υπέθεσα ότι το script του θα χρησιμοποιεί διάφορα iso αρχεία.
    Κώδικας:
    /path/to/file.iso          /mnt/iso            auto    noauto,loop,ro,user      0       0
    Για παράδειγμα κάτι τέτοιο θα λειτουργήσει σαν χρήστης κάνοντας απλά mount /mnt/iso και umount /mnt/iso. Αν όμως θέλεις να είναι διαφορετικό αρχείο κάθε φορά τι μπορεί να κάνει;
    Αν δεν μας ενδιαφέρει η ασφάλεια, τότε μπορεί να γίνει μέσω symlink. Βάζεις την καταχώρηση που έγραψα παραπάνω με το /path/to/file.iso να είναι ένα οποιοδήποτε όνομα θέλεις (αρκεί να είναι σε κατάλογο που έχει άδειες ο χρήστης και όχι σε sticky καταλόγους όπως το /tmp).

    Μετά το script του θα μπορεί να κάνει
    Κώδικας:
    % ln -snf /path/to/πραγματικό.iso /path/to/fstab.iso
    % mount /mnt/iso
    % blah blah
    % umount /mnt/iso
    % rm /path/to/ftsab.iso
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  11. #1481
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.493
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Το entry στο fstab δεν δουλευει για το λογο που ειπε ο imitheos, επειδη δηλαδη καθε φορα θα εινια και διαφορετικο αρχειο. Για τις υπολοιπες λυσεις.
    Αυτη με το udisksctl δεν με βολευει επειδη εχει παρα πολλα πραγματα που πρεπει να γινουν και θα τα κανω μανταρα. Το πακετο που περιεχει το guestmount απαιτει ενα σκασμο εξαρτησεις, οποτε απορριπτεται. Και το archivemount με πρηζει με αυτο
    Κώδικας:
    $ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /mnt/iso/
    fusermount: failed to open /etc/fuse.conf: Permission denied
    fusermount: user has no write access to mountpoint /mnt/iso
    και με αυτο οταν καενι το mount κανονικα
    Κώδικας:
    $ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /tmp/iso/
    $ ls /tmp/iso/
    README.TXT
    $ cat /tmp/iso/README.TXT 
    This disc contains a "UDF" file system and requires an operating system
    that supports the ISO-13346 "UDF" file system specification.
    ديميتريس

  12. #1482
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.225
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Το entry στο fstab δεν δουλευει για το λογο που ειπε ο imitheos, επειδη δηλαδη καθε φορα θα εινια και διαφορετικο αρχειο. Για τις υπολοιπες λυσεις.
    Αυτη με το udisksctl δεν με βολευει επειδη εχει παρα πολλα πραγματα που πρεπει να γινουν και θα τα κανω μανταρα. Το πακετο που περιεχει το guestmount απαιτει ενα σκασμο εξαρτησεις, οποτε απορριπτεται. Και το archivemount με πρηζει με αυτο
    Κώδικας:
    $ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /mnt/iso/
    fusermount: failed to open /etc/fuse.conf: Permission denied
    fusermount: user has no write access to mountpoint /mnt/iso
    και με αυτο οταν καενι το mount κανονικα
    Κώδικας:
    $ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /tmp/iso/
    $ ls /tmp/iso/
    README.TXT
    $ cat /tmp/iso/README.TXT 
    This disc contains a "UDF" file system and requires an operating system
    that supports the ISO-13346 "UDF" file system specification.
    Δεν ξέρω αν μπορεί να συνυπάρξει iso με udf αλλά αυτό μου δίνει την εντύπωση ότι το iso είναι UDF, όπως σου λέει άλλωστε, και έχει για λόγους συμβατότητας και ένα ISO9660 filesystem το οποίο περιέχει μόνο ένα README και ενημερώνει τον χρήστη για το UDF. Βλέποντας λοιπόν ότι το archivemount χρησιμοποιεί το FUSE, μήπως υποστηρίζει μόνο ISO αρχεία και δεν μπορεί να κάνει mount UDF αρχεία; Ίσως λέω χαζομάρα φυσικά.

    Αν το script πρόκειται για δική σου κατανάλωση οπότε δεν σε καίει η ασφάλεια, κάνε αυτό που είπα πριν με την symlink. Βάλε στο fstab ένα όνομα που σε βολεύει και μετά κάνε symlink το εκάστοτε αρχείο με αυτό το όνομα και θα μπορείς να το κάνεις mount / unmount αρκεί να μην το κάνεις στο /tmp/iso όπως το έκανες εδώ. Έχω την εντύπωση ότι για λόγους ασφαλείας δεν μπορεί να δουλέψει σε sticky καταλόγους αλλά ίσως το μπερδεύω με κάτι άλλο.

    Edit: Ναι, έτσι είναι αλλά όχι ακριβώς όπως το θυμόμουν. Δοκίμασα τους παρακάτω 4 συνδυασμούς:
    Κώδικας:
    /tmp/l1.iso     /mnt/iso1               auto    noauto,ro,user,loop                                     0       0
    /home/user/l2.iso     /mnt/iso2       auto    noauto,ro,user,loop                                     0       0
    /tmp/l3.iso     /tmp/iso1        auto    noauto,ro,user,loop                                     0       0
    /home/user/l4.iso     /tmp/iso2       auto    noauto,ro,user,loop                                     0       0
    Τα l1 (iso σε sticky κατάλογο αλλά με κανονικό mount point) , l3 (sticky iso, mount point σε sticky) γίνονται κανονικά mount αλλά δεν μπορούν να γίνουν το unmount ("must be superuser to unmount."). Αντίθετα, τα l2 (iso σε κανονικό κατάλογο με κανονικό mount point), l4 (iso σε κανονικό κατάλογο με mount point σε sticky) γίνονται κανονικά και mount και umount. Οπότε δεν ισχύει αυτό που σου είπα για το /tmp/iso.

    Η μόνη προϋπόθεση για να δουλέψει είναι το symlink που θα ορίσεις στο fstab να υπάρχει σε κατάλογο που σου ανήκει.
    Τελευταία επεξεργασία από το μέλος imitheos : 04-01-21 στις 13:21.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  13. #1483
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.493
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Το σκριπτ ειναι για μενα ναι. Δεν με πειραζει να κανω ολη τη διαδικασια (αλλαγη σε root, mount, τρεξιμο του wiminfo σε ενα συγκεκριμενο αρχειο του iso, grep για να παρω αυτο που θελω, unmount, εξοδος απο root), αλλα ειναι βαρετη.

    Γιατι δεν μπορω να το κανω ομως mount, ειτε στο /mnt/iso ειτε στο /tmp/iso, αφου εγω εκανα τους φακελους?

    Τελος, αυτο που λες με τα symlinks μου φαινετια ακομα πιο βουνο απο το αλλο με το udisks.
    Εχω και τον lighttpd που μου χαλασε και δεν μπορω να συγκεντρωθω σε ενα πραγμα!
    ديميتريس

  14. #1484
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Με sudo θα το κανει λογικα, αλλα ο χρηστης δεν ειναι sudo. Με udisks πως γινετια. Στο stackexchange βρηκα τα guestmount και archivemount, που δεν εινια το ιδιο προφανως με το mount, αλλα λογικα θα μου κανει καποιο απο αυτα.
    Υπάρχει κάποιος αντικειμενικός λόγος, που δεν θέλεις να χρησιμοποιήσεις το sudo;
    NetBSD Rocks!
    http://www.netbsd.org

  15. #1485
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.493
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Ο χρηστης δεν ειναι sudo και δεν θελω να του δωσω sudo γιατι στο συγκεκριμενο συστημα εκτελουνται αρκετα.
    Επισης, ακομα και αν ηταν sudo, το σκριπτ θα σταματαει για να μου ζητησει τον κωδικο οταν τον χρειαζεται ή θα πρεπει να το τρεχω με sudo sh blablabla?
    ديميتريس

Σελ. 99 από 149 ΠρώτηΠρώτη ... 798994979899100101104109119 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Βοήθεια για ένα απλό bash script
    Από AddictedToChaos στο φόρουμ Unix - Linux
    Μηνύματα: 34
    Τελευταίο Μήνυμα: 22-07-11, 01:57
  2. bash - matlab
    Από simeon.mattes στο φόρουμ Unix - Linux
    Μηνύματα: 25
    Τελευταίο Μήνυμα: 25-06-08, 23:00
  3. Bash Script help (Αρχάριος)
    Από weakwire στο φόρουμ Unix - Linux
    Μηνύματα: 12
    Τελευταίο Μήνυμα: 08-05-07, 00:41
  4. bash rename (mv)
    Από hayzel στο φόρουμ Unix - Linux
    Μηνύματα: 6
    Τελευταίο Μήνυμα: 07-01-07, 16:33

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας