Kirjoittaja Aihe: Miten spool eri levylle ?  (Luettu 3078 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Miten spool eri levylle ?
« : 30.01.11 - klo:21.33 »
Systeemilevy on täyttymäisillään mutta koneessa on toinen levy jolla on runsaasti vapaata. Missä Ubuntussa on määritetty spoolauslevy eli miten käännän spoolin toimimaan toisella levyllä missä tilaa on vapaana ?

   
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

juyli

  • Vieras
Vs: Miten spool eri levylle ?
« Vastaus #1 : 31.01.11 - klo:11.46 »
Systeemilevy on täyttymäisillään mutta koneessa on toinen levy jolla on runsaasti vapaata. Missä Ubuntussa on määritetty spoolauslevy eli miten käännän spoolin toimimaan toisella levyllä missä tilaa on vapaana ? 

Varsin kätevästi (lähes) minkä tahansa hakemiston, voi linkata (ln -s ) mille tahansa jo liitetylle levyosiolle (tai sen hakemistoon).
Tarvittaessahan voi toki /etc/fstab:ia käyttää.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #2 : 31.01.11 - klo:15.15 »
Lainaus
Varsin kätevästi (lähes) minkä tahansa hakemiston, voi linkata (ln -s )....
Voisitko antaa malliratkaisun tähän yksittäiseen ongelmaan ? Kyseessä siis printtauksen ohjaus, tuo spool menee olettaisin ---> /var/spool/cups -hakemistoon oletuksena ja käytettävissä on tyhjä levy joka näkyy montattuna ---> /media/40G.


Edit:  Kokeilin tuota "ln -s" -ideaa, pieniä ongelmia seuraa kun käynnistää taas cupsd: n:

E [31/Jan/2011:17:26:02 +0200] Unable to change ownership of "/var/spool/cups/tmp" - Permission denied
E [31/Jan/2011:17:26:02 +0200] Unable to open directory "/var/spool/cups/tmp" - Permission denied
 
(vaikka muutin ownerit rootille tuolla kohteessa). Tuossa näkyy se softlinkki uuteen paikkaan:

/var/spool# ls -la
yhteensä 36
drwxr-xr-x  9 root root 4096 2011-01-31 17:09 .
drwxr-xr-x 14 root root 4096 2010-10-07 19:12 ..
drwxr-xr-x  2 root root 4096 2010-11-07 21:33 anacron
drwxr-xr-x  5 root root 4096 2010-10-07 19:02 cron
lrwxrwxrwx  1 root root   15 2011-01-31 17:09 cups -> /media/40G/cups
lrwxrwxrwx  1 root root    7 2010-11-07 21:22 mail -> ../mail
drwx--x---  3 root lp   4096 2011-01-31 16:36 oldcups
drwxr-xr-x  3 root root 4096 2010-10-07 19:01 openoffice
drwxr-xr-x  2 root root 4096 2010-09-24 15:50 plymouth
drwxr-xr-x 18 root root 4096 2011-01-21 20:32 postfix
drwxrwxrwt  2 root root 4096 2010-10-06 01:26 samba

Edit2: Jostain syystä en saa muutettua tuota "cups" linkkiä "root:lp" kuten se on alkuaan (hakemistona) ollut.
« Viimeksi muokattu: 31.01.11 - klo:17.50 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Vika/fiba

  • Käyttäjä
  • Viestejä: 652
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #3 : 31.01.11 - klo:17.56 »
Lainaus
drwx--x---  3 root lp   4096 2011-01-31 16:36 oldcups
Jos tämä on alkuperäinen cups-hakemisto, pitäisi uudelle, siis /media/40G/cups-hakemistolle antaa samat oikeudet lp-ryhmälle.
Minä linkkasin joskus (symbolisesti) koko homen toiselle kovolle ja hyvin toimi, mutta silloinkin piti säätää kohdekansion oikeuksia.

Ja pöh! tmp-hakemiston oikeuksistahan tässä oli kyse. Minulla siellä lukee drwxrwx--T 3 root lp
eli lp-ryhmällä on niitä oikeuksia, tuo T taitaa vastustaa.
« Viimeksi muokattu: 31.01.11 - klo:18.12 kirjoittanut Vika/fiba »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #4 : 31.01.11 - klo:19.01 »
Tuo kohde "tmp" on tällä tavalla:

drwxrwxrwx 2 root lp   4096 2011-01-31 17:15 tmp

E [31/Jan/2011:18:52:49 +0200] Unable to change permissions of "/var/spool/cups/tmp" - Permission denied
E [31/Jan/2011:18:52:49 +0200] Unable to open directory "/var/spool/cups/tmp" - Permission denied

Lieneekö tuolla sticky bitin (T) puuttumisella tässä merkitystä ?  Toiseksi, tuolla linkissä myös lukee sitkeästi "root:root", ei anna muuttaa sitä, chmod ei anna mitään virhettä mutta ei muutu "root:lp" millään ilveellä, kummallista ?

lrwxrwxrwx  1 root root   15 2011-01-31 17:09 cups -> /media/40G/cups
« Viimeksi muokattu: 31.01.11 - klo:19.20 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Vika/fiba

  • Käyttäjä
  • Viestejä: 652
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #5 : 31.01.11 - klo:19.29 »
Empä ymmärrä missä vika, mutta koska olen purkkaviritysten harrastaja, kokeilisin oikeuksien muuttamista gksudo nautiluksella jos komentorivi ei tehoa. Ja tietysti voisi koittaa ylempää eli sen spool-kansion linkittämistä. (Voi ehkä syntyä lisää sotkua)
Tekeekö muuten kirjoitin sen temppikansion; jos poistais kokonaan tmp:n /media/40G/cupsista
« Viimeksi muokattu: 31.01.11 - klo:19.34 kirjoittanut Vika/fiba »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #6 : 31.01.11 - klo:19.44 »
Tulee enää vain yksi virhe, nyt on "sticky bit": kin samalla tavalla kohteen tmp: llä (eli tuo iso T, chmod 1770):

E [31/Jan/2011:19:39:44 +0200] Unable to open directory "/var/spool/cups/tmp" - Permission denied

drwxrwx--T 2 root lp   4096 2011-01-31 17:15 tmp


Printatessa näyttää näin (en muuta odottanutkaan):

[ylläpito on poistanut liitteen]
« Viimeksi muokattu: 31.01.11 - klo:19.50 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #7 : 31.01.11 - klo:20.00 »
Lainaus
Tekeekö muuten kirjoitin sen temppikansion; jos poistais kokonaan tmp:n /media/40G/cupsista

Kokeilin hävittää koko "cups" hakemiston, tein uudestaan + chmod 1770 +chown root:lp, jätin "tmp" hakemiston tekemättä ja cupsd käyntiin, printtausyritys saa aikaan nyt:

E [31/Jan/2011:20:04:54 +0200] Unable to create request file /var/spool/cups/00000000: Permission denied
 
Vanhat tutut ilmestyvät myös:

E [31/Jan/2011:20:09:56 +0200] Unable to create directory "/var/spool/cups/tmp" - Permission denied
E [31/Jan/2011:20:09:56 +0200] Unable to open directory "/var/spool/cups/tmp" - No such file or directory
« Viimeksi muokattu: 31.01.11 - klo:20.10 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

juyli

  • Vieras
Vs: Miten spool eri levylle ?
« Vastaus #8 : 31.01.11 - klo:20.15 »
Voisitko antaa malliratkaisun tähän yksittäiseen ongelmaan ? Kyseessä siis printtauksen ohjaus, tuo spool menee olettaisin ---> /var/spool/cups -hakemistoon oletuksena ja käytettävissä on tyhjä levy joka näkyy montattuna ---> /media/40G.

Luulen, että sinulle on sattunut hakemiston kopioimisessa/siirtämisessä virhe. Tar olisi säilyttänyt hakemistojen omistajat ja oikeudet oikein jopa sticky T bittiä myöten.

Edit2: Jostain syystä en saa muutettua tuota "cups" linkkiä "root:lp" kuten se on alkuaan (hakemistona) ollut.

Eikö chgrp toimi? Tosin pitäisi tuon onnistua myös chown komennolla.

Korjaus onnistunee, jos tuon oldcups:in kopioit tar:lla tuolle väljemmälle levylle. Eikös nuo oikeudet ole oikein tuolla varmuuskopiolla oldcups? cp on nätti ohjelma, mutta hyvin tarkkana pitää olla sen eri parametrien kanssa.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #9 : 01.02.11 - klo:01.48 »
Apparmor  ?  Näyttää olevan runsaasti näitä "apparmor kieltänyt" -viestejä logissa: 

apparmor="DENIED" operation="open" parent=11511 profile="/usr/sbin/cupsd" name="/media/40G/cups/tmp/" pid=11512

Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #10 : 01.02.11 - klo:13.13 »
Annoin "sudo service cups restart" pari kertaa ja tässä on "dmesg | tail":

[249745.193734] type=1400 audit(1296557394.285:92): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=12250 comm="apparmor_parser"
[249745.194574] type=1400 audit(1296557394.285:93): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=12250 comm="apparmor_parser"
[249745.416430] type=1400 audit(1296557394.509:94): apparmor="DENIED" operation="open" parent=12255 profile="/usr/sbin/cupsd" name="/media/40G/cups/tmp/" pid=12256 comm="cupsd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[249807.574629] type=1400 audit(1296557456.665:95): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=12274 comm="apparmor_parser"
[249807.575500] type=1400 audit(1296557456.665:96): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=12274 comm="apparmor_parser"
[249807.631473] type=1400 audit(1296557456.721:97): apparmor="DENIED" operation="open" parent=12280 profile="/usr/sbin/cupsd" name="/media/40G/cups/tmp/" pid=12281 comm="cupsd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

Ylläoleva login osuus saattaa olla seuraus eikä syy.  Hämärää on edelleen miksi "cupsd" herjaa. Jotain on varmaan edelleen jäänyt huomaamatta mutta onko joku saanut tämän toimimaan Ubuntussa eli osaako "cupsd" toimia softlinkin kautta ?   Asia ei ole mitenkään kriittinen mutta mielenkiintoinen ja hyödyllinen vastaisuudessa jos tuon saa helposti toimimaan.   Tuohon voisi olla parempikin tapa kuin yrittää softlinkillä veivata print spool hakemistoa levyltä toiselle, en tiedä voisiko sen  määrittää jotenkin (miten ?) suoraan "cupsd": lle.   Tiedän että "ennen vanhaan" tuon pystyi määrittämään /etc/printcap  -tiedostoon mutta nykyään tuo on automaattisesti generoitu...

Ellei tuo ratkea niin voin tietysti kiertotienä vaihtaa levyn isompaan ja säätää osiot sellaisiksi että riittää.
« Viimeksi muokattu: 01.02.11 - klo:13.19 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Miten spool eri levylle ?
« Vastaus #11 : 01.02.11 - klo:13.30 »
Eihän linkin omistajaa, ryhmää tai oikeuksia voi muuttaa. Linkin kohteen voi. Tässä esimerkki:

Koodia: [Valitse]
tn@bahtin [~/Tilap/test]$ dir
yhteensä 0
tn@bahtin [~/Tilap/test]$ touch foo
tn@bahtin [~/Tilap/test]$ dir
yhteensä 0
-rw------- 1 tn tn 0 2011-02-01 13:30 foo
tn@bahtin [~/Tilap/test]$ ln -s foo bar
tn@bahtin [~/Tilap/test]$ dir
yhteensä 0
lrwxrwxrwx 1 tn tn 3 2011-02-01 13:30 bar -> foo
-rw------- 1 tn tn 0 2011-02-01 13:30 foo
tn@bahtin [~/Tilap/test]$ chown root:root bar
chown: vaihdettaessa tiedoston ”bar” omistajuutta: Toiminto ei ole sallittu
tn@bahtin [~/Tilap/test]$ dir
yhteensä 0
lrwxrwxrwx 1 tn tn 3 2011-02-01 13:30 bar -> foo
-rw------- 1 tn tn 0 2011-02-01 13:30 foo

Yritin joskus siirtää symbolisella linkillä koko /var-puun toiselle levylle, mutta siitä seurasi niin paha jumi, että tarvittiin livelevyä apuun. En tiedä, mutta ehkä jotkin systeemihakemistot voi siirtää muualle vain liittämällä ne /etc/fstabissa, ei symbolista linkkiä käyttäen (?).
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #12 : 01.02.11 - klo:13.46 »
Lainaus
Eihän linkin omistajaa, ryhmää tai oikeuksia voi muuttaa.
Joo, puskettuani päätä seinään "chown": in kanssa hetken tajusin että kaikki toimenpiteet kohdistuvat linkin kohteeseen eikä itse linkkiin (sen "inode").  :)   Samalla heräsikin seurauskysymys:  Mikä merkitys ja käytännön vaikutus on linkin omilla atribuuteilla ?    Jos siellä on esimerkiksi näin:

