Archives 2011

14
avril 2011

Ctulhu

Rédigé par Matthieu CERDA   3 commentaires   Mis à jour le  14/04/2011

A supplication to great Cthulhu for those who would have power over his minions.

In the day and hour of the moon with sun in scorpio prepare thou a waxen tablet and enscribe thereon the seals of Cthulhu and Dagon; suffumigate with the incense of Zkauba and set aside.

On Hallowmas eve thou must travel to some lonely place where high ground overlooks the ocean. Take up the tablet in thy right hand and make of the sign of Kish with thy left. Recite the incantation thrice and when the final word of the third utterance dieth in the air cast thou the tablet into the waves saying:

'In His House at R'lyeh Dead Cthulhu waits dreaming,
yet He shall rise and His kingdom shall cover the Earth.'
And He shall come unto you in sleep and show His sign with which ye shall unlock the secrets of the deep.



Ye Incantation:

O Thou that lieth dead but ever dreameth,
Hear, Thy servant calleth Thee.
Hear me O mighty Cthulhu!
' Hear me Lord of Dreams !
In Thy tower at R'lyeh They have sealed ye,
but Dagon shall break Thy accursed bonds,
and Thy Kingdom shall rise once more.
The Deep Ones knoweth Thy secret Name,
The Hydra knoweth Thy lair;
Give forth Thy sign that I may know
Thy will upon the Earth.
When death dies, Thy time shall be,
and Thou shalt sleep no more;
Grant me the power to still the waves,
that I may hear Thy Call.

(At ye third repeating of ye incantation cast forth the Tablet into ye waves saying):

In His House at R'lyeh Dead Cthulhu waits dreaming, yet He shall rise and His kingdom shall cover the Earth.

