Moin

Meine Schwester hat mich heute morgen angerufen, weil sie nicht drucken konnte. Sie hat es gestern schon selber mit troubleshooting versucht, leider weiß sie nicht mehr genau, was sie dabei alles ausprobiert hat und hat sich dabei vor allem an Internetanleitungen gehalten, die sie nicht versteht.
Ich konnte inzwischen das Problem darauf eingrenzen, dass es ein Problem mit der Konfigurationsdatei cupsd.conf gibt (journalctl zeigte, dass der cups-service wegen Fehler in /etc/cups/cupsd.conf nicht gestartet werden konnte). Vor allem scheint es daran zu liegen, dass diese Datei fehlt.
Eine Deinstallation mit purge und anschließende Neuinstallation von CUPS hat leider auch keine neue Konfigurationsdatei mit sich gebracht.
Ich bin ratlos. Ich weiß weder, was dazu geführt hat, dass die Datei gelöscht wurde, noch was dafür sorgen kann, dass diese Datei bei der Installation nicht mit heruntergeladen würde.
Es gab wohl ein fehlerhaftes CUPS Update, aber andere User konnten das lösen indem sie die (bei uns fehlende) config zurückgesetzt oder angepasst haben.
Der nächste Schritt wäre eine Neuinstallation des Betriebssystems (Mint Cinnamon 22.2, btw), aber ich würde es lieber reparieren (oder zumindest wissen, was der Fehler ist). Habt ihr da Ideen?

Thx im Voraus

  • Lucy :3@feddit.org
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    26 minutes ago

    https://changelogs.ubuntu.com/changelogs/pool/main/c/cups/cups_2.4.7-1.2ubuntu7.7/changelog

    Also es wurde etwas in den configs verändert, ich guck mal die beiden pkgs an

    Edit 1: Ich installier mir mal Mint Cinnamon 22.2 in ne VM zum debuggen

    Edit 2: Bug gibt’s schon gefiled: https://github.com/linuxmint/linuxmint/issues/820 Ich schätze mal, ein (durchaus sinnvoller Hinweis/Lösungsvorschlag), den deine Schwester ausprobiert hat, war es, die config zu löschen. Sollte man allerdings dann eher zu bspw. cupsd.conf.backup schieben.

    Also einmal die originale Cups Config wieder herstellen (also pre-update):

    
    #
    # Configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
    #
    
    # Log general information in error_log - change "warn" to "debug"
    # for troubleshooting...
    LogLevel warn
    PageLogFormat
    
    # Specifies the maximum size of the log files before they are rotated.  The value "0" disables log rotation.
    MaxLogSize 0
    
    # Default error policy for printers
    ErrorPolicy retry-job
    
    # Only listen for connections from the local machine.
    Listen localhost:631
    Listen /run/cups/cups.sock
    
    # Show shared printers on the local network.
    Browsing No
    BrowseLocalProtocols dnssd
    
    # Default authentication type, when authentication is required...
    DefaultAuthType Basic
    
    # Web interface setting...
    WebInterface Yes
    
    # Timeout after cupsd exits if idle (applied only if cupsd runs on-demand - with -l)
    IdleExitTimeout 60
    
    # Restrict access to the server...
    <Location />
      Order allow,deny
    </Location>
    
    # Restrict access to the admin pages...
    <Location /admin>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
    </Location>
    
    # Restrict access to configuration files...
    <Location /admin/conf>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
    </Location>
    
    # Restrict access to log files...
    <Location /admin/log>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
    </Location>
    
    # Set the default printer/job policies...
    <Policy default>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <Limit Create-Job Print-Job Print-URI Validate-Job>
        Order deny,allow
      </Limit>
    
      <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job>
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit CUPS-Get-Document>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      # All administration operations require an administrator to authenticate...
      <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # All printer operations require a printer operator to authenticate...
      <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # Only the owner or an administrator can cancel or authenticate a job...
      <Limit Cancel-Job>
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit CUPS-Authenticate-Job>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    
    # Set the authenticated printer/job policies...
    <Policy authenticated>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <Limit Create-Job Print-Job Print-URI Validate-Job>
        AuthType Default
        Order deny,allow
      </Limit>
    
      <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      # All administration operations require an administrator to authenticate...
      <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # All printer operations require a printer operator to authenticate...
      <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # Only the owner or an administrator can cancel or authenticate a job...
      <Limit Cancel-Job CUPS-Authenticate-Job>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    
    # Set the kerberized printer/job policies...
    <Policy kerberos>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <Limit Create-Job Print-Job Print-URI Validate-Job>
        AuthType Negotiate
        Order deny,allow
      </Limit>
    
      <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
        AuthType Negotiate
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      # All administration operations require an administrator to authenticate...
      <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # All printer operations require a printer operator to authenticate...
      <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
        AuthType Default
        Require user @SYSTEM
        Order deny,allow
      </Limit>
    
      # Only the owner or an administrator can cancel or authenticate a job...
      <Limit Cancel-Job CUPS-Authenticate-Job>
        AuthType Negotiate
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    

    In dem Falle sehr merkwürdig, dass die config nicht im Paket enthalten ist. Erleichtert halt extrem das management und up/downgrading, damit das auch ohne explizites file-backup funktioniert. So bin ich selber ratlos, woher die Datei kommt. Von Cups selber wohl eher nicht, und wenn schon, warum gibt’s keine docs dazu?

    Ich liebe Arch.