lrwxrwxrwx  1 root root   15 2011-02-01 01:14 linkcups -> /media/40G/cups

niin vaikuttaako tuo "linkcups" -softlinkin oman inoden "root:root" johonkin ?  Sitähän ei voinut "tietysti" muuttaa kun muutos kohdistuu aina linkin kohteeseen ?  Hyvä dokumentti jossain tuosta ?
 
Lainaus
Yritin joskus siirtää symbolisella linkillä koko /var-puun toiselle levylle
MuTu:  Lieneekö niin että jotkut ohjelmat vaativat alleen "oikean" hakemiston tai levyn eli eivät toimi linkillä --- vai onko tähän mahdollista perustetta  ?
« Viimeksi muokattu: 01.02.11 - klo:13.58 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

juyli

  • Vieras
Vs: Miten spool eri levylle ?
« Vastaus #13 : 01.02.11 - klo:23.27 »
Hyvä dokumentti jossain tuosta ?

man ln ;) ja sivuilla vihje:
Koodia: [Valitse]
info coreutils 'ln invocation'
Lainaus
Yritin joskus siirtää symbolisella linkillä koko /var-puun toiselle levylle
Lainaus
MuTu:  Lieneekö niin että jotkut ohjelmat vaativat alleen "oikean" hakemiston tai levyn eli eivät toimi linkillä --- vai onko tähän mahdollista perustetta  ?