Ph'nglui mglw'nafh Cthulhu R'lyeh Wgah'nagl fhtagn.
Ph'nglui mglw'nafh Cthulhu R'lyeh Wgah'nagl fhtagn.
Ph'nglui mglw'nafh Cthulhu R'lyeh Wgah'nagl fhtagn.
P͘h'n̨g͡lu͏i mg͢l̷w͢'̶ǹaf͠h̴ Ct̡hùlhu R'͏ly͝ęh ̢W̨g̡ah̛'̵n҉a̧g̢l ̴fht́ag̛n̕.̕P҉h'ng̀l̶u̧i mg͏l͘w͟'͘n̢afh͠ ̢C̴t͞h̢u̕l̴hu ́R̵'l͢yȩh ̕Wg͞a͜ḩ'na͡g̴l f́ht͜ag͟n.͏Ph͏'̧ngluí mglẃ'n͘afh̛ ̨Cth͜ųl͞h҉u̵ ̨R͝'͏ly҉eh Wga̷h̴'̸nagl͢ ̵f͢htag͘n.Ph͟'ng͠l͡ui m̢glw̢'͏n̕áfh ͏C͜t͏h͝úlhu͟ R'l͢ye͏h Wgah́'na̴g̷ļ ̨f͏h̨t͏ag̡n.̕Ph͡'ng͟lu͞i͟ ̡mg̕l̵w'n̴a̕f͘h ̛Cth͜ul̛h̀u̡ ̴R͏'͢ly̴eh̛ ͢W͠ga̧h'n̴a̷g̵l ̨fh͟ţa̢g̵n.P̶h͘'ngl͘uí m͝g̕lw̴'na̕f͟h͢ ̕C͟thu̧l̨hu R'͡lye͟h̀ Wgah'̷n͠agl̡ f̵ht͝a͢gn̷.̕Ph'nglu͞i mg͜lw'n͡a̢fh Cth͞ùlhu R'lye̕h̴ ̢Wg͏a͘h̀'͞nagl ̸fhta͠g̛n͝.̵
P̈́ͧ̓̊̆̈ͣh͛̈́ͤ͌ͪ̍̏'͑ͧͨ̒ͥ͊ͯ͟n̒g͛͋ͦ̎͑̉̉l̸̀ui̊ͤ ͆́͐mͣ̌́gl̑́̀w̧ͣͯ'̆̇n͑̕a̿͗͜f̌ͯ͌̃̕h҉ ̆ͣ̈C̾̃t͑͌̚҉h̵̆̈ǘ̈̎̉͋͞l̉̇h̆ͣ̊͂́u̅͛̓ͫ̒̿̊͜ ́ͨ̐̒ͪ̾R̋̉'̀̉̎ͮl̂̂̊͂ͯy̧ͩ̃ͨ͋̐ë̛́ͤ̀͗̈͗̚h̐ͧ̚ ͛͑Ẇǵͭ̓͘a͛̾̓͌ͮ̐h̃ͩ̾̽̔'̓̀͆͞n̏̈́̊a͊ͥ̽̽̓͡g̨͆́l̴͌͊ ͤ͋̏ͣ͛f̸ht̐ͨą͗g̀nͨͣ́.́Pͦͧͬͧh̷̔̃ͬͥ̅'̂ͨ́ͣ̄̾n͂̐͋̋̎̾͡g̷̑ͯlͯ̂́u͗͛̉ĭ̿ ͪ̇m̒ͪg̔̈̚l̐̔̚͜w̨̓ͫ̑̊͌'̶͗̊̓̒͆ͪn͋͐͝ȧ̈́ͧ̐ͮ͆̉fḣ̚͏ ͒̌͒ͧCͭ̀͒̾̿͞t̄͛̋ͫͮͯḣ̷ͣ͗́͋͑u̐̈́͂͊̍ͦl̅͊ͭ̍h́̌ͫ̋̊̇͡űͮ͑́̑̃̀ ̢R̽ͯ̈̊̅ͯ̆͡'̆͋̂̈l̶y͒̂͋̽͟eͯ̿͐ͦ͑͠h̓̾ͭ̑ ̄̽ͪ̔Wͪ͒ͦ̇̐̉ģ̈́̇̃äͩͪ̊͊ͧ̇h̉'̵̓̄ͩnͫ̔̓͌̇͠aͯ̌́ͨ̋̈̃g̉̒̽͊l ͦͭ̿ͥ̓͡f͐ͫ̇̚͡h͆̔̒tͦ̓̾̾̍ͣͩag̊̊̊͌̌͋̉nͤ̈́̌͒̈́͑̎̕.́̾͐̑ͣ̓P̨̊͋ͩhͤ̆͋́͋'ͣ̆͟n͗̊́g̊̌l̊̍̏ͫͯ̅̌͝ủ̸͑́̈ͥ̊͛iͤ͐̏͗ ͐͛̈ͮ̂͐̅m̸ͨ̆̀̈́͋̽͂ĝ͗̿̽̓l̄ͮẇ̄̏̈́͢'̇ǹa͒ͨ̓҉f̢͐̉̌̆h͑̋ͤ̚҉ Čͭ̋͝tͮ͋̇̽̾͢ḧ͆͢u̎̑̾̋͒̓lͨ̅ͩͫ͏hͦu ͮ̉̆ͨRͨͭ'̔͘ľͫ͊̇͟y͒͜eͣh̍͒ͭ̃ͨ̇̉ ̀̎̄͂͐͛͠W̡ͦ̎͐̾̚g̈ͫ́̄̇͝ǎ͜h͆̆͑ͭ'̌̋ͭ́n̛͑̊̅̀̃͂aͯ͐̃̄͛̊̒͝g̐l̨̇̒ ͨ̃fͭͦ͂͒͂ͧ̀h̆̓̇ͮͩ̚t̢̉̍̈͊a̓ͦ̐͋͑g̐n̷͒ͦ̌̽.̨͌͒͛̄P̈́̽͗̿ͬh̴͑̃̎'n͢gͬͭ͑̀̂l͐͗ͯ̐͆͢u͑͋͛̄ͨ̃͒̕iͨ͌ͬ̂ ̀m̸ͨ̔ͯgͥl͡w͛'͗ͭͤn͢a̋͊ͩͭ̾ͬ͞f̨ͤh̔͌̄͌̓̈́͝ ̍ͫ̓C̴ͮ̋́̔ͥ̒t̢̒h̋͂u̽ͮͭlhͦ̓̈́ͬũ̄͋͆ ͜R͆͂ͬ́ͯͤͬ'l̸ŷͩͭ͑̿͠eͤ̋͡ḣ̊̒ͭ̌̓͞ ͂̊̐ͧ̊ͪWgͨͮ̏͢å̛ͫ̎̽h͏'̈́ͩ̀nͩa͐̐ͭ͂ͥ̈́̀g̑̊ͯ̔̓ͫ̚l̀ ͥͦ́ͣ̃̓͗f̴̂̍̎͐͑ht̃͋̐̆ͦ̔̀aͯ̈͠gn̕.ͨ̄ͣ͆͏Pͪ̂͋͛̽̈́ͬ́h'̌͒̿n͛g̡l̴ͨ̏̔ͫ̐u͏įͨ͌ ̉̀ͧ͆m͆̌g̑̂ͩl̔͘w̛̓̀̅̆ͣ̔̊'̆͆̋̏ͪ̀n̉ͪ̋̍̀ͤͩafͭͯḣͮ͜ ̷̒̓Cͩ͘tͭ̀͐̌̈͑͞hu̅̌ͩl̃ͣ͂͛͛̄ḧ̢̒ͤͮ̽̅u̓̍̈̑̕ ̓́R̶̈'ͫͩ͂̿ͦͬ͂l̓y̓ͩ̃̓͞ęͦͮ͑ͧ͂͌h̄̎̀ ̂Ŵ̅̏̾̈́͐ĝ̀̃̑a͐̊ͭ̋̀͡h̛ͣ̄̄̐̎̏ͯ'ͬ͌̚n̿ͭͥͩ͌͝ā̑͒͢g̅͑ͨlͫ͛̋̆̎̋̚ ̴͆̅f̽̌ͥ͆͐̎͐h̑͂́ͦ̾ͩt̆ͫͩag͌͗̊͌ͪͥͯn̴̎.͑ͣ̊̍̈̇̀̚P̌̾́hͮ'͋̚n̄͛̌̌̓g͏l̇̉͂̕u̷̍i̾́̽̃͟ ̿͋̽̿ͪ̅m̾ͧ͘g͑ͬ̏͜l̛̋w̒ͭ̆ͩ̽'͗̊ͣ͒͌҉nͩ̂̊͐̎̒̒äͮ̌͂̓͊̈́f̃͒͊͂͒̓͐ḧ̴ͯ̉̂͒̍̈́ ͭ̅̒̋̐ͯC͛̑̓̈ͪth́ͦ͑u̸̒̑l̏̄͏h̑̇͊ͧ̒̏uͬͬ ̇̃̓̄ͦR̎̊͑͌'͐ͩ͆͞l̡̃ͪ̎͂ͬy͛ͣ͛̍ͪ͆e͗ͪ͗hͬ́̃͐̚͘ ̒̐̇͜W̢͐͆́̔͆͆̚ǵ̨͋͒ͦ͗̏a̷͂h̡͋ͨ̿̄ͪͣ'̐̓n͞ả̋̋ĝͮ̾͛̉ͦlͥ̽̽͊͛̑̒ ̀̅f̸͂ͨ̅ͤ̈́h̀t̢̊̅̃͗ͤ̂ͤa̒̓̐̓͗̐̏͞g͌ͫ́ͮͪ͊ͤ҉n͗̓̽ͥ̒͒͒͠.̇ͨ͑̃ͥPͧͯ͊ͨ͆ͪ̐ḣ̒̽͂͊ͪ̈͘'ͨ͌̓̐ͪn͑̆ͧ͒͋̒̓̀g̛ͨ̐̔͗͋ͬ̏l̊̒͠u͢ḯ́̕ ̇ͥm̾gͨͫͭ̽̚͠lͯ͌҉w͆̍'̔n͒̀̈́̿̒ͭa̸̅͊̇ͤ͐ͦ̓f̒̍̃h́ ̵C̅͌tͣ͋̊̆̽҉hu̵l̷͗̔̅h̍̍ͪu̔̋̏̎̍͊ͯ͝ ͘R͗̓̒̚'̡̋l̀ͮ̎y͂eh ̉̓͛ͯW̾̈̈̂͌̍ǧ̸̍a͐́̄̀̇ͮ͡h͟'n͑͊̌a̴gͯl̇̇ͯ͗ ͊͋̌́͊͊f̍̈́͋ͩ͌͠h͒̐́ͥ͒t̛͗̓ͨ͒͋a̧̔̈́ͯ̎ǵ̀ͨͨ̈́҉n̂̀.͌̑̃͗ͥ̔̓͘
P̨̛̼̞̳̙̗͖͖͚̃̽̑̿͗ͭͮ̉͘͞ͅh̊̈̓̏͑̈ͭͭ͏̛͍̜̱͖͉̫͓̼̤̼̫͢'̨̢̛͙̻̘͍̲̪̥̻͇̒̀͒͐̾̂͒̎̉̒̂ͩ͌ͭ͒͢ṇ̷̩͚͙̟̩͎͔̻̺̻̪͎̹͕̈́͐̅̍͗̍̏ͪͩ̔͆͊̍̉̕͟͡g͙̪̖̟͖̝̅ͫ͐̒̊̇͐̇̈́ͯ̽͋̀ͅͅľ̜̫̹̺̙͇͖͚͒ͯ̒̓̍̿̉͛ͣ̔͗̋̚͜͝ù̧̳͕͔̗̫̯̲̘̙̰̽̿͆ͩͦͥ̎̊̈́̐̑̒̍͑͘͢͡͞į̲̮͉͚̤͙͖̩͓̹̝̭͕̻̠̆͋̔ͫͯ͂ ̼͎̘̼̮̯̪͇̪̣͓̮̳̩̰̆ͪ̈́͌̅̊̃̅̔̉̄̀m̷̡̡͖͕͚̻̎̌̓̍͊ͣ̇͗̄͘͝g̢̢̢̬̹͍͙̳̮̣̰̹̭͕͗̈́̋̓͆̈̓ͮ̄̈́̾̋ͨ́̚̚͡l̡̡͙͕̹̳̺̮̯̓̐̋͐̌̓̋ͧ̇ͮ͛̂̚͟͟w̡͛̍ͬ̾̿ͭ͑̎ͬͣ̈́̉̑̀̽̀͟͠҉̪̳̜̜̥̗̪͍̥̝̲'̧̠̞̤̙̳̘̜̲̪̺̯͓̘̯̯̝̩ͦͫ̋̄ͦ́͂͗̉̾ͤͬ̆̒ͪ̆̆̄̕ͅn̶̛ͬ̽ͧ͐̊ͩ̑̄̋̒͟҉҉̝̟̪̮̱a̶͂ͯ͑ͧͬ̓̏̕҉̵̨̟͙̼̲ͅͅͅf̧̻̺̪̘̻̥̬ͣͣ̋͆̔͗́͑̒ͪ̓̕͠h̎̉̅̏ͦͥ̉̏̏̍ͯ̄҉҉͉̤͇̳̬͇̪͖ ̶̛͎̤̳̮̪̝̥̬͔͎̠̗͇̟͈̗͐̔̈̍̒͊ͯ͐̎̈ͮ͒̏͘͝C̛̰̪̪̖͖̥̺͔̣̎͒̀ͥ̑́ͩ̕͠͞ţ͈̜͕̳̙̣̱̮̦̋̒͂ͨ̔̐̏̈ͥ̀͢h̤̫̗̩̻͖̝͕͙͇̬̮̜̜̻̪̬̉̓ͭ͑ͥ̄̏ͭ̃͛̂̾ͭͪ̇̔̄͟͟u̢͇̼͕͍͓͙̹͑̎̿̐͐̇͊̾̽͟ͅļ̛̙̬̞̭̮̳̤͓̖̳͉̞̩͍̻͇̝̓ͭͦ̑̑̋̈͂͐̅̏̚̕ͅͅh̨͚̙͖̺̦̳̗̆ͧ̿͗͒ͥ͆̽͋̓ͮ́̿͋̿͜ͅͅu̸̫̬̰͓̲̗̪̖̲̮̮̪͉̻͚͈̳͈͈ͬ͐ͤ̽͌ͤ̎̾̉̂ͮͮ͟ ̷̛͖͈͖͓̖̭͔̗͎͍̯͖̲̃͌́̽̉̿̽̔͆͘R̴̸̸̞̮̫͉̤̋̅̂̏̈́ͭͫ̀͜'͍̜͔̺̫̣̲̿ͭ̈̂̓͋ͯ͋̓̕͝͠l͗͌͐ͤͪ͜҉̟̳̦̘̯̻̫̼͉y̵̢ͣ̇̓͋̾̽̒ͯ̽̊ͯ̋̌ͤ̇́͌̊̆͢͏̼̺̞e̞͖͎͔̓ͤ̑͂̕͞h̢̬͉̣̮͇̦̜̻̥̥̘̺͚̞̳̰͖̠͆̅ͬ͗͆ͥ̂ͩ̌͜ ̛̟̱̹̰̩̜̞̟̪͑͛̐ͦͨ̀̃̈́ͮ̇ͬͪ͛́̚̕͞Ẉ̴̯̻̼͎̮́ͮͫͩ̂̒͑̄̾ͤ̅̌̑͞g̢͛ͥ́ͩ̐͆͊̆ͩ̐͆ͯ̚͏̲͕̘̗͇̳̝̮͖̻̖͇̲̻̯̺a̷̻̗̰̮͓̞̣̮̹͈̫͒̐ͧ̾̉̊̎̚ͅh͊̐̍ͥͬ̂ͧͥ̒̅ͮ͛͏͔̭̬̥͕̭͍̯̲̹̹̖̻͖̦̞̳͝'̷͔̙̙̞̙̦̜̤͇̥̲̝̜̤͕͈͖̉̾͋͂͢͡ͅņ̨̲̘̜̹̰͚̩̗͍̩̜̗͚͈̟̺̫̗̓́ͨͫ͊ͫ͌̇͌͛̒ͬ͑̄͐͗̃͗͝a̸̷̧̤͎̪̤̳͔ͪͩ̚͠ͅgͧ̃̑ͥ̃ͤ̇ͧ̈́̓͛҉̛͔͎̞̲͓̥̼͇̝̭̯̗̗̲̰̤̰͓͢͜l̸̨̢̢̹̼͙͓͉̩̤̭̗ͣ́̊̏̄̀̄͒̒̐̔̄̔̈ͤͬ͜ ̸̰̝̞̝̐ͤ͊̿̆̈ͧ̄̔̄͛̋ͨ̉͒͟f̸̣͖̭͚͎̮͍̝̝̗̥͍̭̅̍ͮ̎̀̅ͥ̕͞h̡̪̭̞̪̬̺́̅̿̓̈́̊̓͑ͬͬ̄͒ͤ͆̀ͬ͟͟͜t̸̗̖̱̹͉̫̱͚̩͍͍̜͍̘ͬͦͤ̏̋ͫ͊͊͑͛ͩ͂̄ͥ̾͟͠͡a̢̼̩͕̹͈̼̜̼̝̫̪̹͍̘ͧ̆ͯ̂̀̍̉́ͧ́̚ͅg̢̤̳̗̥̘̣̟͙̩̣̭̣̗̫͈͈̙̗͗ͬ̑͐̕n̵̎ͩ́ͨ̄͞͏̶̗̖͙̮̹̝̕ͅ.̧͆̉̓̐͌̑̊̆ͯͩ͐ͪ͒̅̉ͭ̏͏̘̯͖̻̖͉̺͍͓̰̰̹͉͎̦͉̪P̶̢̛̛̯̰͈̯̞̩̲̫̬͇̱̰̩̰̳͇̰̙ͧ̓̆͒ͮ͋̔ͦ͡ḩ̼̯͖̖̘͎͖̜̠̯͔͔̌͋ͮ̐̽́͘̕͝'̷̢͓̗͍̼̘̙͎̻̻̜̙̬̼̯̠̯͖̬̎̇̓́ͥ͟ͅn̛̠͖̪͎̺̤͓̠̲̗͚̊ͬ̏̽͐͜͜͞͝g̡͊͗́͆̓̋ͪ͛̽̓͋̃̾͊͒͑̋́͏͚̥̩̙͔͓͖l̛̽̔ͪͣͮͯ͐̍ͣ̉̚҉͚̺̪̲̣̦͓̘̟̜̺͓̮̞̦̹̻̀ͅũ̧̢͙̣͙̙̳̜̰̳̙͎̫̯̇͗ͧ̂͂̒͂̓͘͜i̷̷̟̙͔͉̰̗̣̹͓̻͓̬̹̜͍̽̓͌̓̀ͭ͢ ͙̹͕̩͈͖͕̭̲͓̅́ͥ͠ͅͅm̸̨͉͚̗ͨ̐̆́̆ͭ͒̓̐͒ͨ̔͆ͣ̓́͡͞ĝ̊̆̔͛̍̿̎ͨͫ͛̚҉̵̶̘̹̹̗̥̩͚̰̼̺̯̜̱̬̤͢͡l̸̨̙̫̻̬̗̗ͤͣ̍ͭͨ̑͌̓ͨ̽͌ͥ͒̂͒ͥͣͣ́͟w̢̍̀̉ͣͨ̈̍̃ͯ̉̄ͬͪ̇ͫ̾̒̚҉̸͓͈̱̣͓̙̩̪̜͎̺̝̞͜͢'͍̬͖̟̗̘͇͎͚̖̦̘̤̠̫̫̞̙ͫ̎͆̎͆ͫ͌͒ͫͬͯ̽̾ͫ̇́̚͘ņ̗̘͓͍̟͍͎̥̥̮ͬ̽̌ͣ͛̀͗̆ͮ̈͢͟ͅa̷̡̯̼̘̱̘̠͇̹͔̯͍̺̣ͩ̓̈̊̾ͬͭ̚͘f̢̻͇͕͇̮̲ͫ̀ͩ͑͂̌͂͐͌͒͋̃̆ͧ̆̌̎̊́́̚͝h̵̵̛͙̘͈̣̳͕͊̈̎ͫ̿̅͊ͮ ̷̮̞̹̜̬̯̝̭͍̙̦͈̼͙̳̎̐͗̐ͤ̿͑͂̅̑ͫ̆͜͞ͅͅC̵̵̵̼̯̭̬̗̻̘͈̯̞͔͉̹̯ͣ̇̑̆̃̈̉̐́̓͒̍ͬͣ̊͊̿́t͚̦͕̰͉̘͕̩̤̪͕̫̪ͥ͂ͭͫͪ͂̈̈̒̎̚͘͠h͚͕̭̖̖̙͈̺̙̞͕̮͕̺͉͖ͧ̉̑ͪ̈́͊ͬ́̐ͥ͗ͬ̋̾̔̌̕͜͠u̴̜̙͓̟̠͈͇̭̦̤͚͙ͬ̾̀̕͝ḷ̡̱̩̣͙̅͒̓ͩ͒̈́ͧ͒̉̅ͦ̓ͥ͟h̸̙͈͙̥͕̲͙̹̫ͪ̊͊̊̈́̿̐͛̀ͮ̈́̓̿ͫ͑͢͡u̴͑͋̒̾̋̋̈̊ͩ҉̮͉̜̩͉ͅ ͓̤̟̙̜̙̗̳̦̈́ͩͣ̑͑ͤ́͑ͯͤ̑ͨ̓͊̄͂̽́̚͘͡ͅͅR̉̿̈͛͏̴̵̲͉̦̟͙̫̻͇̝̱͔̭͡͠'̴̴̢̳̥̦̼͓̗̼̰͇̝̘͕͓̼͛̾̌ͨͯ͟͝ļ̡̭͎͕̯̣̹̪̘̗͚͙͎̹ͧ͊̄̈ͮ̿̊̇ͬ̓̂ỹ̦̼̣̗̥̺̲͎͔̦̖̍͒͌̌̈́͋̓̔͂ͯ́͌̌̋̋̚̚̚͢͝͞ͅe̴̅͛ͯͯ̑ͪ̕҉̷̨͓͖͇̩̜̘̖h̡̧ͭͩ͑ͨͦͯ̐͗͑ͭͣͫͨ̑̆̋̈̚͏̗̪͈͖͎̪͉̬̬̞̱̟̥̕ ̷̬̺̣̜̺͉͖̤̩̲̺̑̉̊̃̉͐͌͑͊̋̎̇͋̀̚͜͡͠W̨̳̣̭͕͚̫̝̮̹̜͚͉̰ͧ͂ͬͣ̈́ͫͮ̄͒ͣ͡g̨̛̖̪̤̖̼̮͚̥͚̲͇ͦ͒͒͑ͥ̅ͮ̐̌̽ͪ̓̑̉̾̐̏̓̀͟â̷͙͍̫̝͓͖̈́͛̑͌ͣ͑̐̎ͮ̂͒̔͡h̨̀̓͛͋̾̓ͤ͞͏͎̯͇͖̮̣̱̠͈́'̵̧̩̟̩͍̜͇̤̪̭͎̺̲̘̠̎̽̎ͪ͛̾̓́͡͠n̸̴̨̞͔̱̱͚̠̬̑̆̓̍̑͋ͣ̃̀̕a̢͎̭̤͈̞̬͔͇̺̖̺͕̪̯͈ͭͬͩ̒̆̅̏̊͌ͧͫ̓͠͞g̛͇̝̲̦͙͖͔ͣ̈́̓̎͌̓ͦ͋̋̑ͭ̀̒͑̚͡l̴̩̺̝̰̹̤̪͙͖̩̖̤̟̩̤͔̫̼̝̈́̂ͬ͋̌ ̴̧̟͖̹̻̜̦̙͖̌̿̓́̔ͨͬ͊ͮ̓ͯ̃̽̎f͌̇͌̃̂ͮͫ̇̅ͭ̔ͯ̐̒̓̊͊͛ͪ҉̜̳̖̗̜͔̜̻͡h̶̵̠̣͕̺̣̪̗͎̯̼̻̺͓̔ͤͨ̌ͧͨͥ́̿̐̍͛̏ͅt̾̾̋̓ͪ͌̌̒̎ͬ̉̋́̄ͤ̑̈́ͣ́̚҉͏͏̗̳̪ͅa̰̬̭̤̭̰̻͐̈́̏̀̑͑̑̑͟͠g̸̯͎̼̠̼̱̦̯̩̱̟̫̜̰̝̞̏̿̑ͩ̔͛̀ͦ̑̈̚͟͜ͅn͛ͤͦͩ̔̊̂̂̚͏̢̜͕̟̞̬̳͚̲̱̙̖̪͚̰̯͍ͅ.̸̶͔̣̦͙͉͔͍͕͑̇ͥ̄ͮ̈ͭ̍ͬͮͩͫ̎ͯͥͅP̧̧͕̟͇͓̌̅̈ͯ̊ͮ́h̢͙̳͚̹̃̽̔ͧ̓͋ͣͦ̂̓̓̈́̓͊͂̈́̕'̧̾̒̈́̂́̉̏̉͗҉̞̪̤̹̙̰͍̣͉̖̳̼̼ͅn̡̪̦̥͇͔̖̩̤͎͖̙̠̳̮̼ͥ̒͒̈̑ͮͭͮ̊̏̀̔͒̃̃̉͟͜ģ͓͇̮̠̣̙̮͉̯͍͇̩̣̮̿ͩ͛͛̌ͮ̇͂̆̆͠͞ļ̛̟̼̣͖̳̞̜͓̥̮̬̳̬̹̭ͪͨͨ̾̉̎̿̾̄̇̎̇͋̎̒̽͗ͨ͢͜ṷ̸̢̟̗̮͈͈͓̜̠̺̬̭̎ͬ͛ͧ̀̽́ͮ͂̑̈̍̈́̾͡͞ĩ̸̛͎̻̲̰͔ͭ̀̔̉ͥ͒ͪ͆ͫ̾́ ̷̷ͩ̄͋͆̃̿̒̑̾̂̇҉̖̬͈̯͕̘̯͞͠mͯ͌̎ͭ́ͧͦ̋͡͏̜͕̻̮̟̗̬̯͍̙̮̬͎̩̯͡͠g̸̸̡̯̤͚̮͎̠̱̦̣̦̝͙̓͋͑̿̏ͯ̍̊ͩ̈̆̀ͪͨļ͎̥̻̪̼͇͍̩̝̳̟͎̦͖̍̅͛͊͋̔̓̆ͯ̉͒̅͊̏̐́ͅͅẉ̡̡̧̢̺̤̮͎̙̤̱͖͇̬͛̈ͧ̌ͫ̌͑̚'͓̗̟̳̭̲̓̈́̒̾̕͜͞͠ͅn̵̢̨͍̫̳̗̱̑̌̄ͦ͆̎ͪ̾͒̓̉̊ͤ̍̎̚͜a̷̷̷̜̣̘̠͓̳̮̹͇͍̩̣̟ͦ̽̾͋̐͂̚͘͠f̴̧̣͇͎̱̟̦̫̼̤̱̪̘̮̭̲̜̬̹̂ͧ͌̃͊̐̐ͬ̇͐̍͒ͬ̑̅̇̚̚͟h̴̠͖͔̠̻̙͚̰̱͍̹̭͕͙̾͒̎̂̈ͩ̒ͮ̋̄̂͠͡ ̵̨̢̧̯̝̰̜̝̬̮̭̄͗ͬ̅͋ͨͤͪ͆ͩ͌̍͂̐̿̀C̣͍̣̫͖̫̣̯̗̝̰̣̟̣͖ͫͧ̐̃͐̆̌ͭ̈́͆̏̀ͦ͊͠t͆͂ͥ̓̒̃̌̎͏̢͍̣͇̪̘͓̜̝͖̬̼̀͝ͅȟ̵̲̠̖͎̩͚̩̳̪̲̪̗͚͇̹̩̣͑͆̈́͐̆̂ͤͣ͟͡ͅͅṷ̝̠̰̰̞̰͚̱ͪ͐̾̎̇̂ͮͬ̅͌̒ͩ͠͡l̴͑͑̊ͥͬͮͭͬͬ͡҉̺̻̟̺̟̟̤̳̩̪̰͕͍͍h̶̷̷͉̜͇̼̗͕͕̭̤͓͈̫͍͊ͤͥ̐̎͆͒ͮ̆̂̚͢͞u̢̧̬̺͓̜̝̐͛̋̎ͪ̅̈́͐̏̇͝ ̍̈̇ͩ҉̨̩̙̭͚͇̥̫̟͔̭̘̱͖́R̢̟̩̥̖͎̣͍̰̯̽̃ͤͥ̏̅͛͗̊̀͟͞'̥̤̪͕̩̝̟̳͇͚͉̩͉̱̓̍̒ͥͧͧͬ̈́̎̇̒ͫͮͯͭ̚͢͟͟͞l̴ͭͤͦ͒ͤ̆̽ͩ̉̑̒͌̈́̿̐̄̚͡͡͏̯͔͕̳ÿ̴̡͖͕͓̯̰͓͉̗́̓͌̂ͤ̇̌̆͜͝e̸̶̯͔͉͚̪ͤ̓ͨͯ̂ͧ̽͋͐͂ͣ͒̓ͫ͢͟͝h̶̰̺̘͚͖ͭ̾̏͑̑ͦͦͤ̇̑̑͋̆̈̎̚ ̶̡̭͍̠̜͎̙̳͍̠̗̯̝̥͐̐͆͂̌̐̏͘ͅͅW̶͇̗̖̳͕͕͉̝̯͉̝̰̯͖̬̭̞̑͆͑̓ͬ͗̊͌̐̑́ͩ̏ͯͮ̀̕ģ̸̡̬͙̥̤͈̹͙͍͔͍͚̹̏̿̋̊ͭͧ͌ͪ̃͑͋́͠a̵̶̛̫̙̖͓͓͔̤̳ͦͩ̊̏̋ͧ̒̋̌ͧ͒̅ͦ̆͊͞͝ͅh̨̜͍̫͍ͬ̋ͦ̓̈̒͑̓ͫͣ̇ͮ̚͡'̴̵̨̣̼̫͙̦̥̩͚͍̩̥̱̯̜̥̥̲͚ͦ̓͗͐ͮ̈́ͯ̈́ͭ͆́ͧ͘͜ͅn̛̬̫̠̘̐͗̇̐ͣ͛ͥͫ̾ͫ͋̑̽̇͗ͯ̈̀̚a̴̧͍̦̠̝̞̙͎͉̹̺͙̱̳̮̣̣͈͑ͥ̓̔̊͋ͩ̄͘͡͠gͯ̔͌̈́ͫ͒̾ͭ̑͗̔͏҉̨͍̜̠̘̞̟̩̯͇͚̀ľ̷̴̲͓̫̼̮͕̤̙̩̮͔̺̒̔̃̆̔͘͢͠ ̷̧̡̪͖̥̰̰̝̞̘̿ͤ̏͊́́͋͜͡ͅͅf̴̧͔̠͚͎͎̞̹͚̳ͮͯ̀ͬ̎͐̒ͣ̍͊̽̿ͪ̄͑͑ͮ̒hͭͧ̿̈́̃͑̎̎̎͒͏͝͏̴̪̺̞̹͙̦̪̝͙̣̞͚̩̖̫͍̬̭̥t̒̑̓̄ͨͭͤ̽͐̀͗̊̿̆ͭ͗̚҉͈͈̞͉͍̥͢a̪͔͉͚̟̟̘̠̮ͦ̒̅̋̀ͩͦ̄̾͘͜͡͠g̵̶̡͎̘̩͚̻̗͊̇͆̽̀͌ͪͧn͍͎̙̱͚ͬ̒ͤ̃͂̅̊ͨ̃ͬͬͫ̀͘͝.̧̒ͥ̌ͪ̄̒͆ͭ́̎ͫ̄̆ͫ̽ͫͮ̽͠͏̢̞̱̰͓̖̖͔͞P̸̴͕͉̼̝͖̼̩̻̟͓͎̗̠͖͎̜̫̯̾̔͑͆̍͂̂͜h̷͉͔͍̠̲͉͓̜̖͉̹̤̻̭͕̦̥͓͔͋̆ͮ̃̿́ͬ̿ͬ̀͡'̷̸̸̛̗̳̫̹̝̻̩̼̲̝̗ͥ͊̈̇ͧ̓ͤ̉̐ͭ͋̇̈̂̚͡ṅ̡͈̪̦͙̒̔̃ͬ̋͌͞g̈́ͭ̋͑ͫ́̉̓͑̓̑̽ͧ̊̽ͫ̉̐͞͝҉̻͓͎̩͉̪̟̰̲͢l̬̙͔̙̗̠̰̪̭̾ͯ̃͊̈̅͂ͧ͑̆ͣ̉̀ͩ̀͞u̧̬̱͙͓͔̳͚̥͔̦̗͎̬̪̳̩̥̪͌̅̋̅̾́̉̇ͭ̎ͥ̊ͧͩ̄̓͌̋͠ȋ̈́̐ͦͭ͊̀ͮ͑̓͌̊҉͡͝͡҉͎̘͍̩̼̜̼̪͈ ̴͎̼̱̘̞̘̤̱̽̍̆̓̓͂͋̍̾̇̀̃ͣͥ͐̕͢͜m̸̩̟̣̹̪͓̝͙͙̲̺͓̭̰͋͗ͦ͑̉ͦ̇̉̀͢g̸̛̰͙̻̻̦͔͙̤͈̞͖͙̰̭̠̻̲̠̋ͪͭͮͮ͋̓͒̆̊ͮͤͣ̚l̸̵͎̺̤̆͐̑ͧͭ̌̕͜w̶̢͔̣̺̦̞̺͚̖̘͕͌́̌̾ͧͪ͜'ͥ̓̽ͥ̎̄͊ͬ͂҉̵̫͇͚̬̺̙͇͇̝̝̫̱̕͞n̛̳̣̙̪͇̣͎ͥͣ̿͑͛̽͋ͮ̆ͧ͗̐ͥͥ̉͗̀ͅa̵̹͍̞͚̬̞̻̩̫̫̮̓ͯ͐̎̇ͩͮͦͯ́ͥ̈ͥ́͢͠f̸̴̧̗̞̥͎̞͔̼̱ͩͦ͌̑̔̎͐ͣh̶̜̗̯͙̱̩̥̙̓ͪͭ͒̿ͭͨ̌ͫ̈́ͣ ̵ͥ̒͊ͩͤ͑̏̏͌̚͏̺̩͈̩̘̟̻̞̮̞̼C̵̸̢̧̳̜̱̮̈ͣͥ͋̈̐ͫͤ̈̃͘t̘̬͈͂ͤͯ̑̈́ͦ͋̽̾ͬ̚̚͟ḩ̴̩̼͈̼̰̞̲̪͚͙̼̪ͭͯͤͫ͂͑̔̓̽̚͟͞ų̫̫̥̻̭̺̟͇̯͚̞̳̪̦̜ͩͫ̉̓̃͑̽͋̉̌͞l̟̰̖̥̈ͥ͌͆́̅͗̋̾ͩ͐͘̕͞h̷̡͓͚̬̮̠̮̹̙̣͕ͩ̆̀͐͛̓̕ͅu͖̙̝̥̬ͬ̆̊̀̀͢ ̸̧̤̱͓͚̺̮͇̪̣͕̺̞̓ͤ͐̊ͭ̃͑ͯ̀ͩ̎̚͟͟ͅŘ̴̡̨̻͈̳̤̮̹̞̤͉̲̹̰͎͑̔́'̷̡̡̧̫͔̺̰͍̥̫̳̮̹̩̑ͣ̇̑́̾l͗̈ͯͦͮͫ̀͘͢҉̸͉͉̙̫̭̠͖y̶̸͚͈̪̙͓̞̥̣̼̦̱͐͗ͬ͋̍̂ͫ̈́̍ͫ̌̽̕e͗̿͑̌͒ͦ̅̈́̔̄ͨ̄͌ͯ̐̑̚͜͜͏̨̧͇̻̘̥̦͖̪h̸̡̛̜̱̪͔̳͛̂͋̈́͋̐͗̾͘ ͚̯̱̫͆ͭ̑̾̔͂̔͂̓̌̕͢͡͝W̌ͯ͊ͤ̃ͨͪͩ̓̆͑͗̊̎̐͒̌̚̕͜͏̛̻̳͙͎̣̞̖̭̦̖̭̮͉͚̙̬̝̞͞g̛̈́͑̌̓ͭ̄ͪ̾̑̅ͭ͏̢̨̺̦͍̮aͩ̏̎̂͊̏̈́̂͛̂̈́͏̨̰̘͚̙̝̜͍̥̰̼ͅͅḩ̨̡̀͋̌̈́ͣ͒̌̓̈͏̗̬̺̼̝͇͇̙͚͖̦̰'̥̤̥̹̬̮͇̫͉̗͎͙̜̖̺̏̑̂̍̈́ͦͭ̚͢͝n̨̨̺͙͍̰̦̖̘̝̳͉̞̪͕̣͇ͤ̿̽̏ͯͪ̕͟͜a̷̺̝̘̤̜͇̜̫͉̯͙̝̻̯͉͔͙̜͐͆̈̑͑̎̋ͣ̇ͭ̚͜͝͝ͅġ̟̞̺̥̙̰͓͙̩̩̩̱͓̱͎̲ͤͨ͋͆͛͂͌ͧ͗̎̃̚͟͡l̿̏ͨ̓̄̀͋̋̎͂͌͗̍̕҉̧̛̞̰͕̜̣̦͓̼̹͚ ̷̧͎̺̜͈̟͖͉̹̰̲̦̝̜̗͎ͤ̈́ͩ̌́̃̄͌̅̂ͩ̑̊͜͝͠f̡̛̳̼̬̝̳͍̹͙̖͓̗̱̤̟̙͓͙̥̼ͤ̋ͫ̊͠͞ḩ͒̄ͥͦͬͩͯ̓ͨ̅͂ͤ̒ͥ͆͊ͣ͝͏̡̯̺̜͖̲͓̘̱ͅẗ̨̨̺̩͔̤̫̫͇̤̱̦͎̺͔̪̩̞͖́ͮͬͮ̓ͭͪ̓ͣ̍͒̽ͣ͐ͧͭ͛͗ͮ͡͞͡a̿ͯ͂̍̌̆͌̊̆̅ͥ̽̌̋͗̾͏͏̮͔̗̰̳̳̺̞̟̹̜̰̼̯̖͓͢g̵̛̗̯͓̬̜̗̣͚͔̤̝̦͖͍̣̙̼̟ͣ͆ͫ̚ͅn̡̛͖͇̗̬͕̘͍̺ͬͪͫ̂́ͮ͆ͤ̏̿̓̋̒̀́.̧̨̻̲̤̟̟̹̻̗̥̤̺̝̹̫̘̞ͩ̊ͬ͆̏ͪ̋̓̉̔ͪͥͮ̃̓̾͘͡͞ͅͅP̢̜͇̳̖̘͍̲̼̲͙̪̘͕̩̮̩̊̿͌ͪ̆͋̀̚͘͡ͅȟ̷̨̨̜͕̬̗̥̜̖̝̹̖̗̙͎͙̝̞̤̙͛̄'̹̞̺͙̤̙̫̻̲̓̈̃̉͗̈̋̔̒̽́͘n̼̦͓͖̤͍̮͓͇̦͑̂̐̓̆ͦ̍ͯ͂̐̾̒́́͘͜͜͟g̤͍̬̪͍̠̤̣̻̩̹̠̗͎̦̪ͨ͋̾̾͛̏̂̿ͯ̎̉ͨ̄̒̊́̕͝ͅl̸̲̰̙͖͚̯̅̈̍͊ͯͪͭ̓̊ͩ̍́̚̚̕͠ų̧̠̮̘̥̝̘̭̱͉͈̅̊̓ͦͥͩ̑͟i̷̶̦͉̘͓͙͖̤̝͙͓̭̯͌ͣ́ͭ͆ ̡̳̤͍̲͚͕̆ͭͫ̏͒͑̎ͥ́̿̌͗ͨͥ̓ͭ̿m̵̢͕̞̰͖͎͇̖̟̞͉̟̫̲̮ͤ̇ͭ̿͆̆͂͆ͥ̕g̷̢͗ͪ͛̋ͭͩ͌̍̐̒̈͗̚҉̱̱͍̲̩̹̙̰͎̥͇͕l̵̛̞͙͔̜̜̩̹̥͍̲͎̪̻̮͙̀̋͒ͪ̐̈́̀̌ͪ̈̐ͤ̽͌́͟͟w̴̧̰͈̺̭͉̦͈̣͓̠̜̞͇̪̗͔͐̿͗͌̊̒̾ͮͫ͊̆̀͞͞'̢̣͉̗̱̰̾͒ͭ̈ͤ͒ͪ̈́̚͞ṇ̷̶̛̠͓͍̟̗͉̬̬͖̬̰̪͚̪̤ͮ̌͋̑͋̀͠a̛̒ͧ͊̂ͦͥ̑̊҉̡̫͚̼̟̤̖̹̗̲̀͘f̧̹͚̱̫̱͕͓̖̥̥̖͉̑̏͋̆̃̄̅͐͆͊̽͋̒ͩͨͮ̈̚̕͜͜ḧ̢̞̣͕̹͔͕͚͔̘̯͓̉ͦ̅̍̅ͪ̿ͨ̈́̓͛̑ͨ̌͑̕ͅͅ ̛̥͇͙͚͕̹̻͙̺͙͇͇̯̦̖͖̹̄͗̓͐̒̌̀ͮͨͯ͢͡C̻͉̪̱̜͚̋ͯ͊ͬ̿͆̈ͨ̋̊͗̔ͮ̽ͫ̈̀͟͞͞ṫ̵̗͕̹̙͓͎̜̰͎̩̗̗͒̾̓̈́ͧ̓̽̃ͬ͑̐ͣ̉̀ͪ͑̄ĥ́͋̓̏̍̀͢͞҉̢̫̬͖̖͖̞ư̴̢̫̗͈̩̩͖͓̥͚̫͕͈͋̓͗͌ͫ͋̈́͛̾̒̾̅̊̔̚͘l̆́̏ͪͥͫ̑͂ͮ̓̆̆̈́҉̸͡͏̹͖͙̠͔͕̯̻̦ͅh̊̆͛͒̚̚̚͠͏̱̗̦̲͈͍̟̯̮͉̖̭̯̫̥̭̼̤u̢̠̖̥͍̲ͥͩͪ̒͆͋͗̊ͧ̇͘ ̵̢̦̪̻̰̺̝̬̫̻͍͑͆ͯ͛̐ͯ͗ͣ̚͜R͎̪̝͇̺̩̟̤̭͔ͮͩ͛̎̓̆̉̄̓̍ͪ̆̽̀ͣ̿͆͢͠'̞̲̘͖̳ͣ̈͋̃ͦ̈͂͊ͫͯͦͮ̃͊̐̉ͫ͌͜͡͝l̶͓̻̣̟̪̭̤̦͚͕̪̗̪ͯ͋̒̎̒͌͋̇̒̊̊͋ͥ̂͒̈́ͣͧ͢y̡̼͚̻̝̩̲̹̠̩̖̥̺͙̬͎͓ͨͧ͌̋̊̂̈ͥ͐ͣ̆͠e̷̷̛͓̼̞̖̞͙̪̥̪͓̓ͪ̆ͬͦ͘h̷͈̥͓̗͉̳͇̠̖͇̗̥͋̀̐̄͗͢͢͝ͅ ̇̉̎̅̿ͥ́ͩ̈͌ͧ̀͏̷̷̨̞̞͍̟̠͖̮͉̘W̧̼̬͖̩̮̫̭͚̫̝͙̲̫̞̮̖͓̎ͬ̃̾́͜͟͠g̡͇̺̗̜͓̲̮̲̼̙̲̠͈̪̞̮͛͒̋̒̈͌̈ͬ̿ͧ̊̀ͧ́͠ͅa̹̦͉̠̹̰̳͎̟̻͖̋ͪͤͧͮͤ͂̿̚͘͠hͭͮ͌ͮ̌̇́҉̵͔̠̳̺̠̗͓̯̰͙̠̱̣͖͟͟'̢̉ͫ̈́ͨ̑̓ͤ͌ͦͬ̉̒̈́͒͑͗̆̚͟҉̼͖̣͎̞̞̳n̷̢̨͙̣͈̰̻̼̲͑͐ͧ̌ͨͤ̈́̀͘a͆̅͛ͩ͗̋͛̔͞͏̸̮̘̻̺͍́̕g̡̏͑̈̓ͦͫ͏͏̱̭̼̬̥͙͕̹̕l̶̳̭̟̜̺̜̺̖̹̟̹̿͋͆̿ͬ͜͝͞ ͗͛̾̿ͮ̈́͌ͮͣ̏ͩ̄̂͏̶̡͇̲̱̫̗̟̺̝̭̞͜͢ͅͅf͖̼̬̬̂ͨ̒̆ͣ͆̐̌̑ͧ̾ͥ̉̓ͪ͜͠͠͞h̡͐ͬ̆̈͌̂͗̾ͤ̎͋͛͂̒ͮ̇̃ͨ͂҉̧̠̲̫̻̼̰̙͘t͛̓ͤ̈́̓̈́͏̨͇̣̼̳̖̖̺̣̖͔a̧͎͈͇̘̰̗̩̟̥͖͉̗̥̦̝ͦ͐ͪ̐́̕͡g̽̏͆̑̄̀̕͝͡͏̭̠̳̺͉͢n̯̣̟̻̯̳͍̝̰̲̤̱̼̋̃̾̎̍̒̑͟.̵̧̭͚̤͙̱͈͎͖̩̻̳̺ͥ͂ͪ̒̍ͯ̀̕͝ͅP̱̤̻̳̪̹͙͔͉̠͉͉̘̺̰͓͇͚ͧ̋ͤ̔̍͋͛̈̃̃ͫ̀̆ͧ̌͢͜͟͝h̴̸̦̰̳̮̭͇̤̭͚͔͕̯̮̯̲̫̐̓ͬͯ̈́̂ͭ̀ͬ̏̒̚͘͞'̜̣̮̝̪̗̩̺͍̋̌ͤͧ̒̆͆́͜͡ͅn̶̈́͂̾ͦͯͭ̇͑͂̾̉͏̸̮͓̙͕͚͓͎̻̤̫́͟ͅͅģ̩͍͕͙͉̩͙̟̜̫̹͇̗̱̝̃͒ͯ̐ͯ̒̑̄ͥͬ̅̂ͬͩͪ̔̈͋̚ͅl̗̻̦͎̜̽͋̓̅͌̏̀̔̊ͨ̏͆͆̓̀͝ư̶̴̦̦̖̆̆ͥ̇͝ͅĩ̟͍͈̖̯̘̳̞̩͇̞̗̹̺͉̖̞͈̂͐ͤ̾͒͛̿́͜͞͞͠ ̆ͮͧ̾ͦ̏͡͏̗̙̘̰̤͕̖̺͔̰̙͎͖̲͉ͅm̰̙̖̻͎̬͕̪͈̲̞͕͈̔̅ͪ͌̏̏̓͛͐̂̍͠͞͠ğ̇͒̋̊͋ͪ̆̽ͫ̍̃͏̸͚̰̣̬̳̺̖̭͙̜͓̳̯̳̺̭l̶̨͇̲͓͈̗͎̲̬̬̙͖̖̲̬͔̤̗̜͈͒̒͌̏̅͝͠ẅ̛̬̥̳͖͓͈̞̼́̂ͨ̋̓́ͨ̀̂́̈̉̊̑̒̀̚͘͜ͅ'̢̦͙̫̩̹̳̦̻̙̭͗͆͒ͪ͆̄ͭ͑̑̑̏ͮͨ̌̊̅͊̅͋̕͝͞n̴̨̢͉̩͎̣̼̬̮̤̱͓͉͈̰̈ͫ̈́͛̈́ͣ̑ͦ̒̋̀͢a̧͎̘͈̳͈͍̳͚̩̜̜̭̮ͨͦͦͨ͒͞f̶͙̦͕͓͚͙͆̓ͨ͊́ͥ͋ͧ̾̃̕͠͞h͇͇̹̬͂̂͒̚͘͞ ̵̢̘̩̟̗̽̈́̍ͪ́͠C̴̶̡̠̲̫̙̫̖̟̗͙̩̰̓͆ͭͯ͘͟ͅt̢̡ͥ̀ͦ̂̊ͩ͘͏̟͖̞̗̜͙̯͔̤̬h̨̫̻̖͎͍̬̦̠͖͕̼̫̼̘̟ͮͩ̃͂͑̾̾ͪͪͭ̈́ͮ͘͞ͅu̢ͥͯ͌̇ͣ̑͋̄̒̌͋̄ͧ͜҉̹̮̭̝͙̖̫̳̱̩̠̲̫͉̘͉ͅl̷͈͙̭̭̥͙̱̞̱̰̹͋͒ͮͩ̀͆ͧ̾ͣ̒͑ͨ͆ͩ̚̕ḧ̸̨̨͇̥͙̥̮̄ͧ̋̅͗͂͆ͤ̌̿̒ͩͨ̽͗̐̋ͮ͠ͅų̡̟̯̫̯̗̮̘̭̲̤̻̙̳͚̹̉̽ͦ̌̍ͬ̐̀ͫ͜͠ ̵̮͎̞͍̯̣̝̯͕͙̦̖̟ͣ͋ͦ̄ͥ̀ͭ̏͌́̚͝R͍̫̻̗̦̞̫̫̫͎͉̥̹͊́ͨ͐ͮ́'̛͔̺̮͓͇̗͈̆͂ͭ̔̃͂̓̈́͊́ͯͩͥ̐ͬ̈́́͡͞l̷̛̹̩͚̼̜ͬ͆̉̑͌͆̆̾͘͢ͅy̷̬̲͉̳̤̥͚̞̯͉̤͖͙̥̻ͥ̂͗ͫ͜ê̾͌̈̃̿͛͊̔͌͆ͪ͒ͨͭ̚͟͞͡҉̩̤̗͉͎̜̲͙͈̜h̶̸̨̧͕̼͈̲̯̮̙̹͇̫̟͓͍ͨͨ͗̋ͨͬ̇͋ͬͥͦ̌̄͒̈́͒͋ ̷̡̱̩̻͈͕̺̗̥̺̟̭̘̪̯̝ͮ̔̽ͮ͂ͫ̈́͗͊͆ͩͪ́̀̚ͅW̸̨̜̪͈̩̯͇̹̺͉͇͙͇̭̪̳͛̌ͩ̉͂̄ͫ̊ͩͤͥ͐̆͜ǵ͗̓ͯͩ҉̥̩͓̳̫̯̰̀͢͟ą̢̞͈͕͖̣͙̪̥̝ͦ̎ͣ̒̾ͣ̂͐͗̆͡ͅh̵ͩ̊̊̆ͮͯ̍ͣͣ̓́̏̈́̔ͫ̌̃͗̚҉̶̦̤̘̰̲͉̳̫͍͈'ͩͪͯ̑̾̃̀͆̋͞͏̞̞͉͉̹͍̳̯̠̞̻̙n̽͋̔͆͛̄̎̚͟҉͠͝҉̲͈͖̪͉͚͈͇̠͙̮̤͙̜̼̻̩ͅa̸̷̢̹͙̻͖̭̲͍̹̩̯̲̳̳̼̘͂̆ͥͦ͘ͅͅg̴̈ͬ͂ͦ̒͋̔̾ͥ͗͏̧̛̖̰͉̜̤̳̝̰̻̭͓̪̻͜l͒̓̒̄͐͑ͯ̑͟҉̨̟̰̻̜̺͔̩̜̯͈̹̪̳͔̩ͅͅ ̶̢̧͙͖͙͓̥̦͉̩͈̊̓͂͟ͅf̛͗̿ͨͯ͊͗ͥ̀ͩ̃̉̉̎ͭͧ̚̕͝҉̺̩̯̼̩̳̮̟̳̬͙͡h̷̸̶̭̰͕͕̦̑̌ͭ̄ͨ̉̅ͬ̽̋̏̇ͫ̅͞t̶̵̴̗̭̟͖̠̞̮̼̠̤̭̜͚̣̠̗̳̆̀͒ͮ̐̿̈́̽ä̶̛̹̹̻̜̖̖̪̯͓̥̣͕͚̭͗ͬ̎̂̑͆ͦ͒̉̔̾ͦ̏ͫg̡̢̯̞̪̺̲͍ͬ̊ͮ͜͝ṉ̴̛̭͉̣̬̱̻̠̩͎̳̏ͦ̇̿ͪ͑͐ͨ̍̎̔̃ͭ́̀̚͘.̢ͣ͑̑̎̄̆̌͊ͨ͏̦͍̱̩̬̭̬͓͈̜͙͉͈́P̲̘͖̹̘͇̫͈̱͓͉̤̯̍̿͒̄̋ͣ͒ͣ͌ͫ̍̂̂̇ͨ͛́ͫͤ͘h̴̥̣̮̺̮̒ͦͥͣ̉ͮ̍ͧͭ̎̄́́͘̕'̵̢̤̟̲̥̫̥͖̤̩̣̮̾ͮ̋͗́̀͢ͅͅn̶̜̹͓͎̼̞͕ͣͩ̽̐͒ͭͤͯ͆ͥ̚̕͘͢͢ģ̵͛ͪ͊̏̌̈́̇̏͂͋ͨͮͫ́͏̼͚̥̯͍̞̺͓̖̯͍̲͜l̵̞̦͕̬̱̮̪̪̣͈͛ͤͭ̍ͭ̈́ͨ͂̿͂̄̂̿͂̿ͧ̀̚͘͟͢ǘ̶̷̗̰͍̱͇̠̯̦̘̼̭͓͎̱̫̟͋͋̒ͦͪ̓ͯͫͪ̈ͪ̉͟i̠̺̠͎̲͖̻̳̘̝̇͗͗͗͆̐̀ͧ͑ͪ́͘͜͞͠ ̛̟͉̼͎͕̹͇̙ͯ̓͛͒̒͐ͩͪ̌̓̅̇̏̽̋̈́̚͢͠m̵̧̦͎̟̪̯̥̟̓̊̈ͬ͌ͨ͐ͣ̑̇ͧͨ̌̈ͬ́̂ͦ͜͡g̸̸̮̜͙̻̣̦͎̘̿͆ͬ̔̑ͫ̉̀̌̀̕͞ļ̴̼͕̗̲͙͖͎̟̮̲̠̂ͧ͗̑ͨ̐̊́w̶̖͈̭̝͍̲̺͐͐ͩ̐ͧ̂͛̐ͣͨͦ͌͘͘͜͡ͅͅ'̐̂͂͐͂̒ͩ̓҉̵̛҉̨̼̜͇̹̺͕̣͍͚̬̙̖̗̦̝̺̰ͅn͗ͬͤ̂͑̀̚͏̖̥̖͎̼̰̪̭̥̺̠͙̜a̟̫̯̬̘͍̗̪̰͌͋ͦ̀͌̎ͤ̈́̓̅́͆ͬ́̄̍̕͞ͅͅf̴̴̜̩̙̤̙͓͈̮͙͓̫̲ͮ͛ͩ̎ͦ͑̈́̊͘̕h̰͈͕̑͌ͯ͑̌ͨ͒ͤ̀͘͞͝ ̎̾̉̄̂͘҉͓̞̲̻̮͖̹̩͝͝C̷̵̥̟̜̥̯̹̳ͩ̀͐̅ͤ͒͞ͅt̢̢̢̢̼̺͎̣̘̠̲̬̱̖̩̺͂ͤͥͣ̋̈́̆̆͆̓͊ͩͭ̎̓͗̔͡h̀ͧͮ͊ͦͫ͊ͪ̈ͦͭ̓̏̂ͥ̄ͩ͆̿҉͏̷̟͖͍̣ú͊́ͦ͑͛̈̌͋̒̓̈́ͨ̀̓̽̓ͨ͜͏̮̖̭̟͎̲͎̠̘̹̹̳ͅͅͅl̡̧̺̘̗̞̟̤̗̦͇̠̟͙̮͉̒ͦ̐͆̀̏̾̄ͩͤ̀ͅh̨̳͉̱͍̜̤̘̘̼̲̝̼͎̊̓̏̏̽̀ͅu̯̪̫̳̝̰͎̖͍̣̫͙̮̠̎ͬ̑́̍͑ͮ̃̏͋͆̕̕ͅ ̛̼̠̯̼̯̝̦̱̩̩̳̠͓͚̰̳̇̈́͋ͮ̕͠ͅRͣ̊ͨͨ҉̧͏̖͍̫̳̺͔͎͚̩̺̬̙̥̹͎̖͇'̢̛̩̪̟̦̞͉̤̲̜̜́̾̑̿ͣ̐́̈́͑͆̑̃̏ͪͫ͑́͝l̸̨̠̺̮̪̣͈͇̖̰̟̣̫̻̗̠̎̓ͮ́͑̐ͬ̍ͅỵ̵̵̱̩̬̳͖̲̻ͪ͋̈́̾ͧͯͭ͑͑̓̅͒̎ͪͫ̎̍̆͂͟͠͝ͅe̢͇̜͔͙̥̖͉̞̻̳͉̥̥̔͂ͪͫͮͦ͐ͧ͆̂ͩ̽͂̑́͘͟͡ͅhͨ͒͊̈̃̓ͭ͆̅҉̨̳͔̻̺̩̖̱̗͖̰̼̬̲̝͔̫̙̺͝͠ ̢̛̱̪͉̘͈̺͔̞̻̏̓ͯ̑̑ͯ̿̉̓̀̚̕̕W̵̨̋ͭͧ̿̾ͫ̑̐̏͊̓͌̓͋̋͑̅͆ͫ͏͖͉̺͕̜̩͉͈̠̫̜͔̹̱̟ͅg̶̡͔̺̺̮̳̦̍̈̈͂ͫ̈̐̀ͫͩͮ̎ͥͤ̌͌̏̚͢͢a̧͉̝̗͖̙̻̲͚̘͖̗͛͛͂ͮͦͣ̚͠h̛̪̪͔̱̞̼̘̯̰̙̖̥̦̰̱̥̑̾ͧ̓ͯ̇̈́̚͠'̜̟̜̆ͣ͐̄͐̂̉͐̋ͫ͐ͩ̉̑͌ͣ̀̚͡ͅn̨̨̻̰̞̘̭̹̞̞̫̟̺̥̟̣̯͉͓ͩ̀̓̆̏̑͒͌̀̕a̧̢̛͓̗̮̠̩͍̥̥̖̰̼̮ͫͮ̾͆̆́͝g͉̠͇͓̱̪͓̠̜̮͖ͦ̈ͪ́ͭ̒̂ͬͫ̌̎̍ͭͪͣ̀͘ḻ̸̵̞̖̗̥̝̼͇͚̮̅ͮ̿̍̅͆ͦ̾͘͝ ̶̴̴̺̞̭̫̱̦̫͕̬̲̱̲͙͇̾ͪ̅̉ͤ͠͠f̷̼̯̣̜̟͙͚͇̦̂͌ͬͦ͐͊ͥͭ̆̚͢h̴̢̧͎̺̩̙̙͂̌̀̿̕t̡̀͒ͮ̚̚͏̼̬̼͉͙̱̭ǎ̶̵̯̠̙̟̱̹̮̟͈̞̰̜ͥ̎͟͠g̢̢̡̝̖̠̬̗̱̬̪̟̱̟̞̦͍ͣͫͤ̒̇ͣ̓̂ͪ̀̈͢n̐̒̉̿̃͞͡҉͇̜͖̜̞̼͓̙͇̹͔͘.͖̖͕̰̠̺̆͊ͮ̀ͦ̍ͨ̿ͧ͘͘͢ͅ

