Table of Contents
- Συχνές ερωτήσεις (FAQ)
- Δουλεύει ο slacker σε Slackware 15.0;
- Μπορεί ο slacker ν' αναβαθμίσει το σύστημά μου σε νέα έκδοση Slackware;
- Το install/upgrade αρνείται ένα πακέτο, λέγοντας ότι το repo στοχεύει άλλη έκδοση.
- Πρέπει ν' αντιγράψω αρχεία ρυθμίσεων μετά την εγκατάσταση;
- Πώς διαλέγω γρήγορο, ενημερωμένο mirror;
- Το update λέει ότι τα πακέτα ενός repo δεν κατεβαίνουν (διπλή διαδρομή σαν .../extra/extra/...).
- error: repos: ... duplicate priority
- error: repos: ... two active mirrors / «no mirror»
- Γιατί το upgrade-all δεν αναβάθμισε το SBo / alienbob πακέτο μου, ενώ υπάρχει νεότερη έκδοση;
- Μια αναβάθμιση -current χάλασε ένα πακέτο — μπορώ να το γυρίσω πίσω;
- Πώς αφαιρώ έναν κανόνα από το blacklist;
- Το install-new μου προτείνει συνέχεια πράγματα που αφαίρεσα / δεν προτείνει ποτέ ένα πακέτο που αφαίρεσα.
- Το history emacs δε δείχνει τίποτα, αλλά το πακέτο είναι εγκατεστημένο.
- Το history δείχνει μια αναβάθμιση ως old → new για κάτι που είμαι σίγουρος ότι αφαιρέθηκε.
- Ένα repo είναι σε quarantine και δεν παρέχει πακέτα.
- «key-substitution attack» / ένα κλειδί δεν εισάγεται.
- Πώς κρατάω τα πακέτα extra/testing/patches από το να τα αφαιρεί το clean-system;
- Τα install * / remove * / history * δεν κάνουν αυτό που περιμένω.
- Μπορώ να τρέχω queries ως απλός χρήστης;
- Μια εντολή λέει ότι τρέχει άλλο instance.
- Τα χρώματα χαλάνε τα logs / το terminal μου.
- Πώς αναφέρω bug ή ζητώ feature;
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE
Συχνές ερωτήσεις (FAQ)
Συχνές ερωτήσεις κι επίλυση προβλημάτων. Δες επίσης Configuration, Security, και Repositories and Priority.
Δουλεύει ο slacker σε Slackware 15.0;
Όχι — και δε θα δουλέψει ποτέ. Ο slacker στοχεύει στο Slackware -current: 64-bit (x86_64) και, από την 0.9.0, 32-bit (i586/i686). Δες Status and Roadmap.
Μπορεί ο slacker ν' αναβαθμίσει το σύστημά μου σε νέα έκδοση Slackware;
Ναι — αυτό είναι το slacker upgrade-dist {current|VERSION}. Ξαναδείχνει το mirror
και τα repos σου στην έκδοση-στόχο κι αντικαθιστά κάθε πακέτο με το build του στόχου
(η μία εντολή που σκόπιμα παρακάμπτει το μοντέλο προτεραιότητας), μετά τρέχει
install-new + clean-system και σου θυμίζει για τον kernel πριν κάνεις reboot. Πάντα
δοκίμασέ το πρώτα με --dry-run και κράτα backups. Σημείωσε ότι για ν' αναβαθμίσεις
σύστημα 15.0 χρειάζεσαι binary slacker που τρέχει στην παλιότερη glibc του
15.0 (το διανεμόμενο πακέτο είναι χτισμένο για -current)· κι η επιλογή τοπικής
πηγής (DISTRO_UPGRADE_MIRROR) δεν έχει δοκιμαστεί ακόμη. Πλήρεις
λεπτομέρειες στο Distribution Upgrade.
Το install/upgrade αρνείται ένα πακέτο, λέγοντας ότι το repo στοχεύει άλλη έκδοση.
Αυτό είναι το guard ταιριάσματος έκδοσης. Ένα repo χτισμένο για άλλη έκδοση
Slackware (για παράδειγμα ένα alienbob -current repo ακόμη ενεργό σε 15.0) μπορεί
να περάσει GPG/md5 κι όμως να εγκαταστήσει πακέτα που σπάνε το σύστημά σου, οπότε ο
slacker το αρνείται. Δείξε το repo στην έκδοση του συστήματός σου, ή πέρασε --yes
για να το παρακάμψεις αν είσαι σίγουρος. Το slacker status δείχνει την ίδια
αναντιστοιχία στη γραμμή Repo release. Δες Security.
Πρέπει ν' αντιγράψω αρχεία ρυθμίσεων μετά την εγκατάσταση;
Όχι. Το δυαδικό πακέτο βάζει τα αρχεία ρυθμίσεων στη θέση τους κάτω από το
/etc/slacker/. Επεξεργάζεσαι μόνο δύο απ' αυτά — το mirrors (διάλεξε ένα) και το
repos (όρισε προτεραιότητες). Δες Installation.
Πώς διαλέγω γρήγορο, ενημερωμένο mirror;
Τρέξε slacker find-mirror. Δοκιμάζει την επίσημη λίστα mirror του Slackware,
χρονομετρά το καθένα, πετάει όσα έχουν μείνει πίσω από τον upstream master, κατατάσσει
τα υπόλοιπα κατά ταχύτητα, και τυπώνει το πιο γρήγορο ως τη γραμμή για το mirrors
— δεν αλλάζει ποτέ το config σου. Δουλεύει πριν ρυθμιστεί οποιοδήποτε mirror,
οπότε είναι η φυσική πρώτη εντολή σ' ένα φρέσκο σύστημα. Αργότερα το slacker status
επισημαίνει mirror που ξεπεράστηκε (πάνω από 48 ώρες πίσω από τον upstream). Δες
Quick Start.
Το update λέει ότι τα πακέτα ενός repo δεν κατεβαίνουν (διπλή διαδρομή σαν .../extra/extra/...).
Αυτό το repo είναι subtree διανομής (extra, patches, testing, pasture)
και χρειάζεται το flag subtree στο repos. Το PACKAGES.TXT του παραθέτει
τοποθεσίες σχετικά με τη ρίζα της διανομής· το flag λέει στον slacker να λαμβάνει τα
πακέτα και το κλειδί από το γονικό URL. Δες Repositories and Priority.
error: repos: ... duplicate priority
Οι προτεραιότητες δυαδικών repo πρέπει να είναι διακριτές. Δώσε σε κάθε δυαδικό repo μοναδικό αριθμό. (Οι γραμμές tag-priority μπορούν να μοιράζονται προτεραιότητα — αυτό είναι εντάξει.)
error: repos: ... two active mirrors / «no mirror»
Στο mirrors, ακριβώς μία γραμμή πρέπει να είναι uncommented. Μηδέν αφήνει το
επίσημο URL κενό· δύο ή περισσότερες είναι σφάλμα.
Γιατί το upgrade-all δεν αναβάθμισε το SBo / alienbob πακέτο μου, ενώ υπάρχει νεότερη έκδοση;
Προτεραιότητα. Ο slacker δε μεταναστεύει ποτέ ένα εγκατεστημένο πακέτο σε πηγή άλλης
προτεραιότητας ούτε το υποβαθμίζει. Ένας υποψήφιος προτείνεται μόνο από repo
υψηλότερης ή ίσης προτεραιότητας. Αν θες το build ενός συγκεκριμένου repo,
κάνε το pin: slacker upgrade alienbob:vlc. Για να κερδίζει πάντα μια πηγή, δώσ' της
tag priority. Δες Repositories and Priority.
Μια αναβάθμιση -current χάλασε ένα πακέτο — μπορώ να το γυρίσω πίσω;
Ναι, για επίσημα πακέτα σε -current. Το slacker revert-pkg NAME παραθέτει τα
προηγούμενα builds αυτού του πακέτου (από το removed_packages), λαμβάνει αυτό που
διαλέγεις από το σωρευτικό αρχείο (GPG-επαληθευμένο έναντι του pinned Slackware
κλειδιού), και το υποβαθμίζει με upgradepkg --reinstall. Δοκίμασε πρώτα --dry-run
για να δεις το ακριβές build. Μετά προσφέρεται να παγώσει το πακέτο ώστε το
upgrade-all να μην το ξανατραβήξει μπροστά — άρε το αργότερα με
slacker unfrozen NAME. Πακέτα τρίτων δεν καλύπτονται (το σωρευτικό αρχείο φέρει
μόνο επίσημα), και δουλεύει μόνο σε -current: ο κώδικας διαβάζει το
VERSION_CODENAME και αρνείται σε σταθερή έκδοση (σκληρό, fail-closed guard).
Δες Common Workflows.
Πώς αφαιρώ έναν κανόνα από το blacklist;
slacker unfrozen RULE — το αντίστοιχο του frozen. Τρέξε slacker unfrozen χωρίς
όρισμα για λίστα των τρεχόντων κανόνων, μετά πέρασε έναν ακριβώς όπως φαίνεται
(το ταίριασμα είναι κυριολεκτικό, οπότε .* / * / / δεν αντιμετωπίζονται ποτέ
ως pattern). Η επεξεργασία του /etc/slacker/blacklist με το χέρι δουλεύει επίσης.
Δες Blacklist.
Το install-new μου προτείνει συνέχεια πράγματα που αφαίρεσα / δεν προτείνει ποτέ ένα πακέτο που αφαίρεσα.
Το install-new είναι για πακέτα των οποίων το όνομα προστέθηκε πρόσφατα στη
διανομή — όχι για πακέτα που αφαίρεσες (αυτά υπάρχουν ήδη στο δέντρο). Για να
ξαναβάλεις αφαιρεμένο πακέτο, χρησιμοποίησε slacker install NAME (ή
install @repo). Δες Commands.
Το history emacs δε δείχνει τίποτα, αλλά το πακέτο είναι εγκατεστημένο.
Τα ονόματα ταιριάζουν ακριβώς. Αν το πακέτο είναι aircrack-ng, το
history aircrack δε βρίσκει τίποτα — χρησιμοποίησε το ακριβές όνομα. Δες
Package History.
Το history δείχνει μια αναβάθμιση ως old → new για κάτι που είμαι σίγουρος ότι αφαιρέθηκε.
Ο κατάλογος removed_packages/ των pkgtools κρατά ένα όνομα αρχείου ανά id
πακέτου, οπότε μια μεταγενέστερη αφαίρεση γράφει πάνω σ' ένα παλιότερο record —
μέρος του ιστορικού χάνεται από τα ίδια τα εργαλεία. Ο slacker ανακατασκευάζει όσα
μπορεί και συμπεραίνει έναν χαμένο στόχο αναβάθμισης από την επόμενη γνωστή
καταχώρηση. Δες Package History.
Ένα repo είναι σε quarantine και δεν παρέχει πακέτα.
Ο slacker βάζει σε quarantine ένα repo που αποτυγχάνει στον έλεγχο (μη προσβάσιμο ή
κακοσχηματισμένα/εχθρικά metadata). Ξαναέλεγξε με slacker vet-repo NAME· αν κρίνεις
ότι είναι false positive, το slacker trust-repo NAME το άρει (με δική σου ευθύνη).
Δες Security.
«key-substitution attack» / ένα κλειδί δεν εισάγεται.
Ο slacker κάνει pin το GPG fingerprint κάθε repo στην πρώτη εισαγωγή (trust on first
use). Ένα μεταγενέστερο κλειδί με διαφορετικό fingerprint απορρίπτεται. Αν το κλειδί
άλλαξε νόμιμα, θα χρειαστεί να καθαρίσεις το pin αυτού του repo κάτω από το
STATE_DIR (/var/lib/slacker/gpg/<repo>.fpr) και να το ξαναεισάγεις. Δες
Security.
Πώς κρατάω τα πακέτα extra/testing/patches από το να τα αφαιρεί το clean-system;
Σημείωσε αυτά τα repos ως immutable στο repos. Τα εγκατεστημένα πακέτα τους
διατηρούνται τότε χωρίς να κάνεις blacklist το καθένα. Δες Common Workflows.
Τα install * / remove * / history * δεν κάνουν αυτό που περιμένω.
Ο slacker δεν έχει wildcard * για επιλογή πακέτων. Ολόκληρο repository είναι
@repo (π.χ. install @gnome)· ένα μεμονωμένο πακέτο είναι το ακριβές του όνομα·
ένα substring ταιριάζει μια οικογένεια. Ένα * χωρίς εισαγωγικά το επεκτείνει το
shell σου στα ονόματα αρχείων του τρέχοντος καταλόγου πριν τρέξει ο slacker —
ο slacker δε βλέπει ποτέ το * και δε διαβάζει ποτέ τον κατάλογό σου. Όταν αυτό
παράγει πλημμύρα από μη-πακέτα ορίσματα, ο slacker το αναγνωρίζει και αρνείται την
εντολή χωρίς ν' αλλάξει τίποτα (ένα remove * δε θα διαγράψει πραγματικά πακέτα
που τυχαίνει να μοιράζονται substring μ' ένα όνομα αρχείου). Βάλε σε εισαγωγικά ένα
κυριολεκτικό pattern, ή χρησιμοποίησε @repo. Σημείωσε ότι το blacklist είναι
διαφορετικό: το frozen δέχεται glob και regex patterns — δες Blacklist.
Μπορώ να τρέχω queries ως απλός χρήστης;
Ναι. Τα search, info, file-search, check-updates, show-changelog,
history, και find-mirror τρέχουν ως οποιοσδήποτε χρήστης. Ό,τι αλλάζει το
σύστημα χρειάζεται root.
Μια εντολή λέει ότι τρέχει άλλο instance.
Οι εντολές που μεταβάλλουν παίρνουν αποκλειστικό lock (/run/slacker.lock)· τρέχει
μόνο μία τη φορά. Το lock απελευθερώνεται αυτόματα αν ο slacker τερματίσει ή
σκοτωθεί. Τα queries δεν παίρνουν lock.
Τα χρώματα χαλάνε τα logs / το terminal μου.
Όρισε NO_COLOR=1 (το χρώμα απενεργοποιείται αυτόματα κι όταν η έξοδος δεν είναι
terminal). Ο pager για μεγάλη έξοδο είναι το $PAGER ή το less -FRX.
Πώς αναφέρω bug ή ζητώ feature;
Άνοιξε ένα issue στο https://forge.slackware.nl/rizitis/slacker/issues.
slacker
Getting started
Using slacker
- Commands
- Common Workflows
- Distribution Upgrade
- Repositories and Priority
- Package History
- Dependencies
- Docker
- Templates
- Blacklist
Trust & safety
Reference
For contributors
slacker - slackpkg + slackpkg+ in one - Apache-2.0 - by Ioannis Anagnostakis (rizitis) - beta / WIP, for Slackware -current (64-bit & 32-bit)