Tuo minuakin kyllä ihmetyttää, mutta koska muistin joitakin ongelmiakin syntyneen linkityksistä joissakin tilanteissa, kirjoitin jo ensimmäisessä viestissäni varolausekkeen (lähes) ;)
Tuon cups -hakemiston siirtohan oli vähintäänkin ongelmallinen tuon ryhmän lp -oikeuksista.
En nyt viitsi itse kokeilla, mutta koko spool:in omistus olisi root ja ryhmä root, joten linkin omistajuus ja ryhmä olisivat oikein koko spool:in siirtämiseksi (?). (Ei kannata kokeilla kotona).
Toki myös tuo apparmor tekee oman mutkansa matkaan - kuten vaikkapa SElinux.
Usein järjestelmätasoisia muutoksia tehdessä, kannattaa käyttää Recovery Mode, LiveCD tai muita RescueCD -systeemejä, ettei käynnissäolevat ohjelmat häiritse kopionti- tai siirto-operaatioita. Tietysti myös kaikki aiheeseen liittyvät palvelut kannattaa sulkea.
Vielä minua jää hieman vaivaamaan, miten olet liittänyt tuon kovalevyosion, jolle cups-hakemiston tallensit.

Lisäys: Coreutils doc:it löytyvät /var/usr/share/doc/coreutils-8.5
/var/usr/share/doc/policycoreutils-2.0.83 (tuo coreutils:in versionumero voi olla toinen)
« Viimeksi muokattu: 01.02.11 - klo:23.47 kirjoittanut juyli »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Miten spool eri levylle ?
« Vastaus #14 : 02.02.11 - klo:12.08 »
Linkin itsensä (inode) "root:root":
Tuoltahan se löytyi (info coreutils...) , hätäinen käännös suomeksi: "Itse linkin owner: lla ja group: lla ei ole merkitystä linkin kautta tapahtuvan käytön kannalta mutta ne voivat vaikuttaa linkin poistamiseen jos linkki sijaitsee hakemistossa jolle on laitettu restricted deletion bit päälle".

"40G" -nimisen levyn monttaus:
Se oli automontattu jo tuonne --> /media/40G kun aloin kokeilla tuota spoolin viritystä toiselle levylle softlinkin läpi.  Sammutin aina "cupsd": n ennen muutoksia ja käynnistin lopuksi uudestaan.
« Viimeksi muokattu: 02.02.11 - klo:12.23 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.