Classé dans : IRL Mots clés : aucun


05
avril 2011

INSIA - Technologies UNIX : TP N°5

Rédigé par Matthieu CERDA   6 commentaires   Mis à jour le  05/04/2011

Rebonjour, c'est reparti pour un petit TP ayant pour sujet SSH et X11.

Aujourd'hui, du sang et des larmes.

Au programme :

  • Installation d'un environnement X11 sur notre VM

  • Test des redirections X11/SSH et explications




Nous partons sur la VM issue de l'article précédent, ou une VM Debian Squeeze vierge.

[code lang="shell"]
$ sudo aptitude install mdetect lxde xosview
# On dispose a présent d'un environnement X11 utilisable.
# On vérifie que X11Forwarding est bien à "on" dans /etc/ssh/sshd_config
# On se connecte ensuite sur la VM via SSH avec :
$ ssh -X utilisateur@192.168.56.X
# Et la, magie :
SSH-$ xosview
# Et la fenêtre demandée apparaît dans le PC hôte ! ISN'T IT AMAZING ???
# Et bien sûr ça marche dans l'autre sens si un serveur SSH est activé sur l'hôte.
# Pour règlementer les accès a votre serveur X11, il est possible d'utiliser :
$ man xhost # Accès réglementé par hôte
$ man xauth # Accès réglementé par cookie (MIT-MAGIC-COOKIE)
# Maintenant on teste a l'aide d'un petit serveur TCP fait a la papaptte
# les redirections SSH.
# Options :
# -L : Forwarding de ports local et -R son inverse
# -w : Création d'un tunnel tun
# Pour analyser les flux réseau, on peut utiliser tcpdump, tshark ou wireshark.
[/code]

Classé dans : INSIA Mots clés : aucun


05
avril 2011

Python - Lilpy Scanner

Rédigé par Matthieu CERDA   26 commentaires   Mis à jour le  05/04/2011

Je release au passage un petit code python que j'ai fait a l'arrache dans le cadre de mes cours de sécurité, j'espère que ça sera utile a quelqu'un :)

#!/usr/bin/env python

import socket
import sys

print "Little Python port scanner - fast, buggy and noisy - i'm running on python %s\n" % sys.version # Nice friendly greeting

if len(sys.argv) < 6: # Uh ? what did you say ?
sys.exit("""You're obviously trying to get me to run without the required arguments. I'm expecting to receive:

%s host range_start range_end timeout mode ( intrusive or stealth )

Ex: ./lilpy 192.168.1.254 1 1024 0.2 intrusive
""" % sys.argv[0])

if socket.has_ipv6: # A nice polished touch though.
print "IPv6 support is available."
else:
print "IPv6 is not supported on this system."

print "Testing " + sys.argv[1] # Confirming hostname
print "Testing range from " + sys.argv[2] + " to " + sys.argv[3] # Confirming range
print "TimeOut set to " + sys.argv[4] # Confirming timeout

if sys.argv[5] == "intrusive": # What mode will I use ?
print "Switching to intrusive mode\n" # Lock'n'load !
else:
print "Switching to stealth mode\n" # Shhhhh ...

hack = int(sys.argv[3]) + 1 # Ugly hack to prevent timeout issues on the last port analyzed.

for port in range(int(sys.argv[2]),hack): # Main loop
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Creating socket
sock.settimeout(float(sys.argv[4])) # Setting timeout
sock.connect((sys.argv[1], port)) # knock knock ?
print "Port open: %d" % port # "Who's there ?"
if sys.argv[5] == "intrusive": # Sarah connor ?
if port == 80: # Little extra
sock.send('GET / HTTP/1.1\nHost: %s\n\n' % sys.argv[1])
print "- Port successfully connected, attempting to get something ... :\n\n ---BEGIN SERVICE ---\n%s\n ---END SERVICE---\n" % sock.recv(1024) # Uh nope it's the other door, see ?
sock.close() # Be polite
except socket.error:
pass # If we fail to connect, don't care and go on
except KeyboardInterrupt:
print "\nBailing out ..." # HALP ME GETTING KILLED !!!
quit()

Classé dans : Python Mots clés : aucun


22
février 2011

INSIA - Technologies UNIX : TP N°4

Rédigé par Matthieu CERDA   Aucun commentaire   Mis à jour le  22/02/2011

Comme promis le sujet du jour : LVM.

Mais avant, petit détour par les quotas utilisateur ext2.

Pour ceci, il nous faut une partition de test (il est peu recommandé de le faire sur la racine...).

Ici, la partition sera /dev/sdb1. Elle est vierge.



[code lang="shell"]
$ sudo apt-get install quota quotatool
$ sudo mke2fs /dev/sdb1
$ sudo mkdir /mnt/database1
$ # On édite fstab et on rajoute :
---
# Test des quotas
/dev/sdb1    /mnt/database1    ext2    defaults,usrquota,grpquota    0    0
---
$ sudo mount /dev/sdb1
$ sudo quotacheck -vgum /mnt/database1
$ sudo quotaon -avug
$ sudo edquota -u <utilisateur a soumettre>
$ # Et on obtient :
---
user1@trollface:/mnt/database1/user1$ dd if=/dev/zero of=foobar.dat bs=1M count=92
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: écriture de « foobar.dat »: Débordement du quota d'espace disque
1+0 enregistrements lus
0+0 enregistrements écrits
122880 octets (123 kB) copiés, 0,00858868 s, 14,3 MB/s
---
$ # Héééé oui DTC monsieur. Tu peux plus stocker ton pr0n
$ # On peut aussi vérifier ou on en est :
% sudo repquota -a
*** Rapport pour les quotas user sur le périphérique /dev/sdb1
Période de sursis bloc : 7days ; période de sursis inode : 7days
Block limits                File limits
Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
user1     +-     100      64     128  6days       2     0     0
$ # Bon allez, utilisons cron pour nous offrir un peu de luxe !
$ sudo crontab -e
$ # Et on met dedans :
---
#Send a report to the admin
MAILTO=kegeruneku
#
# Exécuter chaque jour, 5 minutes après minuit
* * * * *       /sbin/repquota -a
---
$ # Aka : Send me the repquota result every minute plz kthxbye
$ # Da result :
---
Message 1:
From root@trollface Tue Feb 22 11:23:01 2011
Envelope-to: kegeruneku@trollface
Delivery-date: Tue, 22 Feb 2011 11:23:01 +0100
Date: Tue, 22 Feb 2011 11:23:01 +0100
From: root@trollface (Cron Daemon)
To: kegeruneku@trollface
Subject: Cron <root@trollface> /usr/sbin/repquota -a
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <MAILTO=kegeruneku>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>

*** Rapport pour les quotas user sur le pM-CM-)riphM-CM-)rique /dev/sdb1
PM-CM-)riode de sursis bloc : 7days ; pM-CM-)riode de sursis inode : 7days
Block limits                File limits
Utilisateur     utilisM-CM-) souple stricte sursis utilisM-CM-) souple stricte sursis
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
user1     --       4      64     128              1     0     0
---
[/code]

Bon on passe maintenant sur une structure plus professionnelle :
1 Disque SATA pour le système, 3 Disques SCSI, vides pour les expériences. 8Go de chaque.
Racine, Boot, Swap : /dev/sdaX
Sur SCSI : /dev/sd{b,c,d}
Et maintenant attention... Ladies 'n' Gentlemen, Welcome to the main event !
LLLLLLET'S GET READY TO RUMBLEEEEEEEE ... *khf* pardon

[code lang="shell"]
$ sudo aptitude install lvm2
$ sudo mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb /dev/sdc
$ # On crée nos Physical Groups :
$ sudo pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
$ sudo pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created
% sudo vgcreate SpaceJam /dev/md0 /dev/sdd
Volume group "SpaceJam" successfully created
% sudo pvdisplay
--- Physical volume ---
PV Name               /dev/md0
VG Name               SpaceJam
PV Size               8,00 GiB / not usable 2,99 MiB
Allocatable           yes
PE Size               4,00 MiB
Total PE              2047
Free PE               2047
Allocated PE          0
PV UUID               mCpZL9-KRH7-l7hB-6yTu-eMJc-KUfr-DH0pSF

--- Physical volume ---
PV Name               /dev/sdd
VG Name               SpaceJam
PV Size               8,00 GiB / not usable 4,00 MiB
Allocatable           yes
PE Size               4,00 MiB
Total PE              2047
Free PE               2047
Allocated PE          0
PV UUID               2SPPRU-Bgtt-Dlvm-yJH7-JvXB-Pc8B-gM3zj8
% sudo vgdisplay
--- Volume group ---
VG Name               SpaceJam
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                2
Act PV                2
VG Size               15,99 GiB
PE Size               4,00 MiB
Total PE              4094
Alloc PE / Size       0 / 0
Free  PE / Size       4094 / 15,99 GiB
VG UUID               Z6t33e-GwIl-mfPw-GRYm-Rlcq-N5DE-qpafx0
$ # Et on achève tout ça :
% sudo lvcreate --size 4G --name Bugs SpaceJam
Logical volume "Bugs" created
% sudo lvcreate --size 4G --name Lola SpaceJam
Logical volume "Lola" created
% sudo lvcreate -i2 -I4 -L4G --name Marvin SpaceJam # Striping maaaan !!! RAID0 du pauvre
Logical volume "Marvin" created
$ # OK, on arrive au bout de la taille que l'on peut allouer. On pousse encore un peu.
% sudo lvcreate --size 3,99G --name Michael SpaceJam
Rounding up size to full physical extent 3,99 GiB
Logical volume "Michael" created
$ # Ca c'est trop la classe ! "J'ai compris ce que tu veux faire, je m'en occupe !"
% sudo lvdisplay
--- Logical volume ---
LV Name                /dev/SpaceJam/Bugs
VG Name                SpaceJam
LV UUID                4M0nIA-2Hnz-R7oZ-nIWE-4rcv-vsSC-soPGbe
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                4,00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

--- Logical volume ---
LV Name                /dev/SpaceJam/Lola
VG Name                SpaceJam
LV UUID                G5cQtr-eHi9-ZtmF-Dy4v-ft0f-mx78-iqq9NU
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                4,00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:1

--- Logical volume ---
LV Name                /dev/SpaceJam/Marvin
VG Name                SpaceJam
LV UUID                iI06jo-fKrK-HGtU-H2cD-N4Dp-cQoy-08T3jE
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                4,00 GiB
Current LE             1024
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:2

--- Logical volume ---
LV Name                /dev/SpaceJam/Michael
VG Name                SpaceJam
LV UUID                Sw5hR8-Qdtj-p3RP-4amw-eRJJ-aCPS-a7yJBx
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                3,99 GiB
Current LE             1022
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:3
$ # Et voila, c'est dans la poche.
$ # Testons avec un FS qui supporte les modifications a chaud
$ sudo aptitude install reiserfsprogs
$ rehash (oui j'utilise ZSH)
$ sudo mkreiserfs /dev/SpaceJam/Bugs
$ sudo mount /dev/SpaceJam/Bugs /mnt/database1
$ # Ne pas oublier de créer le mountpoint si il n'existe pas.
$ # Bon ... on a un FS ... maintenant, on s'amuse un peu
% df -h
Sys. de fichiers    Taille  Uti. Disp. Uti% Monté sur
/dev/sda2             7,2G  877M  6,0G  13% /
tmpfs                 252M     0  252M   0% /lib/init/rw
udev                  248M  164K  247M   1% /dev
tmpfs                 252M     0  252M   0% /dev/shm
/dev/sda1             236M   21M  203M  10% /boot
/dev/mapper/SpaceJam-Bugs
4,0G   33M  4,0G   1% /mnt/database1
/dev/mapper/SpaceJam-Lola
4,0G   33M  4,0G   1% /mnt/database2
/dev/mapper/SpaceJam-Marvin
4,0G   33M  4,0G   1% /mnt/database3
/dev/mapper/SpaceJam-Michael
3.99G 33M 3.99G 1% /mnt/database4
$ # Bon on a de la place. On a plus besoin de Michael
% sudo umount /mnt/database4
% sudo lvremove /dev/SpaceJam/Michael
Do you really want to remove active logical volume Michael? [y/n]: y # Oui
Logical volume "Michael" successfully removed
% sudo lvextend -l +100%FREE /dev/SpaceJam/Bugs
Extending logical volume Bugs to 7,99 GiB
Logical volume Bugs successfully resized
$ # Sorry Michael... no offense.
% sudo resize_reiserfs -f /dev/SpaceJam/Bugs
resize_reiserfs 3.6.21 (2009 www.namesys.com)
resize_reiserfs: On-line resizing finished successfully.
% df -h
Sys. de fichiers    Taille  Uti. Disp. Uti% Monté sur
/dev/sda2             7,2G  877M  6,0G  13% /
tmpfs                 252M     0  252M   0% /lib/init/rw
udev                  248M  164K  247M   1% /dev
tmpfs                 252M     0  252M   0% /dev/shm
/dev/sda1             236M   21M  203M  10% /boot
/dev/mapper/SpaceJam-Bugs
8,0G   33M  8,0G   1% /mnt/database1
/dev/mapper/SpaceJam-Lola
4,0G   33M  4,0G   1% /mnt/database2
/dev/mapper/SpaceJam-Marvin
4,0G   33M  4,0G   1% /mnt/database3
$ # Héhéééé ... c'est t'y pas magnifique ???
$ # On peut aussi faire ça :
% sudo umount /mnt/database1 # Oui, on-line pamarch faut pas rêver
% sudo resize_reiserfs -s -1G /dev/SpaceJam/Bugs
resize_reiserfs 3.6.21 (2009 www.namesys.com)

You are running BETA version of reiserfs shrinker.
This version is only for testing or VERY CAREFUL use. # Fear !!!
Backup of you data is recommended.

Do you want to continue? [y/N]:y
Processing the tree: 0%....20%....40%....60%....80%....100%                           left 0, 0 /sec

nodes processed (moved):
int        0 (0),
leaves     1 (0),
unfm       0 (0),
total      1 (0).

check for used blocks in truncated region

ReiserFS report:
blocksize             4096
block count           1832960 (2095104)
free blocks           1824693 (2086829)
bitmap block count    56 (64)

Syncing..done

resize_reiserfs: Resizing finished successfully.
% sudo lvresize --size -1G /dev/SpaceJam/Bugs
WARNING: Reducing active and open logical volume to 6,99 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce Bugs? [y/n]: y # Ta gueule
Reducing logical volume Bugs to 6,99 GiB
Logical volume Bugs successfully resized
% sudo mount /dev/SpaceJam/Bugs /mnt/database1
$ # Et voila, c'est rigolo.
[/code]

Interrogation du jour : Si les utilitaires de disques n'avaient pas la même conception de l'espace (Gigabyte/Gigabit) ?
=> Gagné, on pète tout. Mais bon ça n'arrive pas en théorie...
Hein?

Non

Je pense pas.

...

Classé dans : INSIA Mots clés : aucun