https://wiki.archlinux.org/api.php?action=feedcontributions&user=Klapmuetz&feedformat=atomArchWiki - User contributions [en]2024-03-29T05:30:34ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Arch_IRC_channels&diff=50822Arch IRC channels2008-10-08T04:09:06Z<p>Klapmuetz: fixed some spelling mistakes</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:General (English)]]<br />
[[Category:Guidelines (English)]]<br />
<br />
<center><div style="text-align: center; margin: 0 10% 1em 10%;"><br />
{| class="notice noprint" style="background:#D8463E; border: 1px solid #aaa; padding: 0.1em; margin: 0.5em auto;"<br />
| style="padding: 0.1em" | '''Warning'''<br><div style="font-size: 110%;">Do not edit this page unless you are an channel op in #archlinux.<br> You are welcome to use the discussion page.</div><br />
|}<br />
</div></center><br />
= Introduction =<br />
<br />
The official Arch Linux [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] channel is '''#archlinux''' on the [http://www.freenode.net/ Freenode] network.<br><br />
There are also a number of other channels dedicated to Archlinux mantained by comunity members, see http://www.archlinux.org/irc/.<br />
== Usage ==<br />
To join the channel, you need an irc client. [http://en.wikipedia.org/wiki/Comparison_of_IRC_clients List of irc clients]<br />
/connect irc.freenode.net<br />
/join #archlinux<br />
<br />
'''Note:'''<br><br />
The channel is currently +R. That means that you have to register and identify with the NickServ service before you can talk in the channel.<br />
/msg nickserv help register<br />
/msg nickserv help identify<br />
<br />
= Channel Rules =<br />
* '''Follow the guidelines'''<br />
: [http://freenode.net/policy.shtml Freenode network policy].<br />
: [http://freenode.net/channel_guidelines.shtml Freenode channel guidelines].<br />
: [[IRC Channel#Channel_Guidelines|#archlinux channel guidelines]].<br />
* '''Client settings and bots'''<br />
** If you want to bring a bot into the channel, then ask an operator ''before'' you do so.<br />
** Auto-response in channel or in pm is not allowed. The only exeption are 'away' responces at nick highlight.<br />
* '''Channelbot usage'''<br />
** There is only one official channel bot. 'phrik n=archbot@archlinux/bot/phrik'<br />
** Try to limit the bot usage in channel. Remember, you can '/query phrik' when the output isn't needed in-channel.<br />
** No spamming of bot commands.<br />
* '''Advertising''' <br />
** Advertising are not allowed unless an op have given you a permision to do so.<br />
* '''Content/links'''<br />
** The main topic of the channel is support for and discussion about Archlinux.<br><br />
** Talk about general software and hardware is also allowed when it don't interfer with the main topic of the channel.<br />
** Anything that is not covered by the previous statements is handled on a case-by-case basis at the op's discretion.<br />
<br />
= Channel Guidelines =<br />
The main language of the channel is English. If you need help in another language, see the link above regarding other Arch Linux channels.<br />
<br />
Try to keep the channel somewhat family/work safe. No porn, gore, windows, politicians or anything similar. <br />
In short, be ''on topic'' as much as possible; support. If you can't resist the urge to talk about your religion or your favorite toenail, then take it to '''#archlinux-offtopic'''.<br />
<br />
Don't start flamewars. DE/WM/$EDITOR/similar discussions are allowed, but if the temperature rises above 26&deg;C then you are expected to drop it or move on to the ''offtopic'' channel.<br />
<br />
Don't feed the trolls.<br />
<br />
Spamming the channel is Bad (with a capital B). Use a pastebin if you have to paste something long (usually more than 3 lines). <br />
[http://pastie.caboo.se/ Pastie] and [http://www.rafb.net/paste/ rafb|Nopaste] are two popular ones within the Arch community. <br />
There is also a cli frontend for rafb, named ''nopaste''. You can get it with pacman.<br />
<br />
phrik (the channel bot) is '''not''' your personal toy, abusing him is not allowed. <br />
If you want to try out commands or look trough the help function, then do it in a /query or /msg (alternatively ''PM'').<br />
<br />
Don't ask to ask, if anyone is alive or if anyone uses something. Just state your question. Even if we don't use ''foo'', we might know enough about it to help you.<br />
<br />
'''Ask''' for help, don't ''demand'' it. If nobody replies, wait for a few minutes before you restate your question. <br />
<br />
[http://www.catb.org/~esr/faqs/smart-questions.html Ask smart questions].<br />
<br />
Help yourself before you ask. Read the [http://wiki.archlinux.org/ Wiki] and ''man'' pages, search the [http://bbs.archlinux.org BBS] and/or [http://www.google.com Google]. <br />
Sticking to this method will often get you an answer faster, and you may just happen to learn something from it. <br />
<br />
When asking for help, always reply to people that ask you for more information. If you don't know the answer then a "I don't know" is a lot better than silence.<br />
<br />
Set a good example, be what you want other people to be. If you act like a moron, then people will respond to you as if you were one. <br />
The behavior of those already in the channel is also a big influence on those new to the channel. If you want the channel to be a friendly place, then be friendly to others.<br />
<br />
Don't be shy. Feel free to help others. All the support in the channel is provided by volunteers. <br />
<br />
Most questions get answered by "just another user", just like you. Even the ''devs'' that frequent the channel do so on their own time, by their own accord, by their own free will. [[http://en.wikipedia.org/wiki/Wikipedia:Citation_needed citation needed]]<br />
<br />
== None Of This ==<br />
This is what all your conversations look like, quit it. It's so embarrassing.<br />
<pre><br />
benny> openbox <3<br />
wizzomafizzo> openbox <3<br />
wizzomafizzo> openbox > *<br />
benny> openbox > fluxbox > * > emacs<br />
wizzomafizzo> I HATE EMACS<br />
benny> emacs sucks<br />
benny> vim ftw<br />
benny> vim > nano > * > ed (HAHAHHAHA) > emacs<br />
wizzomafizzo> vim <3<br />
benny> ed is the standard editor.<br />
benny> emacs is a good OS<br />
benny> but it lacks a good text editor<br />
wizzomafizzo> I use nano for editing little config files and I only use vim<br />
for serious stuff, guys.<br />
benny> ruby ftw... perl sucks<br />
benny> cat /dev/urandom > test.pl; perl test.pl; echo $? => 0 hahahahhahaha<br />
wizzomafizzo> LOL<br />
benny> adobe photoshop cs3 > gimp<br />
wizzomafizzo> urxvt + irssi + screen + openbox + arch + kernel 2.6.22.21rc3 +<br />
X-svn ftw <3333333333333333333<br />
benny> does anyone have the latest wine-cvs, I need it for my business... I'm<br />
a lead webdeveloper for a big consultation company and I use photoshop<br />
cs3 on linux for optimal performance<br />
benny> irssi + screen <3<br />
wizzomafizzo> WTF WINE WAS RELEASED HALF AN HOUR AGO STILL NOT IN REPOS<br />
wizzomafizzo> WTF ARCH DEVS SUCK<br />
benny> WTF, when is kde4 in the repos?<br />
wizzomafizzo> omg arch so unstable they dont test packages!!!!!!!!!!!!<br />
wizzomafizzo> plz test pkgs more asrch<br />
benny> that pharmacist should STFU and drop kde so one wihht serious<br />
competence can take over<br />
wizzomafizzo> BBBBBBBBAAAAAAAAAAAAAAAAAAWWWWWWWWWWWWWWW<br />
benny> how do I update kernel?<br />
benny> WHY IS AUR NOT IN pacman!!!!<br />
benny> I packman -s motif-application and it says command not found: ARCH<br />
BROKEN, debian no problem! QUESTIONS!<br />
wizzomafizzo> I vote for yaourt and it never goes in community wtf??????<br />
wizzomafizzo> i'm using dpkg in arch so i don't waste all my debs<br />
benny> I install firefox, but I get bon echo. Arch bug, I demand fix<br />
immediately!<br />
wizzomafizzo> wtf i hate bon echo >_<<br />
benny> I can't browse with bon echo, what is this... some sort of joke?<br />
wizzomafizzo> i compile my own firefox<br />
benny> firefox <3, bon echo >3<br />
benny> why is swiftweasel not in the repos... I have optimal performance now!<br />
wizzomafizzo> guys i have legitimate problem with weechat<br />
wizzomafizzo> WEECHAT LOL<br />
wizzomafizzo> USE IRSSIi<br />
</pre><br />
<br />
= Other usefull information =<br />
== Abbrevations and jargon ==<br />
; RTFM : Read The Fucking Manual (Yes, ''fucking'' and not ''f*ing'')<br />
; RTFW : Read The Fucking Wiki (Yes, ''fucking'' and not ''f*ing'')<br />
; RTFB : Read The Fucking BBS (Yes, ''fucking'' and not ''f*ing'')<br />
; [{core,extra,testing,unstable,other}] : Usualy denotes a [[Official_Repositories|repository]]. Example: "nvidia drivers are in [extra]"<br />
; AUR : Arch User Repository<br />
; ABS : Arch Build System<br />
; ltt : less than three -> '<3' -> 'love'<br />
; TU : Trusted User<br />
; BBS : Bulletin Board System -> 'forum'<br />
<br />
= List of channel operators =<br />
If you for some reason need the help of an op, don't be shy to /q(uery) or /msg us.<br />
Here is the list of ops as of 31.08.2008<br />
* _Caleb_ aka Caleb<br />
* glguy<br />
* WizzoMaFizzo aka wizzo<br />
* tomkx<br />
* codemac<br />
* neri<br />
* Xentac-away aka Xentac<br />
* apeiro<br />
* supa_user<br />
* cactus<br />
* phrakture<br />
* Xilon<br />
* MrElendig aka Mion</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Arch_IRC_channels&diff=27511Arch IRC channels2007-08-03T13:41:55Z<p>Klapmuetz: I disagree. Reverted back to state before vandalism.</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:General (English)]]<br />
<br />
The official Archlinux channel is '''#archlinux''' on '''[http://www.freenode.net/ irc.freenode.net]''' (what is [http://www.irchelp.org/ IRC]?).<br />
If you have questions that cannot be answered by [[Arch_Terminology/Jargon_for_newbies#RTFM|RTFM]], join '''#archlinux''' and ask there.<br />
<br />
If you like, stay some time to help others by answering some questions yourself. Or even stay permanently :-)<br />
<br />
Use the above shown connection data to join with any IRC-client like [http://www.irssi.org/ irssi], [http://www.xchat.org/ XChat],<br />
[http://gaim.sourceforge.net/ Gaim] or [http://www.hacksrus.com/~ginda/chatzilla/ ChatZilla]. We collect some fortunes on the [[Wall of Quotes]].<br />
<br />
== Channel Guidelines ==<br />
===after:===<br />
* When you've been served well, stay long & prosper to '''help others''' (in the channel and add to Wiki)!<br />
<br />
===before:===<br />
* Check '''google''', '''[http://bbs.archlinux.org the forums]''', '''[http://bugs.archlinux.org flyspray]''' and '''[[:Category:HowTos|The Wiki]]''' before you ask.<br />
* If you've '''already found''' the answers on your own by now, then '''tell us''' which docs helped you (not?).<br />
* Otherwise, if you want good & fast answers, ask '''[http://www.catb.org/~esr/faqs/smart-questions.html smart questions]'''<br />
** No mind-reading here, '''state most specifically''': expected result(s) first, the ones you get, and then '''all''' circumstantial info.<br />
** Quality of answer won't exceed quality of question, you decide how helpful you are to yourself.<br />
<br />
===while:===<br />
* This is an '''English language''' channel. If this does not suit you, there are a number of Arch channels available for other languages.<br />
* Just '''ask your stuff''', don't ask if we're "alive"!<br />
* '''Wait''' some time: eventually, someone will answer, don't count on instant reaction.<br />
* Be '''supportive''': we can't read minds, so be specific! See "smart-questions" above!<br />
** State your goal first, too, maybe you chose the wrong way.<br />
* Show '''commitment''': this is not a service hot-line, this is a do-it-yourself environment.<br />
** Look up references yourself, use existing docs, learn to help yourself.<br />
* Be '''patient''' (with yourself & fellows): answers are favors, not your right.<br />
** You are supposed to do the actual work, you get advice and pointers.<br />
<br />
* '''Don't flood''' the channel by pasting lots of lines (up to 4 lines is ok). If you have to paste a lot of lines:<br />
** use a '''nopaste'''-website and post the URL to '''#archlinux''' channel (eg. [http://www.pastebin.com pastebin]).<br />
* Disable '''auto-away''' messages & '''nick-changes'''! Use the '''silent''' <tt>/away</tt> feature of your client manually, nothing else!<br />
* Last, but not least - keep it '''on topic'''. This is a support channel and nothing else!<br />
** This means: '''no flamewars''' and '''no distro-bashing'''. We respect our competition.<br />
<br />
As a bottom-line: if someone asks you to abide these rules, you better do it. Help to keep #archlinux a friendly and supportive place!<br />
<br />
== Channel Statistics ==<br />
* [[User:xterminus|xterminus]] maintains [http://xtermin.us/IrcArchLinux IRC stats]<br />
* [[User:Brain0|Brain0]] also maintains the [[ArchMap|ArchMap]] for Google Earth. Add yourself!<br />
<br />
== A typical #archlinux conversation == <br />
benny> openbox <3<br />
wizzomafizzo> openbox <3<br />
wizzomafizzo> openbox > *<br />
benny> openbox > fluxbox > * > emacs<br />
wizzomafizzo> I HATE EMACS<br />
benny> emacs sucks<br />
benny> vim ftw<br />
benny> vim > nano > * > ed (HAHAHHAHA) > emacs<br />
wizzomafizzo> vim <3<br />
benny> ed is the standard editor.<br />
benny> emacs is a good OS<br />
benny> but it lacks a good text editor<br />
wizzomafizzo> I use nano for editing little config files and I only use vim for serious stuff, guys.<br />
benny> ruby ftw... perl sucks<br />
benny> cat /dev/urandom > test.pl; perl test.pl; echo $? => 0 hahahahhahaha<br />
wizzomafizzo> LOL<br />
benny> adobe photoshop cs3 > gimp<br />
wizzomafizzo> urxvt + irssi + screen + openbox + arch + kernel 2.6.22.21rc3 + X-svn ftw <3333333333333333333<br />
benny> does anyone have the latest wine-cvs, I need it for my business... I'm a lead webdeveloper for a big consultation company and I use photoshop cs3 on linux for optimal performance<br />
benny> irssi + screen <3<br />
wizzomafizzo> WTF WINE WAS RELEASED HALF AN HOUR AGO STILL NOT IN REPOS<br />
wizzomafizzo> WTF ARCH DEVS SUCK<br />
benny> WTF, when is kde4 in the repos?<br />
wizzomafizzo> omg arch so unstable they dont test packages!!!!!!!!!!!!<br />
wizzomafizzo> plz test pkgs more asrch<br />
benny> that pharmacist should STFU and drop kde so one wihht serious competence can take over<br />
wizzomafizzo> BBBBBBBBAAAAAAAAAAAAAAAAAAWWWWWWWWWWWWWWW<br />
benny> how do I update kernel?<br />
benny> WHY IS AUR NOT IN pacman!!!!<br />
benny> I packman -s motif-application and it says command not found: ARCH BROKEN, debian no problem! QUESTIONS!<br />
wizzomafizzo> I vote for yaourt and it never goes in community wtf??????<br />
wizzomafizzo> i'm using dpkg in arch so i don't waste all my debs<br />
benny> I install firefox, but I get bon echo. Arch bug, I demand fix immediately!<br />
wizzomafizzo> wtf i hate bon echo >_<<br />
benny> I can't browse with bon echo, what is this... some sort of joke?<br />
wizzomafizzo> i compile my own firefox<br />
benny> firefox <3, bon echo >3<br />
benny> why is swiftweasel not in the repos... I have optimal performance now!<br />
wizzomafizzo> guys i have legitimate problem with weechat<br />
wizzomafizzo> WEECHAT LOL<br />
wizzomafizzo> USE IRSSI</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Arch_IRC_channels&diff=27497Arch IRC channels2007-08-02T23:55:14Z<p>Klapmuetz: added a typical #archlinux conversation</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:General (English)]]<br />
<br />
The official Archlinux channel is '''#archlinux''' on '''[http://www.freenode.net/ irc.freenode.net]''' (what is [http://www.irchelp.org/ IRC]?).<br />
If you have questions that cannot be answered by [[Arch_Terminology/Jargon_for_newbies#RTFM|RTFM]], join '''#archlinux''' and ask there.<br />
<br />
If you like, stay some time to help others by answering some questions yourself. Or even stay permanently :-)<br />
<br />
Use the above shown connection data to join with any IRC-client like [http://www.irssi.org/ irssi], [http://www.xchat.org/ XChat],<br />
[http://gaim.sourceforge.net/ Gaim] or [http://www.hacksrus.com/~ginda/chatzilla/ ChatZilla]. We collect some fortunes on the [[Wall of Quotes]].<br />
<br />
== Channel Guidelines ==<br />
===after:===<br />
* When you've been served well, stay long & prosper to '''help others''' (in the channel and add to Wiki)!<br />
<br />
===before:===<br />
* Check '''google''', '''[http://bbs.archlinux.org the forums]''', '''[http://bugs.archlinux.org flyspray]''' and '''[[:Category:HowTos|The Wiki]]''' before you ask.<br />
* If you've '''already found''' the answers on your own by now, then '''tell us''' which docs helped you (not?).<br />
* Otherwise, if you want good & fast answers, ask '''[http://www.catb.org/~esr/faqs/smart-questions.html smart questions]'''<br />
** No mind-reading here, '''state most specifically''': expected result(s) first, the ones you get, and then '''all''' circumstantial info.<br />
** Quality of answer won't exceed quality of question, you decide how helpful you are to yourself.<br />
<br />
===while:===<br />
* This is an '''English language''' channel. If this does not suit you, there are a number of Arch channels available for other languages.<br />
* Just '''ask your stuff''', don't ask if we're "alive"!<br />
* '''Wait''' some time: eventually, someone will answer, don't count on instant reaction.<br />
* Be '''supportive''': we can't read minds, so be specific! See "smart-questions" above!<br />
** State your goal first, too, maybe you chose the wrong way.<br />
* Show '''commitment''': this is not a service hot-line, this is a do-it-yourself environment.<br />
** Look up references yourself, use existing docs, learn to help yourself.<br />
* Be '''patient''' (with yourself & fellows): answers are favors, not your right.<br />
** You are supposed to do the actual work, you get advice and pointers.<br />
<br />
* '''Don't flood''' the channel by pasting lots of lines (up to 4 lines is ok). If you have to paste a lot of lines:<br />
** use a '''nopaste'''-website and post the URL to '''#archlinux''' channel (eg. [http://www.pastebin.com pastebin]).<br />
* Disable '''auto-away''' messages & '''nick-changes'''! Use the '''silent''' <tt>/away</tt> feature of your client manually, nothing else!<br />
* Last, but not least - keep it '''on topic'''. This is a support channel and nothing else!<br />
** This means: '''no flamewars''' and '''no distro-bashing'''. We respect our competition.<br />
<br />
As a bottom-line: if someone asks you to abide these rules, you better do it. Help to keep #archlinux a friendly and supportive place!<br />
<br />
== Channel Statistics ==<br />
* [[User:xterminus|xterminus]] maintains [http://xtermin.us/IrcArchLinux IRC stats]<br />
* [[User:Brain0|Brain0]] also maintains the [[ArchMap|ArchMap]] for Google Earth. Add yourself!<br />
<br />
== A typical #archlinux conversation == <br />
benny> openbox <3<br />
wizzomafizzo> openbox <3<br />
wizzomafizzo> openbox > *<br />
benny> openbox > fluxbox > * > emacs<br />
wizzomafizzo> I HATE EMACS<br />
benny> emacs sucks<br />
benny> vim ftw<br />
benny> vim > nano > * > ed (HAHAHHAHA) > emacs<br />
wizzomafizzo> vim <3<br />
benny> ed is the standard editor.<br />
benny> emacs is a good OS<br />
benny> but it lacks a good text editor<br />
wizzomafizzo> I use nano for editing little config files and I only use vim for serious stuff, guys.<br />
benny> ruby ftw... perl sucks<br />
benny> cat /dev/urandom > test.pl; perl test.pl; echo $? => 0 hahahahhahaha<br />
wizzomafizzo> LOL<br />
benny> adobe photoshop cs3 > gimp<br />
wizzomafizzo> urxvt + irssi + screen + openbox + arch + kernel 2.6.22.21rc3 + X-svn ftw <3333333333333333333<br />
benny> does anyone have the latest wine-cvs, I need it for my business... I'm a lead webdeveloper for a big consultation company and I use photoshop cs3 on linux for optimal performance<br />
benny> irssi + screen <3<br />
wizzomafizzo> WTF WINE WAS RELEASED HALF AN HOUR AGO STILL NOT IN REPOS<br />
wizzomafizzo> WTF ARCH DEVS SUCK<br />
benny> WTF, when is kde4 in the repos?<br />
wizzomafizzo> omg arch so unstable they dont test packages!!!!!!!!!!!!<br />
wizzomafizzo> plz test pkgs more asrch<br />
benny> that pharmacist should STFU and drop kde so one wihht serious competence can take over<br />
wizzomafizzo> BBBBBBBBAAAAAAAAAAAAAAAAAAWWWWWWWWWWWWWWW<br />
benny> how do I update kernel?<br />
benny> WHY IS AUR NOT IN pacman!!!!<br />
benny> I packman -s motif-application and it says command not found: ARCH BROKEN, debian no problem! QUESTIONS!<br />
wizzomafizzo> I vote for yaourt and it never goes in community wtf??????<br />
wizzomafizzo> i'm using dpkg in arch so i don't waste all my debs<br />
benny> I install firefox, but I get bon echo. Arch bug, I demand fix immediately!<br />
wizzomafizzo> wtf i hate bon echo >_<<br />
benny> I can't browse with bon echo, what is this... some sort of joke?<br />
wizzomafizzo> i compile my own firefox<br />
benny> firefox <3, bon echo >3<br />
benny> why is swiftweasel not in the repos... I have optimal performance now!<br />
wizzomafizzo> guys i have legitimate problem with weechat<br />
wizzomafizzo> WEECHAT LOL<br />
wizzomafizzo> USE IRSSI</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Browser_plugins&diff=14002Browser plugins2006-07-02T10:03:21Z<p>Klapmuetz: obsoletos</p>
<hr />
<div>[[Category:Desktop]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Mozilla and Mozilla Firefox browser plugins}}<br />
{{i18n_entry|简体中文|Flash 和 Adobe Acrobat 浏览器插件}}<br />
{{i18n_links_end}}<br />
<br />
= This information is obsolete... Don't use it!=<br />
Just <br />
pacman -S flashplugin acroread j2re<br />
and all will work.<br />
<br />
= Old information for reference on old installations... Or whatever=<br />
<br />
==Using Mozilla==<br />
<br />
===For Adobe Acrobat Reader plugin===<br />
pacman -S acroread<br />
ln -s /opt/mozilla-plugins/nppdf.so /opt/mozilla/lib/mozilla/plugins/<br />
<br />
===For Shockwave Flash===<br />
pacman -S flashplugin<br />
ln -s /opt/mozilla-plugins/flashplayer.xpt /opt/mozilla/lib/mozilla/plugins/<br />
ln -s /opt/mozilla-plugins/libflashplayer.so /opt/mozilla/lib/mozilla/plugins/<br />
<br />
Restart Mozilla if it was running.<br />
<br />
Note: Flash is known to have bad support for Linux.<br />
Flash Player 7 has problems regarding sound output with alot of people.<br />
Flash Player 8 and higher are not (yet?) available for Linux!<br />
<br />
There is a GNU project going on ([[Gnash]]) that should be an open source alternative for showing Flash.<br />
As of 17 may 2006 it is still in development, but it is already able to run alot of Flash 7 content.<br />
<br />
==Using Mozilla Firefox==<br />
<br />
===For Adobe Acrobat Reader plugin===<br />
pacman -S acroread<br />
ln -s /opt/mozilla-plugins/nppdf.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
===For Shockwave Flash===<br />
pacman -S flashplugin<br />
ln -s /opt/mozilla-plugins/flashplayer.xpt /opt/mozilla/lib/firefox/plugins/<br />
ln -s /opt/mozilla-plugins/libflashplayer.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
Note: Flash is known to have bad support for Linux.<br />
Flash Player 7 has problems regarding sound output with alot of people.<br />
Flash Player 8 and higher are not (yet?) available for Linux!<br />
<br />
There is a GNU project going on ([[Gnash]]) that should be an open source alternative for showing Flash.<br />
As of 17 may 2006 it is still in development, but it is already able to run alot of Flash 7 content.<br />
<br />
===For Java Plugin===<br />
pacman -S j2re<br />
ln -s /opt/java/jre/plugin/i386/ns7-gcc29/libjavaplugin_oji.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
(for me it's: ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so /opt/mozilla/lib/firefox/plugins/, note the missing gcc29)<br />
<br />
Use the Tab key to navigate easier through the directories.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Browser_plugins&diff=14001Browser plugins2006-07-02T09:55:24Z<p>Klapmuetz: added the -gcc29 option</p>
<hr />
<div>[[Category:Desktop]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Mozilla and Mozilla Firefox browser plugins}}<br />
{{i18n_entry|简体中文|Flash 和 Adobe Acrobat 浏览器插件}}<br />
{{i18n_links_end}}<br />
<br />
==Using Mozilla==<br />
<br />
===For Adobe Acrobat Reader plugin===<br />
pacman -S acroread<br />
ln -s /opt/mozilla-plugins/nppdf.so /opt/mozilla/lib/mozilla/plugins/<br />
<br />
===For Shockwave Flash===<br />
pacman -S flashplugin<br />
ln -s /opt/mozilla-plugins/flashplayer.xpt /opt/mozilla/lib/mozilla/plugins/<br />
ln -s /opt/mozilla-plugins/libflashplayer.so /opt/mozilla/lib/mozilla/plugins/<br />
<br />
Restart Mozilla if it was running.<br />
<br />
Note: Flash is known to have bad support for Linux.<br />
Flash Player 7 has problems regarding sound output with alot of people.<br />
Flash Player 8 and higher are not (yet?) available for Linux!<br />
<br />
There is a GNU project going on ([[Gnash]]) that should be an open source alternative for showing Flash.<br />
As of 17 may 2006 it is still in development, but it is already able to run alot of Flash 7 content.<br />
<br />
==Using Mozilla Firefox==<br />
<br />
===For Adobe Acrobat Reader plugin===<br />
pacman -S acroread<br />
ln -s /opt/mozilla-plugins/nppdf.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
===For Shockwave Flash===<br />
pacman -S flashplugin<br />
ln -s /opt/mozilla-plugins/flashplayer.xpt /opt/mozilla/lib/firefox/plugins/<br />
ln -s /opt/mozilla-plugins/libflashplayer.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
Note: Flash is known to have bad support for Linux.<br />
Flash Player 7 has problems regarding sound output with alot of people.<br />
Flash Player 8 and higher are not (yet?) available for Linux!<br />
<br />
There is a GNU project going on ([[Gnash]]) that should be an open source alternative for showing Flash.<br />
As of 17 may 2006 it is still in development, but it is already able to run alot of Flash 7 content.<br />
<br />
===For Java Plugin===<br />
pacman -S j2re<br />
ln -s /opt/java/jre/plugin/i386/ns7-gcc29/libjavaplugin_oji.so /opt/mozilla/lib/firefox/plugins/<br />
<br />
(for me it's: ln -s /opt/java/jre/plugin/i386/ns7/libjavaplugin_oji.so /opt/mozilla/lib/firefox/plugins/, note the missing gcc29)<br />
<br />
Use the Tab key to navigate easier through the directories.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Lighttpd_and_FastCGI&diff=8072Lighttpd and FastCGI2006-01-04T17:20:50Z<p>Klapmuetz: Fixed thie klapmuetz specific stuff... man this crap was out-of-date.</p>
<hr />
<div>[[Category:WebServer]]<br />
This document will describe how to set Ruby on Rails and php up on lighttpd with fastcgi and PostgresQL support.<br />
<br />
<br />
====Installing lighttpd and fcgi====<br />
pacman -S lighttpd fcgi<br />
<br />
Now you have lighttpd with fcgi support. If it was that what you wanted you're all set. People that want Ruby on Rails and/or php should continue.<br />
<br />
====Installing php-cgi====<br />
pacman -S php-cgi<br />
<br />
Now check if you got the php-cgi version by entering<br />
''php-cgi --version''<br />
<pre><br />
PHP 5.0.4 (cgi-fcgi) (built: May 8 2005 15:08:08)<br />
Copyright (c) 1997-2004 The PHP Group<br />
Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies<br />
</pre><br />
If you get the same output your php is installed successfully<br />
<br />
====Ruby on Rails related====<br />
Considering you want to use Ruby on Rails I assume you have ruby installed. If not do so.<br />
<br />
We need rubygems and ruby-fcgi. Check the AUR!<br />
Install both rubygems and ruby-fcgi<br />
<br />
<br />
Now we have rubygems. Let's get rails!<br />
gem install rails<br />
gem install fcgi<br />
<br />
If this fails, get the [http://fastcgi.com/dist/fcgi.tar.gz] and compile it yourself.<br />
<pre><br />
$ wget http://fastcgi.com/dist/fcgi.tar.gz<br />
$ tar zxvf fcgi.tar.gz<br />
$ cd fcgi-2.4.0<br />
$./configure<br />
$ make<br />
# make install<br />
</pre><br />
And repeat the gem install.<br />
<br />
Check if you have more than one fcgi.so<br />
find /usr -name fcgi.so<br />
If you have two, delete the one that doesn't has "/site_ruby/" in his path.<br />
<br />
For documentation how to use Ruby on Rails please consult [http://rubyonrails.org].<br />
<br />
====Configuration of /etc/lighttpd.conf====<br />
I only show those you should change. The config is well commented and documentation can be found on [http://lighttpd.net].<br />
<br />
<pre><br />
server.modules = (<br />
"mod_access",<br />
"mod_fastcgi",<br />
"mod_accesslog" )<br />
<br />
server.indexfiles = ( "dispatch.fcgi", "index.php" ) #dispatch.fcgi is rails specified<br />
<br />
server.error-handler-404 = "/dispatch.fcgi" #too<br />
<br />
fastcgi.server = (<br />
".fcgi" =><br />
( "localhost" =><br />
(<br />
"socket" => "/tmp/rails-fastcgi.socket",<br />
"bin-path" => "/path/to/rails/application/public/dispatch.fcgi"<br />
)<br />
),<br />
".php" =><br />
( "localhost" =><br />
(<br />
"socket" => "/tmp/php-fastcgi.socket",<br />
"bin-path" => "/usr/bin/php-cgi"<br />
)<br />
)<br />
)<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Remote_installation&diff=2711Remote installation2005-09-29T19:15:09Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Installation]]<br />
<br />
Based on work by Tobias Kieslich. Original version available http://www.justdreams.de/archlinux/docs/00_rootserver.html<br />
<br />
===Summary===<br />
: This is a guide to set up a rootserver with Archlinux. While Archlinux makes a good server system, it is not usually the preinstalled distribution of choice. It is quite easy to replace a preinstalled system on a local computer. Replacing a system on a computer you can only acces remotly via SSH is not as easy and requires certain steps be done in a certain order.Please make sure you understand each step before proceeding. If not, please refer to some standard docs such as man-pages, Archlinux Forum or the Wiki.<br />
<br />
We will replace a running Linux system on a remote server. When you finish this tutorial you will have a base Archlinux, which can be accessed via SSH. To setup Mail-server or Subversion or Apache is subject to other tutorials which can be found elsewhere.<br />
<br />
:'''Disclaimer:''' This is a dangerous process that assumes you know what you are doing. It is easy to destroy your system or to lose critical data, and your service provider will likely charge a lot to help you recover. Follow this procedure at your own risk.<br />
<br />
===Introduction===<br />
You will need to setup an intermediate system, boot into it and setup your new Archlinx server from there. This sounds a bit easier than it is, because you will be faced with a classical situation: you kill the system that hosts your activities. As with many other things,there is more than just one way to do it. There are two possible scenarios:<br />
<br />
<br />
# Many providers offer sytems called rescue sytems or remote consoles, which is often just a bootdisc stored on a network card. This boots into a rudimentary sytem which just exists in your RAM. Thus you will have the ability to partitionate your harddrive as you like<br />
# Many servers have a swap partition. If yours doesn't you should maybe switch providers. You can disable the swap partition and set up your intermediate system there.<br />
<br />
This document outlines the latter option, as if you have access to a remote console, you have won half the battle.<br />
<br />
===Backup and Preparation===<br />
:During the procedure you WILL ERASE ALL DATA on your former server. Backup all your data including mails, webservers, etc. Have all information at your fingertips. Preserve all your server configurations, hostnames, etc.<br />
<br />
Here is a list of data you will likely need:<br />
<br />
* your IP Adress<br />
* your hostname(s), (note: rootserver are mostly also part of the providers domain, check/save your /etc/hosts before you delete)<br />
* your DNS Server (check /etc/resolv.conf)<br />
* your SSH keys (if other people work on your server, they will have to accept new keys otherwise. This includes keys from your apache, your mail servers, your ssh server and others. Those are usually spread all over your system, at least all over /etc If you have signed keys, then you have paid for these keys. You better keep them ;-) )<br />
* knowledge of your hardware (network card, etc. Refer to your preinstalled /etc/modules.conf )<br />
* if your bootmanager is already using /boot/grub/menu.lst please backup it.<br />
<br />
In General, it is a good idea to have a local copy of your original /etc directory on your local harddrive.<br />
<br />
===Prepare the intermediate system===<br />
<br />
The intermediate system is the system which is used as a place where you setup your new disc layout and install the final system. There is no need to install more then the absolutely necessary packages in it. In addition to the base system you will need wget to fetch some software and an ssl server.<br />
<br />
==Create a new swap file==<br />
:If you're paranoid or have very little RAM available you might want to add a swap file as swapspace before you disable the swap partition. Note that you don't need running daemons such as mailserver, http-server etc. When you stop them you can free memory at the remote machine.<br />
<br />
The following commands create a file filed with zeroes, formats it as swap space, activates the swap file, forces writing of the buffer cache to the disk, and then checks for active swap files.<br />
<pre><br />
# dd if=/dev/zero of=/swapfile bs=1024 count=512288<br />
# mkswap /swapfile<br />
# swapon /swapfile<br />
# sync<br />
# cat /proc/swaps<br />
</pre><br />
<br />
==Set old swap partition as new root partition==<br />
<br />
You likely have only one hard drive. (Otherwise you could install your intermediate system on the other hd). Check <code>cfdisk</code>, <code>/proc/swaps</code> or <code>/etc/fstab</code> to find your swap partition.<br />
<br />
Assuming your hard drive is located on hdaX (X will be a number), The following commands disable the swap space, create a filesystem on it, create a directory to mount it in, and finally mounts the new directory for installing the intermediate system.<br />
<br />
Don't forget to change the partition ID field from "Linux Swap" to "Linux" in fdisk first! Otherwise, GRUB<br />
will not boot your bootstrap Arch partition.<br />
<pre><br />
# swapoff /dev/hdaX<br />
# fdisk /dev/hda<br />
(set /dev/hdaX ID field to "Linux" - Hex 83)<br />
# mke2fs -j /dev/hdaX<br />
# mkdir /mnt/newsys<br />
# mount -t ext3 /dev/hdaX /mnt/newsys<br />
</pre><br />
<br />
===Install the intermediate system===<br />
<br />
David Leinhäuser (aka Calavera) wrote a bootstrap script which can be used for the intermediate system as well as the final system. It makes things easier. Grab it here: http://bbs.archlinux.org/viewtopic.php?t=4020.<br />
<br />
:Copy the file from your local machine to the remote machine:<br />
<pre><br />
$ scp archbootstrap root@yourserver.org:/home<br />
</pre><br />
<br />
:Run the script on your remote machine (Ensure wget is installed on the remote machine before running <code>archbootstrap</code>):<br />
<pre><br />
# ./archbootstrap /mnt/newsys ftp://gd.tuwien.ac.at/opsys/linux/archlinux<br />
</pre><br />
:You can, of course, choose another mirror.<br />
<br />
===Configure the intermediate system===<br />
<br />
When archbootstrap has finished, you have a raw system which still needs information you usually setup during an ordinary archlinux setup. This is all information you should have saved from your former system.<br />
<br />
Tweak the following files before you chroot into the new system:<br />
*<code>/mnt/newsys/etc/fstab</code><br />
*<code>/mnt/newsys/etc/resolv.conf</code><br />
*<code>/mnt/newsys/etc/hosts</code><br />
*<code>/mnt/newsys/etc/hosts.allow</code><br />
*<code>/mnt/newsys/etc/rc.conf</code><br />
*<code>/mnt/newsys/etc/modprobe.conf</code><br />
<br />
Specifically:<br />
:* add the new''root/former''swap partition to your <code>/mnt/newsys/etc/fstab</code>:<br />
<pre><br />
/dev/discs/disc0/partX / ext3 defaults 0 1<br />
</pre><br />
<br />
:* add the nameserver to your <code>/mnt/newsys/etc/resolv.conf</code><br />
<pre><br />
nameserver xxx.xxx.xxx.xxx<br />
</pre><br />
<br />
:* add your remote host to <code>/mnt/newsys/etc/hosts</code><br />
<pre><br />
rooditoottoot yyy.yyy.yyy.yyy<br />
</pre><br />
<br />
:* allow ssh clients to access; add sshd to <code>/mnt/newsys/etc/hosts.allow</code><br />
<pre><br />
sshd:ALL<br />
</pre><br />
<br />
:* edit your <code>/mnt/newsys/etc/rc.conf</code> script; make sure you add sshd to your DAEMONS array<br />
<br />
'''Caution:''' If you don't allow your ssh daemon to start automatically you won't be able to gain remote access to your system. If you don't allow ssh clients to access your new server via /etc/hosts.allow the situation is technically different but the effect is the same.<br />
<br />
:* add your network card to your <code>/mnt/newsys/etc/modprobe.conf</code><br />
<pre><br />
alias eth0 <your module><br />
</pre><br />
<br />
:* copy your ssl keys from <code>/etc/ssh</code> to <code>/mnt/newsys/etc/ssh</code><br />
<br />
==Things to check before you boot==<br />
You will have to chroot into your new system to bring up a kernel. When you're in it you will have to setup a root password, otherwise ssh won't let you into your system. Also your bootmanager must be directed to your new system. You might want to configure your bootmanager to be able to boot into your old system. This makes it easier to use the recovery console in case you have one.<br />
<br />
:* mount essential systems<br />
# mount -t devfs none /mnt/newsys/dev<br />
# mount -t proc none /mnt/newsys/proc<br />
<br />
:* chroot into your new system:<br />
# chroot /mnt/newsys /bin/bash<br />
<br />
:* make sure you have a network and `ifconfig` gives you something meaningful:<br />
root@tester root]# ifconfig<br />
eth0 Link encap:Ethernet HWaddr 00:E0:81:24:77:5E<br />
inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0<br />
inet6 addr: fe80::2e0:81ff:fe24:775e/64 Scope:Link<br />
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />
RX packets:5259 errors:0 dropped:0 overruns:1 frame:0<br />
TX packets:3266 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:6076799 (5.7 Mb) TX bytes:332020 (324.2 Kb)<br />
Interrupt:209 Base address:0x2000<br />
<br />
lo Link encap:Local Loopback<br />
inet addr:127.0.0.1 Mask:255.0.0.0<br />
inet6 addr: ::1/128 Scope:Host<br />
UP LOOPBACK RUNNING MTU:16436 Metric:1<br />
RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:0<br />
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)</kbd><br />
<br />
:* Now you should have pacman available to manage your system. You will need a kernel and an ssh server to reboot into your rescue system. Once you are installing stuff also consider the editor of your choice (nano, joe) if you dislike vi.<br />
# pacman -Sy kernel26 openssh<br />
<br />
:* You have to install and configure the bootloader now. I strongly recommend grub, as system updates on production systems are nerve wraking and there is a good chance to forget to call lilo after a kernelupdate. edit your <code>/boot/grub/menu.lst</code> (note: grub starts counting from zero not from one)<br />
# (0) Arch Linux insert your old swap partition as new root title Arch Linux [[/boot/vmlinuz26]] root (hd0,1) kernel /boot/vmlinuz26 root=/dev/discs/disc0/part2 ro<br />
<br />
''' Before you install grub, '''note*'' that this is when you ruin your old system, If you don't make it available from your new grub config and don't edit your old fstab to disable the swap partition.<br />
# install-grub /dev/discs/disc0/disc /dev/discs/disc0/part2<br />
<br />
:* set a root password (DON'T MISS THIS AS IT LOCKS YOU OUT OF SSH)<br />
# passwd<br />
<br />
:* leave chroot environment:<br />
#exit<br />
<br />
'''NOTE''': Before proceeding double check that you:<br />
# set up your bootmanager to the new system<br />
# called sshd from rc.conf<br />
# allowed other machines to access your server in /etc/hosts.allow<br />
# set a root password<br />
<br />
All this is necessary to get a working system.<br />
<br />
:* If you are sure the new system will boot, enter <code>reboot</code>.<br />
<br />
===Prepare a home for your new production server===<br />
Give the server time to reboot and then ping it to ensure you can access it.<br />
<br />
SSH into your new Archlinux system. If you forgot to copy your ssh-keys the output will tell you why. Follow the lines to get rid of it. Make sure you understand where you are - at your former swap partition. In your private little rescue system. You are surrounded by your old system partition. If you are freaky enough to choose option #1 you are on your own for this part. To use parted is not the world's hardest challenge at all.<br />
<br />
:# You want to migrate your old data to the new system. You use <code>parted</code> to create a rescue partition and copy all your data to it.<br />
:# You already have a backup somewhere on the net (good boy!) then you can call cfdisk without a risk and set up your new disc layout directly.<br />
<br />
Let's consider a good layout first: You are here in a rescue system. Useful, isn't it? Let's have rescue system at your harddrive if your server got hacked or if you have to work at the actual system. This can also be useful if you set up your server and need to interrupt your work. What to do, leave your server there without a firewall and no root passwords set for the MySQL-server? Bad idea! Boot into your rescue system just waiting to ssh into it again and continue your work. You can also add all the tools you need to work to this system and you're not restricted to the minimal system from the providers rescue console(if you have one). Now swap partitions, where you are currently, are mostly at the very beginning of a disc layout. Don't waste fast parts of the hd for your rescue system! Place the rescue system at the end (maybe 512-1024MB) of your disc layout.<br />
<br />
Now the idea for the complete layout (It'll depend a bit on the former layout and where the partition you are currently working on is located). Some people might want to use Confixx or Vistas to maintain their domains and e-mail accounts. This will require a different layout but is not covered by this tutorial at all. We will suggest this layout:<br />
<br />
* part1 swap 512MB<br />
* part2 / 2048MB<br />
* part3 /home depends on size of the disc<br />
* part4 -- extended --<br />
* part5 /backup usually the same size as /home<br />
* part6 / for rescue system 1024MB<br />
<br />
Now make your layout. When you do so don't forget that you will have to leave the partition you are currently working on intact!!!<br />
# parted /dev/discs/disc0/disc<br />
or<br />
# cfdisk /dev/discs/disc0/disc<br />
<br />
Create filesystems as desired and mount your new root partition to <code>/mnt/newsys</code>.<br />
# mkdir /mnt/newsys<br />
# mount -t ext3 /dev/discs/disc0/part3 /mnt/newsys<br />
<br />
===Set up your new system===<br />
<br />
We need archbootstrap again and this uses wget<br />
<pre><br />
# pacman -S wget<br />
</pre><br />
<br />
Copy archbootstrap from your old home, which you will have to mount, or copy it again via scp. Alernatively you can extract the original Arch setup script from the cd or from the floppy images. I assume you used archbootstrap again and have the base installed to <code>/mnt/newsys</code>. You can edit your <code>/etc</code> stuff manually again, or you can copy:<br />
<br />
# cat /etc/fstab > /mnt/newsys/etc/fstab<br />
# cat /etc/pacman.conf > /mnt/etc/pacman.conf<br />
# cat /etc/hosts > /mnt/etc/hosts<br />
# cat /etc/hosts.allow > /mnt/etc/hosts.allow<br />
# cat /etc/rc.conf > /mnt/etc/rc.conf<br />
# cat /etc/modprobe.conf > /mnt/etc/modprobe.conf<br />
# cat /etc/resolv.conf > /mnt/etc/resolv.conf<br />
<br />
When you're done set up your final <code>/mnt/newsys/etc/fstab</code> (Edit to suit your system):<br />
<br />
<pre><br />
#<br />
# /etc/fstab: static file system information<br />
#<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
none /proc proc defaults 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
tmpfs /tmp tmpfs defaults 0 0<br />
#sysfs /sys sysfs defaults 0 0<br />
usbdevfs /proc/bus/usb usbdevfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
/dev/floppy/0 /mnt/fl vfat user,noauto,unhide 0 0<br />
<br />
# the production system<br />
/dev/discs/disc0/part1 swap swap defaults 0 0<br />
/dev/discs/disc0/part2 / ext3 defaults 0 1<br />
/dev/discs/disc0/part3 /home ext3 defaults 0 1<br />
<br />
# the backup system<br />
/dev/discs/disc0/part5 /mnt/backup ext3 defaults,noauto 0 1<br />
<br />
# the rescue system if necessary<br />
/dev/discs/disc0/part6 /mnt/rescue ext3 defaults,noauto 0 1<br />
</pre><br />
<br />
Don't forget to make a directory for the backup<br />
# mkdir /mnt/backup<br />
<br />
Again, don't forget to copy your ssl keys. Mount devfs and proc:<br />
# mount -t devfs none /mnt/newsys/dev<br />
# mount -t proc none /mnt/newsys/proc<br />
<br />
Chroot into your soon to be production system, set a root password, and install essential software<br />
# chroot /mnt/newsys /bin/bash<br />
# passwd<br />
# pacman -Sy kernel26 openssh mc wget nano<br />
<br />
Tweak your <code>/mnt/newsys/boot/grub/menu.lst</code> to default it to your new production system.<br />
# install-grub /dev/discs/disc0/disc dev/discs/disc0/part2<br />
<br />
Double check that you have performed all necessary steps (as for setting up the rescue system), exit chroot, and reboot.<br />
<br />
===Final Remarks===<br />
Now you have Archlinux running at your server. More things need to be done to turn it into something useful.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=MythTV&diff=963MythTV2005-07-24T14:45:07Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Audio/Video]][[Category:General]]<br />
==MythTV HOWTO==<br />
<br />
===Introduction===<br />
MythTV is an application suite designed to provide an amazing multimedia experience. It provides PVR functionality to a Linux based computer, and also supports other media types. Combined with a nice, quiet computer and a decent TV, it makes an excellent centerpiece to a home theater system.<br />
<br />
----<br />
<br />
===Structure===<br />
The MythTV system is split into a backend and a frontend. Each component has its own functions:<br />
<br />
====mythbackend====<br />
*Schedule and record television programming<br />
*Stream video data to the frontend<br />
*Flag commercial breaks<br />
*Transcode videos from one format to another<br />
<br />
====mythfrontend====<br />
*Provide a pretty GUI<br />
*Play back recorded content<br />
*Provide an interface to schedule programs<br />
<br />
The frontend and backend may be on separate computers on a network, and there may also be multiple frontends. This architecture allows for a central media distribution system that can reach anywhere a network can. This is a remarkably flexible system, and it even allows very low power machines to act as perfectly usable frontends.<br />
<br />
----<br />
<br />
===Requirements===<br />
MythTV is a very scalable system. With standard definition television and pure MPEG2 encoding and decoding with hardware acceleration, even a very modest system can act as both frontend and backend. How modest? Some people report being able to use fanless Via systems with Hauppauge PVR cards for both backend and frontend simultaneously. While the author does not condone such a lightweight system, it has been down successfully.<br />
<br />
On the other end of the spectrum, high definition TV with MPEG4 transcoding and commercial flagging can require serious horsepower. Most people in the HD realm use high end Athlon XP's, midrange to high end Athlon 64's, and high end Pentium 4's for their backends. The frontend can get away with a somewhat more midrange processor if XvMC playback acceleration is used.<br />
<br />
All systems are going to need a tuner card. The Hauppauge PVR series of cards (150, 250, 350, and 500) are very popular for use with MythTV due to fairly decent linux support and low CPU usage. Other cards, like those based on the BT878 chipset are also used. Unlike the PVR series, BT878 based cards require significant amounts of CPU power to save the video, as these cards output raw frames and not compressed streams.<br />
<br />
The only combination of hardware the author can say works is an Athlon XP 1700+ frontend with 512MB of DDR, and a Pentium 4 2.8GHz backend with 512MB of DDR2.<br />
<br />
----<br />
<br />
===Getting Started===<br />
In order to install MythTV on your system(s), you must have a working Linux installation. Since this is the Arch Linux website, this article will be geared towards that distribution. A simple base system [[Category:Install]] with no extras is a suggested starting point.<br />
<br />
For the backend, it is also good to have [[LAMP]] working properly so that anybody can use a web browser to schedule programming through MythWeb. While it is not necessary, it's a very handy feature.<br />
<br />
A working [[Install and configure xorg]](XWindow) environment is necessary.<br />
<br />
----<br />
<br />
===Installing MythTV===<br />
<br />
There is a MythTV package in ''Extra'', but it is out of date and has problems that have never been fixed. As an alternative, there is another package in the AUR. You can install it from the ''Community'' repository, or by building it from the PKGBUILD.<br />
<br />
* Add this to your pacman.conf file in order to access the ''Community'' repository:<br />
<pre><br />
[[community]]<br />
Server = ftp://ftp.archlinux.org/community/os/i686<br />
</pre><br />
<br />
* Install the MythTV package:<br />
<pre><br />
# pacman -S mythtv<br />
</pre><br />
<br />
At this point you have a generic MythTV installation. It must be refined into a backend, a frontend, or both.<br />
<br />
====Backend setup====<br />
Before setting up your backend, make sure you have a functioning video capture card or firewire input from an STB. Unfortunately, that part of setup is outside the scope of this article. It is also helpful to have an account with DataDirect from Zap2It labs. If you are in the United States, this service provides TV listings at a minimal cost. All you have to do is take a survey every three months, and you get (monetarily) free listings. Users outside the United States will need to use screen scrapers (xmltv) to do the same job.<br />
<br />
''Setting up the database:''<br />
* Install and run MySQL<br />
<pre><br />
# pacman -S mysql<br />
# /etc/rc.d/mysqld start<br />
</pre><br />
<br />
* Add this to the daemons line in rc.conf:<br />
<pre><br />
mysqld<br />
</pre><br />
<br />
* Import the database structure:<br />
<pre><br />
# mysql < /usr/share/mythtv/mc.sql<br />
</pre><br />
Note that you may need to add "-u root -p" in order to use the root user and supply a password if you have configured MySQL in the past.<br />
<br />
''Setting up the master backend:''<br />
<br />
* Start up X, if you haven't already:<br />
<pre><br />
# startx<br />
</pre><br />
<br />
* Open up xterm, or the GUI console of your choice<br />
<br />
* Run the mythtv-setup program<br />
<pre><br />
# mythtv-setup<br />
</pre><br />
<br />
* '''Capture menu''' <br><br />
If this is your master backend, put its IP address in the first and fourth fields, identifying this computer as your master and giving its network IP address.<br><br />
On the next page, enter the paths where recordings and the live tv buffer will be stored. LVM or RAID solutions provide easily accessible large scale storage, but again, those are outside the scope of this article. Set the live tv buffer to a size you can handle, and leave everything else alone.<br><br />
On the next page, set the settings to your locale. NTSC is mostly used in North America, and be sure to set whether using cable or broadcast.<br><br />
On the next two pages, leave everything as is, unless you know for sure you want to change it.<br />
On the next page, if you have a fast backend that can handle recordings and flagging jobs simultaneously, it is recommended to set CPU usage to \"High\", maximum simultaneous jobs to 2, and to check the commercial flagging option.<br><br />
On the next page, set these options to taste. Automatic commercial flagging is highly recommended.<br />
Ignore the next page and finish.<br><br />
<br />
* '''Capture card menu''' <br><br />
Select your card type from the drop down list. Hauppauge PVR users will select the MPEG-2 encoder card option.<br><br />
Point mythtv-setup to the proper location, usually /dev/v4l/video0<br><br />
<br />
* '''Video sources menu''' <br><br />
This is where it gets important to have a source for TV listings. DataDirect users should create a new video source, name it, select the North America (DataDirect) option, and fill in their logon information. In order to verify that it is correct, go ahead and retrieve the listings.<br />
<br />
* '''Input connections menu''' <br><br />
This menu is rather self explanatory. All you need to do is pick an input on the capture card, and tell myth which video source it connects to. Most users will select their tuner and leave all the other inputs alone. Satellite users will select a video input, and on the next page provide the command to change channels on their STB using an external channel change program. This is also outside the scope of this article.<br />
<br />
* '''Channel editor menu''' <br><br />
This menu is safe to ignore<br />
<br />
* Exit the program (esc)<br />
<br />
* Run mythfilldatabase<br />
<pre><br />
# mythfilldatabase<br />
</pre><br />
This should populate your mysql database with TV listings for the next two weeks (or so).<br />
<br />
* Add mythbackend to rc.conf<br />
<br />
* Restart<br />
<pre><br />
# reboot<br />
</pre><br />
While it isn't absolutely necessary to restart at this point, it is a good idea, just to clean things up and make sure that all the necessary daemons start up automatically.<br />
<br />
====Frontend setup====<br />
<br />
Compared to the backend, getting a frontend running is trivially simple. Just make sure you are in an X environment as a normal user and run mythfrontend. It will pop up a menu asking about the IP address of the backend, and the local computer's name and IP. Fill in this information and your frontend should be functional. On the other hand, the frontend has has more options than a luxury car. All of those are an article on their own. There are a few notable options that should be set to ensure a good working setup. If you don't have an interlaced monitor (and almost nobody does), you will need to deinterlace your television output. Go into the TV playback menu and select kernel deinterlacing or bob2x deinterlacing. Try both and see which you like better. Also, in the general settings page, it is good to set up your [Alsa setup] settings, but those vary so greatly it isn't worth suggesting values here.<br />
<br />
----<br />
<br />
===MythTV Plugins===<br />
There are a number of plugins available for MythTV in the AUR. They range from RSS readers to DVD players. Take a look at them. Simply installing the package on the frontend computer should impart the intended functionality. There is rarely any additional setup, and when there is, the install file will mention it.<br />
<br />
----<br />
<br />
===Hints to a Happy Myth System===<br />
But not full articles (yet)<br />
*Run ntpd or openntpd on your backend to make sure it always has the right time<br />
*LIRC on your frontend allows you to use a remote control, which is wonderful in a living room<br />
*Use gdm, kdm, or xdm to automatically log in your frontend, and ~/.xinitrc to load mythfrontend on boot<br />
*Set the automatically run mythfilldatabase option on one of your frontends to make sure you always have listings<br />
*Don't forget to use the verbosity statements and log file location arguments to mythfrontend so you can see when things break<br />
<br />
----<br />
<br />
===References===<br />
*http://www.mythtv.org<br />
*http://mythtv.info<br />
*http://wilsonet.com/mythtv/fcmyth.php<br />
*http://commwebworks.com/ski/mythtv.html</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Frequently_asked_questions&diff=1153Frequently asked questions2005-07-24T14:36:01Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:General]]<br />
Read [[TheArchWay]] and [[ArchLinux]] and [http://www.archlinux.org/docs/en/guide/devland/devland.html DevLand] first. All three contain a good deal of information about ArchLinux.<br />
<br />
==Frequently Asked Questions -- FAQs==<br />
<br />
----<br />
<br />
===Q) I am a complete Linux beginner. Should I use Arch?===<br />
'''A)''' This question has had much debate. Arch is targeted at more advanced Linux users, but some people feel "Arch is a good place to start". If you are a beginner and want to use Arch, just be warned that you MUST be willing to learn. Before asking any question, do your own independent research by googling, searching the Wiki, and searching the forum (and reading past FAQs). If you do that, you should be fine. Also know that many people do not want to answer the same basic questions over and over, so you are exposing yourself to that environment. There is a reason these resources were created/made available to you.<br />
<br />
----<br />
<br />
===Q) I've found an error with package X, what should I do?===<br />
'''A)''' First you need to figure out if this error is something the Arch team can fix. Sometimes it's not (that firefox crash may be the fault of the Mozilla team) - this is called an ''upstream error''. If it is an Arch problem, there are a series of steps you can take:<br />
#Search the forums for information. See if anyone else has noticed it.<br />
#Notify the package maintainer. Try a "pacman -Qi <package name>" for this info.<br />
#Post a bug report, with detailed information at http://bugs.archlinux.org<br />
#Write a forum post if you'd like, detailing the problem and the fact that you have reported it already. This will help prevent alot of people from reporting the same error.<br />
<br />
----<br />
<br />
===Q) Will Arch have a database for pacman?===<br />
'''A)''' Possibly. There is discussion over the issue.<br />
http://bbs.archlinux.org/viewtopic.php?t=11193<br />
http://bbs.archlinux.org/viewtopic.php?t=10898<br />
<br />
----<br />
<br />
===Q) Pacman is slow! How can initial start times be improved?===<br />
'''A)''' See previous entry relating to a database backend for pacman. Only the first pacman run after a boot should be slow. After that, things are generally cached. Still, initial start time is an issue for some people. There is discussion on addressing this.<br />
If you are on ReiserFS, there are issues with fragmentation that slow down pacman more than necessary. See this thread for help:<br />
http://bbs.archlinux.org/viewtopic.php?t=11840<br />
<br />
----<br />
<br />
===Q) Arch packages need to use a unique naming convention. .pkg.tar.gz is too long, and or, confusing===<br />
'''A)''' This has been discussed on the Arch mailing list. Some proposed a .pac file extension. As far as is currently known, there is no plan to change the package extension.<br />
As Tobias Kieslich, one of the Arch devs, put it, "A package '''is''' a gzipped tarball! And it can be opened, investigated and manipulated by any tar capable application. Moreover, the mime-type is automatically detected correctly by most applications."<br />
<br />
----<br />
<br />
===Q) Pacman needs a library so other applications can easily access package information===<br />
'''A)''' A library for pacman is in progress.<br />
<br />
----<br />
<br />
===Q) Pacman needs a front-end===<br />
'''A)''' Did you read [[TheArchWay]] and [[ArchLinux]] and [http://www.archlinux.org/docs/en/guide/devland/devland.html DevLand]?<br />
The answer is basically that the Arch dev team will not be providing one. Feel free to use one of the user provided ones available. There is a nice list of them [[UserContributionsPage]], in the links section.<br />
Once the library for pacman is done, it will be much easier to the various frontends to interact with Arch packages.<br />
<br />
<br />
----<br />
<br />
===Q) Pacman needs feature X!===<br />
'''A)''' Did you read [[TheArchWay]] and [[ArchLinux]] and [http://www.archlinux.org/docs/en/guide/devland/devland.html DevLand]?<br />
The Arch philosophy is "Keep It Simple". If you think the idea has merit, and does not violate this simple mantra, then by all means, discuss it on the forum [http://bbs.archlinux.org/viewforum.php?f=2 here]<br />
You might also like to check [http://bugs.archlinux.org here], it's a place for feature requests if you find it is important.<br />
<br />
<br />
----<br />
<br />
===Q) Arch needs a better installer. Maybe a GUI installer.===<br />
'''A)''' The discussion of a "better" installer is a subjective opinion. The best way to cope with these issues it to fit the installer<br />
to "the arch way". If this opinion on a better installer is backed with more concrete arguments, it might be taken into account for further development of the installer.<br />
''Windows uses a text based installer, FWIW''<br />
<br />
<br />
----<br />
<br />
===Q) Arch needs more press (ie advertisement)===<br />
'''A)''' Arch gets plenty of press as it is. The goal of ArchLinux is not to be large. The goal is to be well done. Let growth occur naturally. Trying to force it to grow too quickly will just cause problems.<br />
<br />
----<br />
<br />
===Q) Arch needs less press===<br />
'''A)''' Similarly to what is stated above, do not try to restrict the natural growth. More users might mean more devs to work on ArchLinux. This may cause some organizational issues at the "top", but those will be dealt with when they arrive.<br />
<br />
----<br />
<br />
===Q) Arch needs more devs===<br />
'''A)''' Possibly so. Feel free to volunteer your time! Visit the forums, irc channel, mailing lists, and see what needs to be done.<br />
There is always a need for documentation, see [[DocumentRequests]] for anything pending.<br />
<br />
----<br />
<br />
===Q) Arch needs a stable package branch===<br />
'''A)'''<br />
COMMENT: "For me, In short, Arch is Rock-solid enough."<br />
<br />
REPLY: It depends what type of work we are frequently using our machine. Example, in office work we don't want our printer to stop working or in multimedia our cd burning. Or web developing our ftp client. Currently I am annoyed with kde-3.4 when I lost all my bookmarks in kbear (ftp). New bookmark cannot be saved.<br />
<br />
SOLUTION: There is a '''release''' '''repo''' what does as stable though not having all packages. There are thoughs of including all (kde, gnome, etc). <br><br />
ftp://ftp.archlinux.org/release/os/i686/<br />
<br />
Read more: <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br />
----<br />
<br />
===Q) Arch needs more documentation===<br />
'''A)''' Documentation does not occur ex-nihilo. After searching the forums, and the wiki, if you cannot find the documentation you require, try creating it. Start a page on the wiki, and post in the forums regarding it. Likely other people have experience in the area, or are at least willing to help.<br />
If nobody does, don't be discouraged. When you finish your documentation, other people will likely find it an extremely valuable resource.<br />
There is always a need for documentation, see [[DocumentRequests]] for anything pending.<br />
<br />
<br />
----<br />
<br />
===Q) Arch needs to be more "newbie" friendly===<br />
'''A)''' Before we start a discussion about newbie-friendlyness, we first need to define "newbie"-friendlyness. Please refer to the Q about a better installer.<br />
<br />
----<br />
<br />
===Q) Newbies are annoying. Make them go away.===<br />
'''A)''' <Philosophical discussion><br />
Part of being human is accepting others being human too.<br />
</Philosophical discussion><br />
<br />
The best thing to cope with newbies is not to judge them on forehand. Somebody may have a common problem, even if they have read the docs,<br />
everybody misses sometimes. Shouting at them will not help. Use your best behaviour and ignore people you don't like instead of starting<br />
a fight.<br />
<br />
Newbies are best helped in guiding them to find the right information. Especially newbies that come from windows may find it having a<br />
difficult time finding information, it's not always on the place they would expect it. Compare it to finding the right word for the right<br />
job: you can ask your teacher to look up a certain word for you, and you'll always forget what it means. However, if you search the word<br />
yourself in a dictionary, you'll never forget it for the rest of your life.<br />
<br />
----<br />
<br />
===Q) Arch needs a backing business entity===<br />
'''A)''' <add info here></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=MythTV&diff=803MythTV2005-07-24T13:16:45Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>[[Category:Audio/Video]][[Category:General]]<br />
==MythTV HOWTO==<br />
<br />
===Introduction===<br />
MythTV is an application suite designed to provide an amazing multimedia experience. It provides PVR functionality to a Linux based computer, and also supports other media types. Combined with a nice, quiet computer and a decent TV, it makes an excellent centerpiece to a home theater system.<br />
<br />
----<br />
<br />
===Structure===<br />
The MythTV system is split into a backend and a frontend. Each component has its own functions:<br />
<br />
====mythbackend====<br />
*Schedule and record television programming<br />
*Stream video data to the frontend<br />
*Flag commercial breaks<br />
*Transcode videos from one format to another<br />
<br />
====mythfrontend====<br />
*Provide a pretty GUI<br />
*Play back recorded content<br />
*Provide an interface to schedule programs<br />
<br />
The frontend and backend may be on separate computers on a network, and there may also be multiple frontends. This architecture allows for a central media distribution system that can reach anywhere a network can. This is a remarkably flexible system, and it even allows very low power machines to act as perfectly usable frontends.<br />
<br />
----<br />
<br />
===Requirements===<br />
MythTV is a very scalable system. With standard definition television and pure MPEG2 encoding and decoding with hardware acceleration, even a very modest system can act as both frontend and backend. How modest? Some people report being able to use fanless Via systems with Hauppauge PVR cards for both backend and frontend simultaneously. While the author does not condone such a lightweight system, it has been down successfully.<br />
<br />
On the other end of the spectrum, high definition TV with MPEG4 transcoding and commercial flagging can require serious horsepower. Most people in the HD realm use high end Athlon XP's, midrange to high end Athlon 64's, and high end Pentium 4's for their backends. The frontend can get away with a somewhat more midrange processor if XvMC playback acceleration is used.<br />
<br />
All systems are going to need a tuner card. The Hauppauge PVR series of cards (150, 250, 350, and 500) are very popular for use with MythTV due to fairly decent linux support and low CPU usage. Other cards, like those based on the BT878 chipset are also used. Unlike the PVR series, BT878 based cards require significant amounts of CPU power to save the video, as these cards output raw frames and not compressed streams.<br />
<br />
The only combination of hardware the author can say works is an Athlon XP 1700+ frontend with 512MB of DDR, and a Pentium 4 2.8GHz backend with 512MB of DDR2.<br />
<br />
----<br />
<br />
===Getting Started===<br />
In order to install MythTV on your system(s), you must have a working Linux installation. Since this is the Arch Linux website, this article will be geared towards that distribution. A simple base system [[Category:Install]] with no extras is a suggested starting point.<br />
<br />
For the backend, it is also good to have [[Apache, PHP, and MySQL]] working properly so that anybody can use a web browser to schedule programming through MythWeb. While it is not necessary, it's a very handy feature.<br />
<br />
A working [[X Window]] environment is necessary.<br />
<br />
----<br />
<br />
===Installing MythTV===<br />
<br />
There is a MythTV package in [[Extra]], but it is out of date and has problems that have never been fixed. As an alternative, there is another package in the AUR. You can install it from the [[Community]] repository, or by building it from the PKGBUILD.<br />
<br />
* Add this to your pacman.conf file in order to access the [[Community]] repository:<br />
<pre><br />
[[community]]<br />
Server = ftp://ftp.archlinux.org/community/os/i686<br />
</pre><br />
<br />
* Install the MythTV package:<br />
<pre><br />
# pacman -S mythtv<br />
</pre><br />
<br />
At this point you have a generic MythTV installation. It must be refined into a backend, a frontend, or both.<br />
<br />
====Backend setup====<br />
Before setting up your backend, make sure you have a functioning video capture card or firewire input from an STB. Unfortunately, that part of setup is outside the scope of this article. It is also helpful to have an account with DataDirect from Zap2It labs. If you are in the United States, this service provides TV listings at a minimal cost. All you have to do is take a survey every three months, and you get (monetarily) free listings. Users outside the United States will need to use screen scrapers (xmltv) to do the same job.<br />
<br />
''Setting up the database:''<br />
* Install and run MySQL<br />
<pre><br />
# pacman -S mysql<br />
# /etc/rc.d/mysqld start<br />
</pre><br />
<br />
* Add this to the daemons line in rc.conf:<br />
<pre><br />
mysqld<br />
</pre><br />
<br />
* Import the database structure:<br />
<pre><br />
# mysql < /usr/share/mythtv/mc.sql<br />
</pre><br />
Note that you may need to add \"-u root -p\" in order to use the root user and supply a password if you have configured MySQL in the past.<br />
<br />
''Setting up the master backend:''<br />
<br />
* Start up X, if you haven't already:<br />
<pre><br />
# startx<br />
</pre><br />
<br />
* Open up xterm, or the GUI console of your choice<br />
<br />
* Run the mythtv-setup program<br />
<pre><br />
# mythtv-setup<br />
</pre><br />
<br />
* '''Capture menu''' <br><br />
If this is your master backend, put its IP address in the first and fourth fields, identifying this computer as your master and giving its network IP address.<br><br />
On the next page, enter the paths where recordings and the live tv buffer will be stored. LVM or RAID solutions provide easily accessible large scale storage, but again, those are outside the scope of this article. Set the live tv buffer to a size you can handle, and leave everything else alone.<br><br />
On the next page, set the settings to your locale. NTSC is mostly used in North America, and be sure to set whether using cable or broadcast.<br><br />
On the next two pages, leave everything as is, unless you know for sure you want to change it.<br />
On the next page, if you have a fast backend that can handle recordings and flagging jobs simultaneously, it is recommended to set CPU usage to \"High\", maximum simultaneous jobs to 2, and to check the commercial flagging option.<br><br />
On the next page, set these options to taste. Automatic commercial flagging is highly recommended.<br />
Ignore the next page and finish.<br><br />
<br />
* '''Capture card menu''' <br><br />
Select your card type from the drop down list. Hauppauge PVR users will select the MPEG-2 encoder card option.<br><br />
Point mythtv-setup to the proper location, usually /dev/v4l/video0<br><br />
<br />
* '''Video sources menu''' <br><br />
This is where it gets important to have a source for TV listings. DataDirect users should create a new video source, name it, select the North America (DataDirect) option, and fill in their logon information. In order to verify that it is correct, go ahead and retrieve the listings.<br />
<br />
* '''Input connections menu''' <br><br />
This menu is rather self explanatory. All you need to do is pick an input on the capture card, and tell myth which video source it connects to. Most users will select their tuner and leave all the other inputs alone. Satellite users will select a video input, and on the next page provide the command to change channels on their STB using an external channel change program. This is also outside the scope of this article.<br />
<br />
* '''Channel editor menu''' <br><br />
This menu is safe to ignore<br />
<br />
* Exit the program (esc)<br />
<br />
* Run mythfilldatabase<br />
<pre><br />
# mythfilldatabase<br />
</pre><br />
This should populate your mysql database with TV listings for the next two weeks (or so).<br />
<br />
* Add mythbackend to rc.conf<br />
<br />
* Restart<br />
<pre><br />
# reboot<br />
</pre><br />
While it isn't absolutely necessary to restart at this point, it is a good idea, just to clean things up and make sure that all the necessary daemons start up automatically.<br />
<br />
====Frontend setup====<br />
<br />
Compared to the backend, getting a frontend running is trivially simple. Just make sure you are in an X environment as a normal user and run mythfrontend. It will pop up a menu asking about the IP address of the backend, and the local computer's name and IP. Fill in this information and your frontend should be functional. On the other hand, the frontend has has more options than a luxury car. All of those are an article on their own. There are a few notable options that should be set to ensure a good working setup. If you don't have an interlaced monitor (and almost nobody does), you will need to deinterlace your television output. Go into the TV playback menu and select kernel deinterlacing or bob2x deinterlacing. Try both and see which you like better. Also, in the general settings page, it is good to set up your [Alsa setup] settings, but those vary so greatly it isn't worth suggesting values here.<br />
<br />
----<br />
<br />
===MythTV Plugins===<br />
There are a number of plugins available for MythTV in the AUR. They range from RSS readers to DVD players. Take a look at them. Simply installing the package on the frontend computer should impart the intended functionality. There is rarely any additional setup, and when there is, the install file will mention it.<br />
<br />
----<br />
<br />
===Hints to a Happy Myth System===<br />
But not full articles (yet)<br />
*Run ntpd or openntpd on your backend to make sure it always has the right time<br />
*LIRC on your frontend allows you to use a remote control, which is wonderful in a living room<br />
*Use gdm, kdm, or xdm to automatically log in your frontend, and ~/.xinitrc to load mythfrontend on boot<br />
*Set the automatically run mythfilldatabase option on one of your frontends to make sure you always have listings<br />
*Don't forget to use the verbosity statements and log file location arguments to mythfrontend so you can see when things break<br />
<br />
----<br />
<br />
===References===<br />
*http://www.mythtv.org<br />
*http://mythtv.info<br />
*http://wilsonet.com/mythtv/fcmyth.php<br />
*http://commwebworks.com/ski/mythtv.html</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Microsoft_fonts&diff=1114Microsoft fonts2005-07-24T13:12:58Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>[[Category:Desktop]]<br />
The msfonts package adds fonts that were created by Microsoft; no archlinux package ships them as far as I know.<br />
You might want to use these when editing old MS word docs in openoffice.<br />
<br />
===These fonts are free only for who have a Microsoft Windows license.===<br />
<br />
Fonts included are: Andale Mono, Arial, Arial Black, Comic, Courier New, Georgia, Impact, Lucida Sans, Lucida Console, Microsoft Sans Serif, Symbol, Tahoma, Times New Roman, Trebuchet, Verdana, Webdings and Wingdings.<br />
<br />
Download: http://avi.alkalay.net/software/msfonts/download/<br />
Mirror: http://webperf.org/msfonts/<br />
<br />
To install (manually):<br />
# tar zxvf msfonts-1.2.1.tar.gz<br />
# cp -a msfonts-1.2.1/main /usr/X11R6/lib/X11/fonts/ms<br />
# cd /usr/X11R6/lib/X11/fonts/ms<br />
# ttmkfdir >fonts.scale<br />
# mkfontdir<br />
# fc-cache -v</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=3973User:Klapmuetz2005-07-24T13:12:25Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br><br />
[[Installing with Software RAID or LVM]]<br><br />
[[Intel 53x Modem Driver]]<br><br />
Chunk N:<br><br />
[[MPD and glurp]]<br><br />
[[MS Fonts]]<br><br />
[[MythTV]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=MPD_-_Music_Player_Daemon&diff=4224MPD - Music Player Daemon2005-07-24T13:10:57Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Audio/Video]]<br />
==MPD+glurp==<br />
<br />
Right<br />
<br />
<pre><br />
pacman -S mpd glurp<br />
</pre><br />
<br />
now edit mpd.conf.example to:<br />
<br />
add your path to your music set sound output & user name ;-)<br />
<br />
<pre><br />
<br />
# MPD CONFIG FILE<br />
# For a full description of all config parameters,<br />
# Check the mpd man page, "man mpd".<br />
<br />
##################### REQUIRED ###########################<br />
port "6600"<br />
music_directory "/<path to your music>"<br />
playlist_directory "~/.mpd/playlists"<br />
log_file "~/.mpd/mpd.log"<br />
error_file "~/.mpd/mpd.error"<br />
##########################################################<br />
<br />
##########################################################<br />
# EVERYTHING ELSE IS OPTIONAL<br />
##########################################################<br />
<br />
################# FILESYSTEM SETTINGS ####################<br />
#<br />
# If the names of files or directories are<br />
# not correctly displayed then set the<br />
# following to the filesystem coding.<br />
#<br />
# Usually this is either:<br />
# ISO-8859-1 or UTF-8<br />
#<br />
# After changing the filesystem_charset<br />
# you will need to recreate the db:<br />
# mpd --create-db<br />
#<br />
filesystem_charset "UTF-8"<br />
#<br />
##########################################################<br />
<br />
#################### OPTIONAL FILES ######################<br />
#<br />
# Location of DB file<br />
#<br />
db_file "~/.mpd/mpd.db"<br />
#<br />
# The state file (if set) will be a file<br />
# for storing all current information<br />
# (playlist, playing/paused, etc...) from<br />
# the last MPD session. This will be used<br />
# to recreate your last MPD session after<br />
# restart.<br />
#<br />
state_file "~/.mpd/mpdstate"<br />
#<br />
##########################################################<br />
<br />
<br />
################### VOLUME MIXER #########################<br />
#<br />
# Examples:<br />
# ALSA Mixer<br />
mixer_type "alsa"<br />
mixer_device "/dev/mixer"<br />
mixer_control "PCM"<br />
#<br />
# OSS Mixer<br />
#mixer_type "oss"<br />
#mixer_device "/dev/mixer"<br />
#mixer_control "PCM"<br />
#<br />
# Software Mixer<br />
#mixer_type "software"<br />
#<br />
##########################################################<br />
<br />
<br />
################## AUDIO OUTPUT ##########################<br />
#<br />
# OSS Audio Output<br />
#ao_driver "oss"<br />
#ao_driver_options "dsp=/dev/dsp"<br />
#<br />
# ALSA Audio Output<br />
ao_driver "alsa09"<br />
ao_driver_options "dev=hw:0,0"<br />
#<br />
# Set this if you have problems<br />
# playing audio files.<br />
# This will resample your music so<br />
# that it comes out at the set rate.<br />
#<br />
#audio_output_format "44100:16:2"<br />
#<br />
# You should not need mess with<br />
# this value unless you know<br />
# what you're doing.<br />
#<br />
#audio_write_size "1024"<br />
#<br />
##########################################################<br />
<br />
################# REPLAYGAIN #############################<br />
#<br />
# Use Replay Gain (album or title)<br />
# http://www.replaygain.org<br />
#<br />
#replaygain "album"<br />
#<br />
# Sets the pre-amp used for files that have replaygain<br />
# info. Valid values are between -15 to 15 (in dB).<br />
#<br />
#replaygain_preamp "0"<br />
#<br />
##########################################################<br />
<br />
<br />
################ OUTPUT BUFFER SETTINGS ##################<br />
#<br />
# You should not need to mess with this<br />
# unless you know what you're doing.<br />
#<br />
#audio_buffer_size "2048"<br />
#<br />
# This means exactly what it says, it will<br />
# buffer your file up to the percentage of<br />
# the buffer before it begins playing.<br />
#<br />
#buffer_before_play "25%"<br />
#<br />
##########################################################<br />
<br />
<br />
################### HTTP PROXY ###########################<br />
#<br />
# http_proxy_host "proxy.isp.com"<br />
# http_proxy_port "8080"<br />
# http_proxy_user "user"<br />
# http_proxy_password "password"<br />
#<br />
##########################################################<br />
<br />
<br />
################# SECURITY SETTINGS ######################<br />
#<br />
# It is encouraged to run MPD as<br />
# non-superuser. If you start mpd as root<br />
# (for example, in an init script), set<br />
# this value, then mpd will drop root priveleges<br />
# and runs as the user specified.<br />
#<br />
user "your-user-name-here"<br />
#<br />
# Set this value if you only have one<br />
# address you want to allow connection to.<br />
#<br />
bind_to_address "localhost"<br />
#<br />
# If you want to setup MPD to use<br />
# passwords set them here<br />
#<br />
#password "password1@read,add,control,admin"<br />
#password "password2@read"<br />
#<br />
# Specify permissions used by default when no password is<br />
# given by for a connection/client.<br />
#<br />
#default_permissions "read,add,control,admin"<br />
#<br />
##########################################<br />
<br />
<br />
################ MISCELLANEOUS OPTIONS ###################<br />
#<br />
# This setting exists as precaution against attacks.<br />
#<br />
#max_playlist_length "16384"<br />
#<br />
# Valid options are "default", "secure" or "verbose".<br />
#log_level "default"<br />
#<br />
#connection_timeout "60"<br />
#<br />
# This should be fine for 2-3 people using clients<br />
# at the same time.<br />
#<br />
#max_connections "5"<br />
#<br />
# No need to change these unless you know better.<br />
#<br />
#max_command_list_size "2048"<br />
#max_output_buffer_size "2048"<br />
#<br />
# This will make playlists compatible with normal music<br />
# players.<br />
#<br />
#save_absolute_paths_in_playlists "no"<br />
#<br />
##########################################################<br />
<br />
</pre><br />
<br />
make any other changes you want to add using your favourite editor then save file as mpd.conf<br />
<br />
start mpd as root with<br />
<br />
/etc/rc.d/mpd start<br />
<br />
as your normal user create database of you music<br />
<br />
mpd --create-db<br />
<br />
if all goes well you now start glurp<br />
<br />
click connect to server icon (broken lead!) then add music tracks you wish to create a playlist<br />
<br />
Adding more directories to MPD see http://mpd.wikicities.com/wiki/Using_Multiple_Directories_Under_Parent<br />
<br />
<br />
Enjoy</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=MPD_-_Music_Player_Daemon&diff=774MPD - Music Player Daemon2005-07-24T13:09:50Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>==MPD+glurp==<br />
<br />
Right<br />
<br />
<pre><br />
pacman -S mpd glurp<br />
</pre><br />
<br />
now edit mpd.conf.example to:<br />
<br />
add your path to your music set sound output & user name ;-)<br />
<br />
<pre><br />
<br />
# MPD CONFIG FILE<br />
# For a full description of all config parameters,<br />
# Check the mpd man page, "man mpd".<br />
<br />
##################### REQUIRED ###########################<br />
port "6600"<br />
music_directory "/<path to your music>"<br />
playlist_directory "~/.mpd/playlists"<br />
log_file "~/.mpd/mpd.log"<br />
error_file "~/.mpd/mpd.error"<br />
##########################################################<br />
<br />
##########################################################<br />
# EVERYTHING ELSE IS OPTIONAL<br />
##########################################################<br />
<br />
################# FILESYSTEM SETTINGS ####################<br />
#<br />
# If the names of files or directories are<br />
# not correctly displayed then set the<br />
# following to the filesystem coding.<br />
#<br />
# Usually this is either:<br />
# ISO-8859-1 or UTF-8<br />
#<br />
# After changing the filesystem_charset<br />
# you will need to recreate the db:<br />
# mpd --create-db<br />
#<br />
filesystem_charset "UTF-8"<br />
#<br />
##########################################################<br />
<br />
#################### OPTIONAL FILES ######################<br />
#<br />
# Location of DB file<br />
#<br />
db_file "~/.mpd/mpd.db"<br />
#<br />
# The state file (if set) will be a file<br />
# for storing all current information<br />
# (playlist, playing/paused, etc...) from<br />
# the last MPD session. This will be used<br />
# to recreate your last MPD session after<br />
# restart.<br />
#<br />
state_file "~/.mpd/mpdstate"<br />
#<br />
##########################################################<br />
<br />
<br />
################### VOLUME MIXER #########################<br />
#<br />
# Examples:<br />
# ALSA Mixer<br />
mixer_type "alsa"<br />
mixer_device "/dev/mixer"<br />
mixer_control "PCM"<br />
#<br />
# OSS Mixer<br />
#mixer_type "oss"<br />
#mixer_device "/dev/mixer"<br />
#mixer_control "PCM"<br />
#<br />
# Software Mixer<br />
#mixer_type "software"<br />
#<br />
##########################################################<br />
<br />
<br />
################## AUDIO OUTPUT ##########################<br />
#<br />
# OSS Audio Output<br />
#ao_driver "oss"<br />
#ao_driver_options "dsp=/dev/dsp"<br />
#<br />
# ALSA Audio Output<br />
ao_driver "alsa09"<br />
ao_driver_options "dev=hw:0,0"<br />
#<br />
# Set this if you have problems<br />
# playing audio files.<br />
# This will resample your music so<br />
# that it comes out at the set rate.<br />
#<br />
#audio_output_format "44100:16:2"<br />
#<br />
# You should not need mess with<br />
# this value unless you know<br />
# what you're doing.<br />
#<br />
#audio_write_size "1024"<br />
#<br />
##########################################################<br />
<br />
################# REPLAYGAIN #############################<br />
#<br />
# Use Replay Gain (album or title)<br />
# http://www.replaygain.org<br />
#<br />
#replaygain "album"<br />
#<br />
# Sets the pre-amp used for files that have replaygain<br />
# info. Valid values are between -15 to 15 (in dB).<br />
#<br />
#replaygain_preamp "0"<br />
#<br />
##########################################################<br />
<br />
<br />
################ OUTPUT BUFFER SETTINGS ##################<br />
#<br />
# You should not need to mess with this<br />
# unless you know what you're doing.<br />
#<br />
#audio_buffer_size "2048"<br />
#<br />
# This means exactly what it says, it will<br />
# buffer your file up to the percentage of<br />
# the buffer before it begins playing.<br />
#<br />
#buffer_before_play "25%"<br />
#<br />
##########################################################<br />
<br />
<br />
################### HTTP PROXY ###########################<br />
#<br />
# http_proxy_host "proxy.isp.com"<br />
# http_proxy_port "8080"<br />
# http_proxy_user "user"<br />
# http_proxy_password "password"<br />
#<br />
##########################################################<br />
<br />
<br />
################# SECURITY SETTINGS ######################<br />
#<br />
# It is encouraged to run MPD as<br />
# non-superuser. If you start mpd as root<br />
# (for example, in an init script), set<br />
# this value, then mpd will drop root priveleges<br />
# and runs as the user specified.<br />
#<br />
user "your-user-name-here"<br />
#<br />
# Set this value if you only have one<br />
# address you want to allow connection to.<br />
#<br />
bind_to_address "localhost"<br />
#<br />
# If you want to setup MPD to use<br />
# passwords set them here<br />
#<br />
#password "password1@read,add,control,admin"<br />
#password "password2@read"<br />
#<br />
# Specify permissions used by default when no password is<br />
# given by for a connection/client.<br />
#<br />
#default_permissions "read,add,control,admin"<br />
#<br />
##########################################<br />
<br />
<br />
################ MISCELLANEOUS OPTIONS ###################<br />
#<br />
# This setting exists as precaution against attacks.<br />
#<br />
#max_playlist_length "16384"<br />
#<br />
# Valid options are "default", "secure" or "verbose".<br />
#log_level "default"<br />
#<br />
#connection_timeout "60"<br />
#<br />
# This should be fine for 2-3 people using clients<br />
# at the same time.<br />
#<br />
#max_connections "5"<br />
#<br />
# No need to change these unless you know better.<br />
#<br />
#max_command_list_size "2048"<br />
#max_output_buffer_size "2048"<br />
#<br />
# This will make playlists compatible with normal music<br />
# players.<br />
#<br />
#save_absolute_paths_in_playlists "no"<br />
#<br />
##########################################################<br />
<br />
</pre><br />
<br />
make any other changes you want to add using your favourite editor then save file as mpd.conf<br />
<br />
start mpd as root with<br />
<br />
/etc/rc.d/mpd start<br />
<br />
as your normal user create database of you music<br />
<br />
mpd --create-db<br />
<br />
if all goes well you now start glurp<br />
<br />
click connect to server icon (broken lead!) then add music tracks you wish to create a playlist<br />
<br />
Adding more directories to MPD see http://mpd.wikicities.com/wiki/Using_Multiple_Directories_Under_Parent<br />
<br />
<br />
Enjoy</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=775User:Klapmuetz2005-07-24T13:09:17Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br><br />
[[Installing with Software RAID or LVM]]<br><br />
[[Intel 53x Modem Driver]]<br><br />
Chunk N:<br><br />
[[MPD and glurp]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=773User:Klapmuetz2005-07-24T13:08:27Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br><br />
[[Installing with Software RAID or LVM]]<br><br />
[[Intel 53x Modem Driver]]<br><br />
Chunk N:<br><br />
[[MPD + glurp]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=772User:Klapmuetz2005-07-24T10:37:55Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br><br />
[[Installing with Software RAID or LVM]]<br><br />
[[Intel 53x Modem Driver]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Installing_with_Software_RAID_or_LVM&diff=1176Installing with Software RAID or LVM2005-07-24T09:59:47Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>[[Category:General]][[Category:Installation]]<br />
Note: ''This is currently a work in progress! I will delete this comment when it is no longer applicable -- that is, once I have tested it through at least once fully. At this point, many parts have been tested, but new parts recently added may not be exactly correct yet.''<br />
<br />
== Disclaimer==<br />
<br />
Installing a system with RAID is a complex process. Anything could go wrong. You could make a mistake, I could make a mistake, there could be a bug in something. Backup all your data first. Make sure only the drives involved in the installation are attached while doing the install. You've been warned!<br />
<br />
== General Approach==<br />
<br />
For starters, note that this document seeks primarily to give you a good example walkthrough of how to install Arch with Software RAID or LVM support for a typical case. It won't try to explain all the possible things you can do -- it's more to give you an example of something that will work that you can then tweak to your own purposes.<br />
<br />
In this example, the machine I'm using will have three similar IDE hard drives, at least 80GB each in size, installed as primary master, primary slave, and secondary master, with my installation CD-ROM drive as the secondary slave. I will assume these can be reached as /dev/discs/disc0, /dev/discs/disc1, and /dev/discs/disc2, and that the cdrom drive is /dev/cdroms/cdrom0.<br />
<br />
To make this easy, I won't be trying to put the root filesystem on lvm. I don't know if this is possible now (it wasn't when I started setting up lvm systems), but I generally think it to be a complicating factor, and I don't like complicating factors in my boot processes.<br />
<br />
We'll create a 100MB /boot partition, a 2048MB (2GB) swap partition, a 40GB root partition, and leave the rest of the drivespace for LVM. The boot and swap partitions will be RAID 1, while the root and LVM partitions will be RAID5. Why RAID 1? For boot, it's so you can boot the kernel from grub (which has no RAID drivers!), and for swap, it's for speed.<br />
<br />
Each RAID 1 redundant partition will have three physical partitions, all the same size, one on each of the drives. The total storage capacity will be the size of a single one of these physical partitions. A RAID 1 redundant partition with 3 physical partitions can lose any two of its physical partitions and still function.<br />
<br />
Each RAID 5 redundant partition will also have three physical partitions, all the same size, one on each of the drives. The total storage capacity will be the combined size of ''two'' of these physical partitions, with the third drive being consumed to provide parity information. A RAID 5 redundant partition with 3 physical partitions can lose any one of its physical partitions and still function.<br />
<br />
In this example, we'll create the /home partition in LVM, and mount it prior to install.<br />
<br />
== Get the Arch Installer CD==<br />
<br />
Please note that in order to use LVM, you need the <code>lvm2</code> and <code>dev-mapper</code> packages installed, otherwise you won't be able to see any LVM partitions on reboot, until you install those packages. Note that the Arch 0.7 Base installer ''does not'' contain these packages, but the Arch 0.7 Full installer does. So if you're going to use LVM, you'll need to download the bigger ISO. My example will describe you using the Full installer; the changes should be minimal if you wish to use the Base installer instead.<br />
<br />
== Outline==<br />
<br />
Just to give you an idea of how all this will work, I'll outline the steps. The details for these will be filled in below.<br />
<br />
# Boot the Installer CD<br />
# Partition the Hard Drives<br />
# Create the RAID Redundant Partitions<br />
# Create and Mount the Main Filesystems<br />
# Setup LVM and Create the /home LVM Volume<br />
# Install and Configure Arch<br />
# Install Grub on the Primary Hard Drive<br />
# Unmount Filesystems and Reboot<br />
# Install Grub on the Alternate Boot Drives<br />
# Archive your Filesystem Partition Scheme<br />
# Install the mdadm Tool<br />
<br />
== Procedure==<br />
<br />
=== Boot the Installer CD===<br />
<br />
First, load all your drives in the machine. Then boot the Arch Linux 0.7 ''Full'' installation CD.<br />
<br />
At the syslinux boot prompt, hit enter: we want to use the SCSI kernel, which has support for RAID and LVM built in.<br />
<br />
So far, this is easy. Don't worry, it gets harder.<br />
<br />
=== Partition the Hard Drives===<br />
<br />
We'll use <code>cfdisk</code> to do this partitioning. We want to create 4 partitions on each of the three drive:<br />
<br />
Partition 1 (/boot): 100MB, type FD, bootable<br><br />
Partition 2 (swap): 2048MB, type FD<br><br />
Partition 3 (/): 20000MB, type FD<br><br />
Partition 4 (LVM): <Rest of the drive>, type FD<br />
<br />
Note that in general, in <code>cfdisk</code>, you can use the first letter of each <code>[[Bracketed Option]]</code> to select it; however, this is not true for the <code>[[Write]]</code> command, presumably for safety's sake, and so you have to use the arrow keys to select it.<br />
<br />
First run:<br />
<pre><br />
# cfdisk /dev/discs/disc0/disc<br />
</pre><br />
<br />
Create each partition in order:<br />
<br />
# Select <code>'''New'''</code>.<br />
# Hit Enter to make it a <code>'''Primary'''</code> partition.<br />
# Type the appropriate size (in MB), or for Partition 4, just hit enter to select the remainder of the drive.<br />
# Hit Enter to choose to place the partition at the <code>'''Beginning'''</code>.<br />
# Select <code>'''Type'''</code>, hit enter to see the second page of the list, and then type <code>fd</code> for the Linux RAID Autodetect type.<br />
# ''For Partition 1 on each drive'', select <code>'''Bootable'''</code>.<br />
# Hit down arrow (selecting the remaining freespace) to go on to the next partition to be created.<br />
<br />
When you're done, select <code>'''Write'''</code>, and confirm <code>y-e-s</code> that you want to write the partition information to disk.<br />
<br />
Then select <code>'''Quit'''</code>.<br />
<br />
Repeat this for the other two drives:<br />
<br />
<pre><br />
# cfdisk /dev/discs/disc1/disc<br />
# cfdisk /dev/discs/disc2/disc<br />
</pre><br />
<br />
Create the same exact partitions on each disk. If a group of partitions of different sizes are assembled to create a redundant RAID partition, it ''will'' work, but the redundant partition will be in multiples of the size of the smallest one, leaving the rest of the allocated drive space to waste.<br />
<br />
=== Create the RAID Redundant Partitions===<br />
<br />
Now that you've created all the physical partitions, you're ready to set up RAID. The tool you use to create RAID arrays is <code>mdadm</code>.<br />
<br />
To create /dev/md/0 (/boot):<br />
<pre><br />
# mdadm --create /dev/md/0 --level=1 --raid-devices=3 /dev/discs/disc0/part1<br />
</pre><br />
<br />
To create /dev/md/1 (swap):<br />
<pre><br />
# mdadm --create /dev/md/1 --level=1 --raid-devices=3 /dev/discs/disc0/part2<br />
</pre><br />
<br />
To create /dev/md/2 (/):<br />
<pre><br />
# mdadm --create /dev/md/2 --level=5 --raid-devices</code>3 /dev/discs/disc0/part3<br />
</pre><br />
<br />
To create /dev/md/3 (LVM):<br />
<pre><br />
# mdadm --create /dev/md/3 --level=5 --raid-devices=3 /dev/discs/disc0/part4<br />
</pre><br />
<br />
At this point, you should have working RAID partitions. When you create the RAID partitions, they need to sync themselves so the contents of all three physical partitions are the same on all three drives. The hard drives lights will come on as they try to sync up. You can monitor the progress by typing:<br />
<pre><br />
# cat /proc/mdstat<br />
</pre><br />
<br />
You can also get particular information about, say, the root partition by typing:<br />
<pre><br />
# mdadm --misc --detail /dev/md/2<br />
</pre><br />
<br />
You don't have to wait for synchronization to finish -- you may proceed with the installation while syncronization is still occurring. You can even reboot at the end of the installation with synchronization still going.<br />
<br />
=== Create and Mount the Main Filesystems===<br />
<br />
I like Reiser (3.x), so I use it for almost everything. GRUB supports it for booting, and it handles small files well. It's about as well tested as EXT3. You can choose other types if you wish.<br />
<br />
To create /boot:<br />
<pre><br />
# mkreiserfs /dev/md/0<br />
</pre><br />
<br />
To create swap space:<br />
<pre><br />
# mkswap /dev/md/1<br />
</pre><br />
<br />
To create /:<br />
<pre><br />
# mkreiserfs /dev/md/2<br />
</pre><br />
<br />
Now, mount the boot and root partitions where the installer expects them:<br />
<pre><br />
# mount /dev/md/2 /mnt<br />
# mkdir /mnt/boot<br />
# mount /dev/md/0 /mnt/boot<br />
</pre><br />
<br />
=== Setup LVM and Create the /home LVM Volume===<br />
<br />
First, you have to create and mount a sysfs partition on /sys, to keep lvm from getting cranky. If you forget to do this, instead of giving you an intelligent error message, lvm will simply Segmentation fault at various inconvenient times. ''Be warned!''<br />
<br />
To mount the sysfs partition, do:<br />
<pre><br />
# mkdir /sys<br />
# mount -t sysfs none /sys<br />
</pre><br />
<br />
Now you need to do is tell LVM you have a Physical Volume for it to use. It's really a virtual RAID volume (<code>/dev/md/3</code>), but LVM doesn't know this, or really care. Do:<br />
<pre><br />
# lvm pvcreate /dev/md/3<br />
</pre><br />
<br />
LVM should report back that it has added the Physical Volume. You can confirm this with:<br />
<pre><br />
# lvm pvscan<br />
</pre><br />
<br />
Now it's time to create a Volume Group (which I'll call <code>array</code>) which has control over the LVM Physical Volume we created. Do:<br />
<pre><br />
# lvm vgcreate array /dev/md/3<br />
</pre><br />
<br />
LVM should report that it has created the Volume Group <code>array</code>. You can confirm this with:<br />
<pre><br />
# lvm vgscan<br />
</pre><br />
<br />
Next, we create a Logical Volume called <code>home</code> in Volume Group <code>array</code> which is 50GB in size:<br />
<pre><br />
# lvm lvcreate --size 50G --name home array<br />
</pre><br />
<br />
LVM should report that it created the Logical Volume <code>home</code>. You can confirm this with:<br />
<pre><br />
# lvm lvscan<br />
</pre><br />
<br />
This Logical Volume will now be available as the device <code>/dev/array/home</code>. We create a ReiserFS filesystem on it, and mount it:<br />
<pre><br />
# mkreiserfs /dev/array/home<br />
# mkdir /mnt/home<br />
# mount /dev/array/home /mnt/home<br />
</pre><br />
<br />
We've created all our filesystems! And we're ready to install the OS!<br />
<br />
=== Install and Configure Arch===<br />
<br />
This section doesn't attempt to teach you all about the Arch Installer. It leaves out some details here and there for brevity, but still seeks to be basically follow-able. If you're having trouble with the installer, you may wish to seek help elsewhere in the Wiki or forums.<br />
<br />
Here's the walkthrough:<br />
<br />
# Type <code>/arch/setup</code> to launch the main installer.<br />
# Select <code> < OK ></code> at the opening screen.<br />
# Select <code>1 CD_ROM</code> to install from CD-ROM.<br />
# Now at the main menu, Select <code>2 Select Packages</code> and select all the packages in the ''base'' and ''lvm'' categories.<br />
# Select <code>3 Install Packages</code>. This will take a little while.<br />
# Select <code>4 Install Kernel</code>. Choose to install the <code>v2.6 SCSI</code> kernel.<br />
# Select <code>5 Configure System</code>.<br />
<br />
Edit your <code>/etc/rc.conf</code>. It should contain a <code>USELVM</code> entry already, which you should change to:<br />
<pre><br />
USELVM="yes"<br />
</pre><br />
<br />
''Please Note'': The <code>rc.sysconfig</code> which parses the <code>USELVM</code> variable entry will accept either <code>yes</code> or <code>YES</code>, however it will not accept mixed case. Please be sure you've got your capitalization correct.<br />
<br />
Edit your Grub <code>/boot/grub/menu.lst</code> so that your boot entry looks like:<br />
<pre><br />
# (0) Arch Linux<br />
title Arch Linux [[/boot/vmlinuz26]]<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/md/2 ro<br />
</pre><br />
<br />
Edit your <code>/etc/fstab</code> to contain the entries:<br />
<pre><br />
/dev/md/2 / reiserfs defaults 0 0<br />
/dev/md/1 swap swap defaults 0 0<br />
/dev/md/0 /boot reiserfs defaults 0 0<br />
/dev/array/home /home reiserfs defaults 0 0<br />
</pre><br />
<br />
At this point, make any other configuration changes you need to other files.<br />
<br />
Then exit the configuration menu.<br />
<br />
Since you will not be installing Grub from the installer, select <code>7 Exit Install</code> to leave the installer program.<br />
<br />
=== Install Grub on the Primary Hard Drive===<br />
<br />
This is the last and final step before you have a bootable system!<br />
<br />
As an overview, the basic concept is to copy over the grub bootloader files into /boot/grub, mount a procfs and a devfs inside of /mnt, then chroot to /mnt so you're effectively inside your new system, and then run grub to install the bootloader in the boot area of your first hard drive.<br />
<br />
Do:<br />
<pre><br />
# cp -a /mnt/usr/share/grub/i386-pc/* /mnt/boot/grub<br />
# sync<br />
# mount -t devfs none /mnt/dev<br />
# mount -t proc none /mnt/proc<br />
# chroot /mnt<br />
</pre><br />
<br />
At this point, you may no longer be able to see keys you type at your console. I'm not sure of the reason for this (NOTE: try "chroot /mnt /bin/<shell>"), but it you can fix it by typing <code>reset</code> at the prompt.<br />
<br />
Once you've got console echo back on, type:<br />
<pre><br />
# grub<br />
</pre><br />
<br />
After a short wait while grub does some looking around, it should come back with a grub prompt. Do:<br />
<br />
<pre><br />
grub> root (hd0,0)<br />
grub> setup (hd0)<br />
grub> quit<br />
</pre><br />
<br />
=== Unmount Filesystems and Reboot===<br />
<br />
The hard part is all over! Now just a few commands to unmount filesystems, and then you get to reboot into your new system:<br />
<pre><br />
sh-3.00# exit<br />
# cd /<br />
# umount /mnt/dev /mnt/proc /mnt/home /mnt/boot<br />
# umount /mnt<br />
<pre><br />
<br />
Now remove the CD from your CD-ROM drive, and type:<br />
<pre><br />
# reboot<br />
</pre><br />
<br />
=== Install Grub on the Alternate Boot Drives===<br />
<br />
Once you've successfully booted your new system for the first time, you will want to install Grub onto the other two disks so that, in the event of disk failure, the system can be booted from another drive. Log in to your new system as root and do:<br />
<br />
<pre><br />
# grub<br />
grub> device (hd0) /dev/discs/disc1/disc<br />
grub> root (hd0,0)<br />
grub> setup (hd0)<br />
grub> device (hd0) /dev/discs/disc2/disc<br />
grub> root (hd0,0)<br />
grub> setup (hd0)<br />
grub> exit<br />
</pre><br />
<br />
=== Archive your Filesystem Partition Scheme===<br />
<br />
Now that you're done, it's worth taking a second to archive off the partition state of each of your drives. This guarantees that it will be trivially easy to replace/rebuild a disk in the event that one fails. You do this with the <code>sfdisk</code> tool and the following steps:<br />
<br />
<pre><br />
# mkdir /etc/partitions<br />
# sfdisk --dump /dev/discs/disc0/disc >/etc/partitions/disc0.partitions<br />
# sfdisk --dump /dev/discs/disc1/disc >/etc/partitions/disc1.partitions<br />
# sfdisk --dump /dev/discs/disc2/disc >/etc/partitions/disc2.partitions<br />
</pre><br />
<br />
=== Install the mdadm Tool===<br />
<br />
You should install the <code>mdadm</code> package, which gives you facilities to monitor the health of your RAID partitions, as well as making changes or viewing the details of them.<br />
<br />
== Conclusion==<br />
<br />
You're done! I hope you've succeeded in setting up Arch Linux on your server with RAID and LVM!<br />
<br />
== Credits==<br />
<br />
This document was written by Paul Mattal with with significant help from others. Comments and suggestions are welcome at paul at archlinux dot org.<br />
<br />
Thanks to all who have contributed information and suggestions! This includes:<br />
<br />
* Carl Chave<br />
* Guillaume Darbonne</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=754User:Klapmuetz2005-07-24T09:54:01Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br><br />
[[Installing with Software RAID or LVM]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=VMware&diff=881VMware2005-07-24T09:48:08Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Emulation]]<br />
http://www.vmware.com/ installs on [[ArchLinux VMware]] pretty well, but its not totally straight forward.<br />
<br />
1) First you need to create some folders.<br />
<pre>mkdir /etc/rc.d/vmware.d<br />
mkdir /etc/rc.d/vmware.d/rc0.d<br />
mkdir /etc/rc.d/vmware.d/rc1.d<br />
mkdir /etc/rc.d/vmware.d/rc2.d<br />
mkdir /etc/rc.d/vmware.d/rc3.d<br />
mkdir /etc/rc.d/vmware.d/rc4.d<br />
mkdir /etc/rc.d/vmware.d/rc5.d<br />
mkdir /etc/rc.d/vmware.d/rc6.d<br />
</pre><br />
<br />
2) Start the vmware installation<br />
<br />
3) When it asks where the directories for rc0.d thru rc6.d are, use '''/etc/rc.d/vmware.d'''<br />
<br />
3) When it asks where the init directory is, use '''/etc/rc.d'''<br />
<br />
4) It will probably say that the modules supplied dont match the kernal version and asks you if you want to compile it, do '''yes'''.<br />
<br />
5) If it complains that the gcc compiler is of a different version and that if you use it, your virtual machines will likely crash, select '''yes''' as it seems to work anyway. You cannot complete the installation if you say no to this.<br />
<br />
6) The rest of the install should work pretty well.<br />
<br />
7) There is now a '''vmware''' init script in /etc/rc.d. you can add this to your daemons list if you want. I personally dont do this, but if you intend to use the vmware network's when not actually using vmware, then you will need to do this. You will need to start it before you can run vmware though.<br />
<br />
8) To start vmware, you just do '''vmware''' from a console window, or create a shortcut or menu item however you like.<br />
<br />
Leave the /etc/rc.d/vmare.d/ folders there, because it is needed whenever you perform vmware-config.pl.<br />
<br />
Remember, if the kernel is changed or updated, you will need to run vmware-config.pl again.<br />
<br />
<b>There is a problem with vmware unable to run correctly after a reboot. I am trying to find a permenant fix to this, but have managed to get by with running vmware-config.pl again each time I reboot. I'll update when I have a better solution.</b><br />
<br />
---------------------------------------------------------------<br />
Solution: edit /etc/rc.d/vmware<br />
<br />
find the text below<br />
<pre><br />
case "$1" in<br />
start)<br />
</pre><br />
and put "rm /etc/vmware/not_configured" without the quotes immediately after that line.<br />
---------------------------------------------------------------<br />
<br />
<br />
<br />
<b>Kernel 2.6 and udev.</b><br />
<br />
Follow the steps above and then:<br />
<br />
<b>1 - modify udev config.</b><br />
<br />
edit /etc/udev/rules.d/00-myrules.rules and add 2 lines:<br />
<br />
<pre># tty devices<br />
KERNEL<code>"tty[[0-9]]*", NAME</code>"vc/%n", SYMLINK="%k"<br />
<br />
# floppy devices<br />
KERNEL<code>"fd[[0-9]]*", NAME</code>"floppy/%n" , SYMLINK="fd%n"<br />
</pre><br />
<br />
<b>2 - start/stop script</b><br />
<br />
it takes care of devices and start vmware, also stop vmware and remove dev entries), call it, for examples, mkvmdev, chmod it 755 and put in /etc/rc.d:<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Creating /dev entries for vmware and start"<br />
mknod /dev/vmnet0 c 119 0<br />
mknod /dev/vmnet1 c 119 1<br />
mknod /dev/vmnet2 c 119 2<br />
mknod /dev/vmnet3 c 119 3<br />
mknod /dev/vmnet4 c 119 4<br />
mknod /dev/vmnet5 c 119 5<br />
mknod /dev/vmnet6 c 119 6<br />
mknod /dev/vmnet7 c 119 7<br />
mknod /dev/vmnet8 c 119 8<br />
mknod /dev/vmnet9 c 119 9<br />
chmod 0600 /dev/vmnet0<br />
chmod 0600 /dev/vmnet1<br />
chmod 0600 /dev/vmnet2<br />
chmod 0600 /dev/vmnet3<br />
chmod 0600 /dev/vmnet4<br />
chmod 0600 /dev/vmnet5<br />
chmod 0600 /dev/vmnet6<br />
chmod 0600 /dev/vmnet7<br />
chmod 0600 /dev/vmnet8<br />
chmod 0600 /dev/vmnet9<br />
mknod /dev/parport0 c 99 0<br />
mknod /dev/parport1 c 99 1<br />
mknod /dev/parport2 c 99 2<br />
mknod /dev/parport3 c 99 3<br />
chmod 0600 /dev/parport0<br />
chmod 0600 /dev/parport1<br />
chmod 0600 /dev/parport2<br />
chmod 0600 /dev/parport3<br />
mknod /dev/vmmon c 10 165<br />
chmod 0660 /dev/vmmon<br />
/etc/rc.d/vmware start<br />
;;<br />
<br />
stop)<br />
stat_busy "Removing /dev entries and stop vmware"<br />
/etc/rc.d/vmware stop<br />
rm /dev/vmnet0<br />
rm /dev/vmnet1<br />
rm /dev/vmnet2<br />
rm /dev/vmnet3<br />
rm /dev/vmnet4<br />
rm /dev/vmnet5<br />
rm /dev/vmnet6<br />
rm /dev/vmnet7<br />
rm /dev/vmnet8<br />
rm /dev/vmnet9<br />
rm /dev/parport0<br />
rm /dev/parport1<br />
rm /dev/parport2<br />
rm /dev/parport3<br />
;;<br />
<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
<br />
*)<br />
echo "usage: $0 {start||stop||restart}"<br />
<br />
esac<br />
exit 0<br />
</pre><br />
<br />
<b>2 - Modify /etc/rc.conf</b><br />
<br />
Add mkvmdev to daemons in your rc.conf, and remember to remove vmware from rc.conf. If you prefere delete the lines that launch vmware from mkvmdev and leave in rc.conf, you choose.<br />
<br />
-----<br />
<br />
<b>(Comments)</b><br />
<br />
hi guys, a couple of quick questions:<br />
- why is /dev/vmmon chmod 0660, as opposed to the rest (0600)?<br />
- i suppose /dev/vmmon should be "rm"-ed as well in the "stop" section for the script above? (that line is missing)</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=VMware&diff=739VMware2005-07-24T09:47:40Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>[[Category:Emulation]]<br />
[http://www.vmware.com/] installs on [[ArchLinux VMware]] pretty well, but its not totally straight forward.<br />
<br />
1) First you need to create some folders.<br />
<pre>mkdir /etc/rc.d/vmware.d<br />
mkdir /etc/rc.d/vmware.d/rc0.d<br />
mkdir /etc/rc.d/vmware.d/rc1.d<br />
mkdir /etc/rc.d/vmware.d/rc2.d<br />
mkdir /etc/rc.d/vmware.d/rc3.d<br />
mkdir /etc/rc.d/vmware.d/rc4.d<br />
mkdir /etc/rc.d/vmware.d/rc5.d<br />
mkdir /etc/rc.d/vmware.d/rc6.d<br />
</pre><br />
<br />
2) Start the vmware installation<br />
<br />
3) When it asks where the directories for rc0.d thru rc6.d are, use '''/etc/rc.d/vmware.d'''<br />
<br />
3) When it asks where the init directory is, use '''/etc/rc.d'''<br />
<br />
4) It will probably say that the modules supplied dont match the kernal version and asks you if you want to compile it, do '''yes'''.<br />
<br />
5) If it complains that the gcc compiler is of a different version and that if you use it, your virtual machines will likely crash, select '''yes''' as it seems to work anyway. You cannot complete the installation if you say no to this.<br />
<br />
6) The rest of the install should work pretty well.<br />
<br />
7) There is now a '''vmware''' init script in /etc/rc.d. you can add this to your daemons list if you want. I personally dont do this, but if you intend to use the vmware network's when not actually using vmware, then you will need to do this. You will need to start it before you can run vmware though.<br />
<br />
8) To start vmware, you just do '''vmware''' from a console window, or create a shortcut or menu item however you like.<br />
<br />
Leave the /etc/rc.d/vmare.d/ folders there, because it is needed whenever you perform vmware-config.pl.<br />
<br />
Remember, if the kernel is changed or updated, you will need to run vmware-config.pl again.<br />
<br />
<b>There is a problem with vmware unable to run correctly after a reboot. I am trying to find a permenant fix to this, but have managed to get by with running vmware-config.pl again each time I reboot. I'll update when I have a better solution.</b><br />
<br />
---------------------------------------------------------------<br />
Solution: edit /etc/rc.d/vmware<br />
<br />
find the text below<br />
<pre><br />
case "$1" in<br />
start)<br />
</pre><br />
and put "rm /etc/vmware/not_configured" without the quotes immediately after that line.<br />
---------------------------------------------------------------<br />
<br />
<br />
<br />
<b>Kernel 2.6 and udev.</b><br />
<br />
Follow the steps above and then:<br />
<br />
<b>1 - modify udev config.</b><br />
<br />
edit /etc/udev/rules.d/00-myrules.rules and add 2 lines:<br />
<br />
<pre># tty devices<br />
KERNEL<code>"tty[[0-9]]*", NAME</code>"vc/%n", SYMLINK="%k"<br />
<br />
# floppy devices<br />
KERNEL<code>"fd[[0-9]]*", NAME</code>"floppy/%n" , SYMLINK="fd%n"<br />
</pre><br />
<br />
<b>2 - start/stop script</b><br />
<br />
it takes care of devices and start vmware, also stop vmware and remove dev entries), call it, for examples, mkvmdev, chmod it 755 and put in /etc/rc.d:<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Creating /dev entries for vmware and start"<br />
mknod /dev/vmnet0 c 119 0<br />
mknod /dev/vmnet1 c 119 1<br />
mknod /dev/vmnet2 c 119 2<br />
mknod /dev/vmnet3 c 119 3<br />
mknod /dev/vmnet4 c 119 4<br />
mknod /dev/vmnet5 c 119 5<br />
mknod /dev/vmnet6 c 119 6<br />
mknod /dev/vmnet7 c 119 7<br />
mknod /dev/vmnet8 c 119 8<br />
mknod /dev/vmnet9 c 119 9<br />
chmod 0600 /dev/vmnet0<br />
chmod 0600 /dev/vmnet1<br />
chmod 0600 /dev/vmnet2<br />
chmod 0600 /dev/vmnet3<br />
chmod 0600 /dev/vmnet4<br />
chmod 0600 /dev/vmnet5<br />
chmod 0600 /dev/vmnet6<br />
chmod 0600 /dev/vmnet7<br />
chmod 0600 /dev/vmnet8<br />
chmod 0600 /dev/vmnet9<br />
mknod /dev/parport0 c 99 0<br />
mknod /dev/parport1 c 99 1<br />
mknod /dev/parport2 c 99 2<br />
mknod /dev/parport3 c 99 3<br />
chmod 0600 /dev/parport0<br />
chmod 0600 /dev/parport1<br />
chmod 0600 /dev/parport2<br />
chmod 0600 /dev/parport3<br />
mknod /dev/vmmon c 10 165<br />
chmod 0660 /dev/vmmon<br />
/etc/rc.d/vmware start<br />
;;<br />
<br />
stop)<br />
stat_busy "Removing /dev entries and stop vmware"<br />
/etc/rc.d/vmware stop<br />
rm /dev/vmnet0<br />
rm /dev/vmnet1<br />
rm /dev/vmnet2<br />
rm /dev/vmnet3<br />
rm /dev/vmnet4<br />
rm /dev/vmnet5<br />
rm /dev/vmnet6<br />
rm /dev/vmnet7<br />
rm /dev/vmnet8<br />
rm /dev/vmnet9<br />
rm /dev/parport0<br />
rm /dev/parport1<br />
rm /dev/parport2<br />
rm /dev/parport3<br />
;;<br />
<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
<br />
*)<br />
echo "usage: $0 {start||stop||restart}"<br />
<br />
esac<br />
exit 0<br />
</pre><br />
<br />
<b>2 - Modify /etc/rc.conf</b><br />
<br />
Add mkvmdev to daemons in your rc.conf, and remember to remove vmware from rc.conf. If you prefere delete the lines that launch vmware from mkvmdev and leave in rc.conf, you choose.<br />
<br />
-----<br />
<br />
<b>(Comments)</b><br />
<br />
hi guys, a couple of quick questions:<br />
- why is /dev/vmmon chmod 0660, as opposed to the rest (0600)?<br />
- i suppose /dev/vmmon should be "rm"-ed as well in the "stop" section for the script above? (that line is missing)</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=743User:Klapmuetz2005-07-24T09:44:54Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br><br />
[[Installing VMware]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Gamepad&diff=928Gamepad2005-07-24T09:42:58Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Hardware]]<br />
===Joystick setup===<br />
<br />
Joysticks can be a bit of a hassle to get working in Linux. Not because they are poorly supported, but simply because you need to determine which modules to load to get your joystick working, and it's not always very obvious!<br />
<br />
====Determining Which Modules You Need====<br />
For an extensive overview of all joystick related modules in Linux, you will need access to the Linux kernel sources -- specifically the Documentation section. Unfortunately, pacman kernel packages don't include what we need. If you have the kernel sources downloaded, have a look at <code>Documentation/input/joystick.txt</code>. If you don't want to download the (huge) kernel sources, have a look at [[http://www.kernelhq.com/ KernelHQ]] - you can browse the kernel source tree there, and read code and documentation online. Simply go to the Browse section, select your kernel version, and find <code>Documentation/input/joystick.txt</code>.<br />
<br />
Some joysticks need specific modules, such as the Microsoft Sidewinder controllers (<code>sidewinder</code>), or the Logitech digital controllers (<code>adi</code>). Many older joysticks will work with the simple <code>analog</code> module. If your joystick is plugging in to a gameport provided by your soundcard, you will need your soundcard drivers loaded - however, some cards, like the Soundblaster Live, have a specific gameport driver (<code>emu10k1-gp</code>). Older ISA soundcards may need the <code>ns558</code> module, which is a standard gameport module.<br />
<br />
As you can see, there are many different modules related to getting your joystick working in Linux, so I couldn't possibly cover everything here. Please have a look at the documentation mentioned above for details.<br />
<br />
====Loading the Modules====<br />
You need to load a module for your gameport (<code>ns558</code>, <code>emu10k1-gp</code>, <code>cs461x</code>, etc...), a module for your joystick (<code>analog</code>, <code>sidewinder</code>, <code>adi</code>, etc...), and finally the kernel joystick device driver (<code>joydev</code>). Add these to your <code>/etc/rc.conf</code>, or simply modprobe them. The <code>gameport</code> module should load automatically, as this is a dependency of the other modules.<br />
<br />
====Testing Your Configuration====<br />
Once the modules are loaded, you should find a new device: <code>/dev/input/js0</code>. You can simply <code>cat</code> the device to see if it works - move the stick around, press all the buttons. I found my Logitech Thunderpad Digital had two buttons that weren't working with the <code>analog</code> module. After reading some docs, I saw there was a specific <code>adi</code> module for this controller. The moral of the story is, if it doesn't work the first time, don't give up, and read those docs thoroughly! I couldn't get anything working at all until I found that documentation.<br />
<br />
====USB Joysticks====<br />
I don't have any access to a USB joystick right now, so I am unable to give any specific instructions. I would think you just need to get USB working, and then modprobe your joystick driver, as well as <code>joydev</code>. Perhaps <code>ns558</code> as well? Please edit this document to confirm.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Gamepad&diff=734Gamepad2005-07-24T09:42:42Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>===Joystick setup===<br />
<br />
Joysticks can be a bit of a hassle to get working in Linux. Not because they are poorly supported, but simply because you need to determine which modules to load to get your joystick working, and it's not always very obvious!<br />
<br />
====Determining Which Modules You Need====<br />
For an extensive overview of all joystick related modules in Linux, you will need access to the Linux kernel sources -- specifically the Documentation section. Unfortunately, pacman kernel packages don't include what we need. If you have the kernel sources downloaded, have a look at <code>Documentation/input/joystick.txt</code>. If you don't want to download the (huge) kernel sources, have a look at [[http://www.kernelhq.com/ KernelHQ]] - you can browse the kernel source tree there, and read code and documentation online. Simply go to the Browse section, select your kernel version, and find <code>Documentation/input/joystick.txt</code>.<br />
<br />
Some joysticks need specific modules, such as the Microsoft Sidewinder controllers (<code>sidewinder</code>), or the Logitech digital controllers (<code>adi</code>). Many older joysticks will work with the simple <code>analog</code> module. If your joystick is plugging in to a gameport provided by your soundcard, you will need your soundcard drivers loaded - however, some cards, like the Soundblaster Live, have a specific gameport driver (<code>emu10k1-gp</code>). Older ISA soundcards may need the <code>ns558</code> module, which is a standard gameport module.<br />
<br />
As you can see, there are many different modules related to getting your joystick working in Linux, so I couldn't possibly cover everything here. Please have a look at the documentation mentioned above for details.<br />
<br />
====Loading the Modules====<br />
You need to load a module for your gameport (<code>ns558</code>, <code>emu10k1-gp</code>, <code>cs461x</code>, etc...), a module for your joystick (<code>analog</code>, <code>sidewinder</code>, <code>adi</code>, etc...), and finally the kernel joystick device driver (<code>joydev</code>). Add these to your <code>/etc/rc.conf</code>, or simply modprobe them. The <code>gameport</code> module should load automatically, as this is a dependency of the other modules.<br />
<br />
====Testing Your Configuration====<br />
Once the modules are loaded, you should find a new device: <code>/dev/input/js0</code>. You can simply <code>cat</code> the device to see if it works - move the stick around, press all the buttons. I found my Logitech Thunderpad Digital had two buttons that weren't working with the <code>analog</code> module. After reading some docs, I saw there was a specific <code>adi</code> module for this controller. The moral of the story is, if it doesn't work the first time, don't give up, and read those docs thoroughly! I couldn't get anything working at all until I found that documentation.<br />
<br />
====USB Joysticks====<br />
I don't have any access to a USB joystick right now, so I am unable to give any specific instructions. I would think you just need to get USB working, and then modprobe your joystick driver, as well as <code>joydev</code>. Perhaps <code>ns558</code> as well? Please edit this document to confirm.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=736User:Klapmuetz2005-07-24T09:42:08Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br><br />
[[Joystick Support]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=KDE&diff=814KDE2005-07-24T09:38:06Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Desktop]]<br />
==WELCOME TO ARCHLINUX KDE WIKI==<br />
<br />
===Info from Package Maintainer tpowa:===<br />
<pre><br />
Please don't change the docu without notifying me, please send me a short mail about your changes.<br />
This docu is based on kde 3.4.1!<br />
</pre><br />
<br />
====Package upgrade:====<br />
<pre><br />
Please change to console mode before you upgrade KDE, else your icons may get lost in your panel.<br />
<br />
Update from kde3.4 Beta1 to kde 3.4:<br />
please deinstall kdebase-config, it's replaced by kde-common.<br />
If you get trouble with menus not appearing please deinstall kde first<br />
and then reinstall with new packages.<br />
</pre><br />
<br />
====Where to get kde 3.4:====<br />
<pre><br />
It is available in extra repository.<br />
Thanks for your feedback. Enjoy the new kde release.<br />
Have fun with the new features and please report problems.<br />
</pre><br />
Forum link for dicussion: [http://bbs.archlinux.org/viewtopic.php?p=89919]<br />
<br />
====Known issues:====<br />
<pre><br />
If you still have problems after the upgrade, consider your .kde/ could have configs<br />
inside that are not compatible with new kde 3.4. Please move the files to a save place<br />
and start with a new .kde/ dir in your home.<br />
<br />
If you have installed extensions or additional software for kde(not from our repos),<br />
it could be that they break kde 3.4. Please rebuild them against new kde 3.4 or<br />
deinstall them.<br />
<br />
devices:/ kioslave is depracted, to get new layout:<br />
please delete your /home/$user/.kde/share/apps/konqsidebartng/<br />
<br />
kde 3.4 provides new feature of kcompmgr (composite extension of xorg),<br />
if you enable it, it may crash your X-Server, you have been warned.<br />
<br />
storage applet can cause some extensive logging, be aware of this problem and check<br />
your /var/log/ on size. It happens only if you do a safely remove,let the usb device<br />
connected and your usb device must be some kind of broken.<br />
<br />
At the moment we have some problems getting kdebase to new hal/dbus, we are working on<br />
solving this issue immediatly. (this is fixed in kdebase-3.4.1-4.pkg.tar.gz)<br />
<br />
KSim panel applet crashes from time to time.<br />
<br />
NFS shares are not shown on desktop, storage applet and not in media:/<br />
</pre><br />
link to KSim bug: [http://bugs.kde.org/show''bug.cgi?id<code>101261]] <br> link to NFS bug: [[http://bugs.kde.org/show''bug.cgi?id</code>101731]<br />
<br />
<br />
====KDEBASE====<br />
''' '''Samba/Windows support:<br />
<pre><br />
If you want to have access to Windows services<br />
'pacman -S samba'.<br />
</pre><br />
<br />
''' '''Java support:<br />
<pre><br />
If you want to have Java support:<br />
'pacman -S j2re'<br />
</pre><br />
<br />
''' '''Printing support:<br />
<pre><br />
If you want to have printing support:<br />
'pacman -S <enteryourfavouriteprintingsystemhere>'<br />
it is preconfigured for cups in kcontrol<br />
</pre><br />
<br />
''' '''Font Defaults:<br />
<pre><br />
If you experience problems with the default fonts setting, e.g.<br />
that special characters for your language do not appear, try to<br />
set the fonts in 'kcontrol to a font which supports that characters<br />
</pre><br />
<br />
''' '''KDM Xserver file:<br />
<pre><br />
KDM does not use the /opt/kde/share/config/kdm/Xserver file any more,<br />
everything is in /opt/kde/share/config/kdm/kdmrc now, check file<br />
kdmrc.default to see all options (e.g. -dpi 100).<br />
</pre><br />
<br />
''' '''Dbus/Hal Stuff:<br />
<pre><br />
Please add 'dbus' 'hal' to rc.conf daemon's list for full media:/ kioslave experience.<br />
</pre><br />
<br />
''' '''GPG/SSH Stuff:<br />
<pre><br />
To enable gpg-agent and/or ssh-agent in KDE sessions,<br />
edit '/opt/kde/env/agent-startup.sh' and '/opt/kde/shutdown/agent-shutdown.sh'.<br />
</pre><br />
<br />
====Kdebindings:====<br />
<pre><br />
Kdebindings has been built with support for Java and GTK.<br />
If you want to use these features use the following pacman commands:<br />
'pacman -S j2sdk'<br />
'pacman -S gtk'<br />
</pre><br />
<br />
====Kdesdk:====<br />
<pre><br />
Kdesdk has been built with support for Subversion.<br />
If you want to use this feature use the following pacman command:<br />
'pacman -S subversion'<br />
</pre><br />
<br />
====Bugs:====<br />
<pre><br />
If you think you found a bug, please verify that this bug also happens<br />
with a new created user, with a clean setup, some bugs happen due to misconfiguration<br />
in config files. If the new user doesn't show the bug, try to move the config files of<br />
your existing user.<br />
<br />
kde config files are usually located at: /home/$user/.kde/share/config<br />
or if app specific at: /home/$user/.kde/share/apps<br />
</pre><br />
<br />
'''Usefull links:''' <BR><br />
Archlinux Bug Tracker: [http://bugs.archlinux.org] <BR><br />
KDE Homepage: [http://www.kde.org] <BR><br />
KDE Bug Tracker: [http://bugs.kde.org] <BR><br />
KDE WebSVN: [http://websvn.kde.org]<br />
<br />
====About KDE package splitting:====<br />
<pre><br />
The problem is that KDE has to change their packages in providing.<br />
pacman is not made for making multiple packages out of one tarball.<br />
And don't forget it has to be maintainable. (not too time consuming!)<br />
I'm not planning to split the packages.<br />
</pre><br />
<br />
====About why do packages appear before official release:====<br />
<pre><br />
Packagers get the tarballs a week earlier then official release, to have time to build<br />
and fix last showstoppers while building.<br />
--> the packages are most time the final ones when they appear in arch repos, even before offical release.<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=KDE&diff=730KDE2005-07-24T09:37:34Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>==WELCOME TO ARCHLINUX KDE WIKI==<br />
<br />
===Info from Package Maintainer tpowa:===<br />
<pre><br />
Please don't change the docu without notifying me, please send me a short mail about your changes.<br />
This docu is based on kde 3.4.1!<br />
</pre><br />
<br />
====Package upgrade:====<br />
<pre><br />
Please change to console mode before you upgrade KDE, else your icons may get lost in your panel.<br />
<br />
Update from kde3.4 Beta1 to kde 3.4:<br />
please deinstall kdebase-config, it's replaced by kde-common.<br />
If you get trouble with menus not appearing please deinstall kde first<br />
and then reinstall with new packages.<br />
</pre><br />
<br />
====Where to get kde 3.4:====<br />
<pre><br />
It is available in extra repository.<br />
Thanks for your feedback. Enjoy the new kde release.<br />
Have fun with the new features and please report problems.<br />
</pre><br />
Forum link for dicussion: [http://bbs.archlinux.org/viewtopic.php?p=89919]<br />
<br />
====Known issues:====<br />
<pre><br />
If you still have problems after the upgrade, consider your .kde/ could have configs<br />
inside that are not compatible with new kde 3.4. Please move the files to a save place<br />
and start with a new .kde/ dir in your home.<br />
<br />
If you have installed extensions or additional software for kde(not from our repos),<br />
it could be that they break kde 3.4. Please rebuild them against new kde 3.4 or<br />
deinstall them.<br />
<br />
devices:/ kioslave is depracted, to get new layout:<br />
please delete your /home/$user/.kde/share/apps/konqsidebartng/<br />
<br />
kde 3.4 provides new feature of kcompmgr (composite extension of xorg),<br />
if you enable it, it may crash your X-Server, you have been warned.<br />
<br />
storage applet can cause some extensive logging, be aware of this problem and check<br />
your /var/log/ on size. It happens only if you do a safely remove,let the usb device<br />
connected and your usb device must be some kind of broken.<br />
<br />
At the moment we have some problems getting kdebase to new hal/dbus, we are working on<br />
solving this issue immediatly. (this is fixed in kdebase-3.4.1-4.pkg.tar.gz)<br />
<br />
KSim panel applet crashes from time to time.<br />
<br />
NFS shares are not shown on desktop, storage applet and not in media:/<br />
</pre><br />
link to KSim bug: [http://bugs.kde.org/show''bug.cgi?id<code>101261]] <br> link to NFS bug: [[http://bugs.kde.org/show''bug.cgi?id</code>101731]<br />
<br />
<br />
====KDEBASE====<br />
''' '''Samba/Windows support:<br />
<pre><br />
If you want to have access to Windows services<br />
'pacman -S samba'.<br />
</pre><br />
<br />
''' '''Java support:<br />
<pre><br />
If you want to have Java support:<br />
'pacman -S j2re'<br />
</pre><br />
<br />
''' '''Printing support:<br />
<pre><br />
If you want to have printing support:<br />
'pacman -S <enteryourfavouriteprintingsystemhere>'<br />
it is preconfigured for cups in kcontrol<br />
</pre><br />
<br />
''' '''Font Defaults:<br />
<pre><br />
If you experience problems with the default fonts setting, e.g.<br />
that special characters for your language do not appear, try to<br />
set the fonts in 'kcontrol to a font which supports that characters<br />
</pre><br />
<br />
''' '''KDM Xserver file:<br />
<pre><br />
KDM does not use the /opt/kde/share/config/kdm/Xserver file any more,<br />
everything is in /opt/kde/share/config/kdm/kdmrc now, check file<br />
kdmrc.default to see all options (e.g. -dpi 100).<br />
</pre><br />
<br />
''' '''Dbus/Hal Stuff:<br />
<pre><br />
Please add 'dbus' 'hal' to rc.conf daemon's list for full media:/ kioslave experience.<br />
</pre><br />
<br />
''' '''GPG/SSH Stuff:<br />
<pre><br />
To enable gpg-agent and/or ssh-agent in KDE sessions,<br />
edit '/opt/kde/env/agent-startup.sh' and '/opt/kde/shutdown/agent-shutdown.sh'.<br />
</pre><br />
<br />
====Kdebindings:====<br />
<pre><br />
Kdebindings has been built with support for Java and GTK.<br />
If you want to use these features use the following pacman commands:<br />
'pacman -S j2sdk'<br />
'pacman -S gtk'<br />
</pre><br />
<br />
====Kdesdk:====<br />
<pre><br />
Kdesdk has been built with support for Subversion.<br />
If you want to use this feature use the following pacman command:<br />
'pacman -S subversion'<br />
</pre><br />
<br />
====Bugs:====<br />
<pre><br />
If you think you found a bug, please verify that this bug also happens<br />
with a new created user, with a clean setup, some bugs happen due to misconfiguration<br />
in config files. If the new user doesn't show the bug, try to move the config files of<br />
your existing user.<br />
<br />
kde config files are usually located at: /home/$user/.kde/share/config<br />
or if app specific at: /home/$user/.kde/share/apps<br />
</pre><br />
<br />
'''Usefull links:''' <BR><br />
Archlinux Bug Tracker: [http://bugs.archlinux.org] <BR><br />
KDE Homepage: [http://www.kde.org] <BR><br />
KDE Bug Tracker: [http://bugs.kde.org] <BR><br />
KDE WebSVN: [http://websvn.kde.org]<br />
<br />
====About KDE package splitting:====<br />
<pre><br />
The problem is that KDE has to change their packages in providing.<br />
pacman is not made for making multiple packages out of one tarball.<br />
And don't forget it has to be maintainable. (not too time consuming!)<br />
I'm not planning to split the packages.<br />
</pre><br />
<br />
====About why do packages appear before official release:====<br />
<pre><br />
Packagers get the tarballs a week earlier then official release, to have time to build<br />
and fix last showstoppers while building.<br />
--> the packages are most time the final ones when they appear in arch repos, even before offical release.<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=733User:Klapmuetz2005-07-24T09:35:24Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br><br />
[[KDE]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=729User:Klapmuetz2005-07-24T09:30:44Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br><br />
[[Installing Hula]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=725User:Klapmuetz2005-07-24T09:26:12Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br><br />
Chunk L:<br><br />
[[My Internet crawls!]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=721User:Klapmuetz2005-07-24T09:22:10Z<p>Klapmuetz: </p>
<hr />
<div>My pages:<br><br />
[[Fastcgi and lighttpd]]<br><br />
<br />
Wiki Migration pages:<br><br />
Chunk A:<br><br />
[[Bootsplash]]<br><br />
[[FAQ]]<br><br />
[[APC UPS]]<br><br />
[[CoLinux]]<br><br />
[[LAMP Spanish]]<br><br />
[[ArchLiveTx]]<br><br />
[[Arch64 FAQ]]<br><br />
[[LAMP]]<br><br />
[[Apache, SuExec and virtual Hosts]]<br><br />
Chunk O:<br><br />
[[NTFS Write Support]]<br><br />
[[Server configuration]]<br><br />
[[New posts]]<br><br />
[[NTP]]<br><br />
[[Open Sound System]]<br><br />
[[Nforce Drivers]]<br><br />
[[OpenOffice]]<br><br />
[[OpenVPN Bridge]]<br><br />
[[Patching in ABS]]<br></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Patching_packages&diff=1437Patching packages2005-07-24T09:16:06Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:PackageManagement]]<br />
There have been quite a few questions about creating and/or applying patches to packages when using ABS. This document outlines the steps and options required to do these tasks. http://www.kegel.com/academy/opensource.html also has some useful information on patching files.<br />
<br />
===Creating patches===<br />
If you are attempting to use a patch that you got from elsewhere (ie: you downloaded a patch to the Linux kernel), you can skip to the next section. However, if you need to edit source code, make files, configuration files, etc, you will need to be able to create a patch.<br />
<br />
Note: If you need only to change one or two lines in a file (ie: a Makefile), you may be better off investigating the properties of <code>sed</code> instead.<br />
<br />
Creating a patch for a package involves creating two copies of the package, editing the new copy, and creating a unified diff between the two files. When creating an Arch Linux package, this can be done as follows:<br />
<br />
# Add the download source of the file to the source array of the <code>PKGBUILD</code> you are creating. Of course, if you are altering an existing PKGBUILD, this step is taken care of.<br />
# Create a dummy (empty, or containing a single <code>echo</code> command is good) build() function. If you are altering an existing <code>PKGBUILD</code>, you should comment out most of the lines of the build function, as you're likely going to be running <code>makepkg</code> several times, and you won't want to spend a lot of time waiting for a broken package to build.<br />
# Run <code>makepkg</code> This will download the source files you need to edit into the <code>src</code> directory.<br />
# Change to the <code>src</code> directory. In standard cases, there will be a directory containing a bunch of files that were unzipped or untarred from a downloaded archive there (Sometimes it's a single file, but diffs work on multiple files too!) You should make two copies of these directories. One is a pristine copy that makepkg won't be allowed to manipulate, and one will be the new copy that you will create a patch from. You can name the two copies <code>package.pristine</code> and <code>package.new</code> or something similar.<br />
# Change into the <code>package.new</code> directory. Edit whichever files need to be edited. The changes needed depend on what the patch has to do; it might correct a Makefile paths, it may have to correct source errors (for example, to agree with <code>gcc 3.4</code>), and so on. You can also edit files in subfolders of the <code>package.new</code> directory, of course. '''Do not''' issue any commands that will inadvertantly create a bunch of files in the <code>package.new</code> directory; ie: do not try to compile the program to make sure your changes work. The problem is that all the new files will show up in the patch, and you don't want that. Instead, apply the patch to another copy of the directory ('''not''' the pristine directory), either manually with the <code>patch</code> command, or in the <code>PKGBUILD</code> (described below) and test the changes from there.<br />
# Change back to the <code>src</code> directory.<br />
# Run <code>diff -aur package.pristine package.new</code> This will output all the changes you made in unified diff format. You can scan these to make sure the patch is good.<br />
# Run <code>diff -aur package.pristine package.new > package.patch</code> to capture all the changes in a file named <code>package.patch</code>. This is the file that will be used by patch. You may now apply the changes to a copy of the original directory and make sure they are working properly. You should also check to ensure that the patch does not contain any extraneous details. For example, you don't want the patch to convert all tabs in the files you edited to spaces because your text editor did that behind your back. You can edit the patch either using a text editor, or to be safer (and not accidentally introduce errors into the diff file), edit the original files and create the patch afresh.<br />
<br />
===Applying patches===<br />
This section outlines how to apply patches you created or downloaded from the Internet from within a <code>PKGBUILD</code>'s <code>build()</code> function. Follow these steps:<br />
<br />
# Add an entry to the <code>source</code> array of the <code>PKGBUILD</code> for the patch file. If the file is available online, you can provide the full URL and it will automatically be downloaded and placed in the <code>src</code> directory. If it is a patch you created yourself, or is otherwise not available, you should place the file in the same directory as the <code>PKGBUILD</code> file, and just add the name of the file to the source array so that it is copied into the <code>src</code> directory. If you redistribute the <code>PKGBUILD</code>, you should, of course, include the patch with the <code>PKGBUILD</code>.<br />
# Create the <code>build()</code> function in the <code>PKGBUILD</code>. In most cases you will want to apply the patch first thing in the function, but you will know best where the patch lines need to be applied.<br />
# The first step in is to change into the directory that needs to be patched (in the <code>build() function, not on your terminal! You want to automate the process of applying the patch). You can do this with something like </code>cd $startdir/src/$pkgname-$pkgver<code> or something similar. </code>$pkgname-$pkgver= is often the name of a directory created by untarring a downloaded source file, but not in all cases.<br />
# Now you simply need to apply the patch from within this directory. This is very simply done by adding <code>patch -p1 -i ../pkgname.patch</code> to your <code>build()</code> function, changing <code>pkgname.patch</code> to the name of the file containing the diff (the file that was automatically copied into your <code>src</code> directory because it was in the <code>source</code> array of the <code>PKGBUILD</code> file).<br />
#Run <code>makepkg</code> (from the terminal now). If all goes well, the patch will be automatically applied, and your new package will contain whatever changes were included in the patch. If not, you may have to experiment with the <code>-p</code> option of patch. read <code>man patch</code> for more information.<br />
Basically it works as follows. If the diff file was created to apply patches to files in <code>myversion/</code>, the diff files will be applied to <code>myversion/file</code>. You are running it from within the <code>yourversion/</code> directory (because you cd'd into that directory in the <code>PKGBUILD</code>), so when patch applies the file, you want it to apply it to the file <code>file</code>, taking off the <code>myversion/</code> part. <code>-p1</code> does this, by removing one directory from the path. However, if the developer patched in <code>myfiles/myversion</code>, you need to remove two directories, so you use <code>-p2</code>.<br />
<br />
If you don't apply a -p option, it will take off all directory structure. This is ok if all the files are in the base directory, but if the patch was created on <code>myversion/</code> and one of the edited files was <code>myversion/src/file</code>, and you run the patch without a <code>-p</code> option from within <code>yourversion</code>, it will try to patch a file named <code>yourversion/file</code>.<br />
<br />
Most developers create patches from the parent directory of the directory that is being patched, so <code>-p1</code> will usually be right.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=OpenVPN/Bridge&diff=4054OpenVPN/Bridge2005-07-24T09:15:35Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Network]]<br />
OpenVPN is a full-featured SSL VPN solution which can accomodate a wide range of configurations<br />
and is particularly usefull for "road warriors" :).<br />
<br />
This wiki page will discuss how to configure OpenVPN (1.6) in Bridge mode with a linux server and either a linux or a windows client. http://openvpn.sourceforge.net/howto.html discusses how to setup OpenVPN routing and explains the pros and cons of each. Also, I'm not going into depth on iptables or how to make a hole in your firewall to allow traffic to reach your OpenVPN machine. That's for another wiki, or someone who's willing to add to this one.<br />
<br />
This page describes the "quick n dirty" setup using a secret ssh key for authentification,<br />
see the openvpn website for more information about SSL setups.<br />
<br />
==Server Config==<br />
First thing you want to do is install OpenVPN<br />
<pre><br />
pacman -Sy openvpn bridge-utils<br />
</pre><br />
<br />
Next install this script as /etc/rc.d/openvpn<br />
<br />
'''TODO:''' this script doesn't always correctly report "FAILED" or "DONE" so output can't be relyed upon and maybe confusing.<br />
Check /var/log/daemons if things don't seem to work.<br />
<pre><br />
#!/bin/bash<br />
<br />
# /etc/rc.d/openvpn<br />
#<br />
# An init script to start and stop OpenVPN daemons<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
openvpn''config''dir=/etc/openvpn<br />
<br />
make_bridge ()<br />
{<br />
#echo "# mkbr $1"<br />
# for example $1 = "br0" and<br />
# $br0 = ("br0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255" eth1)<br />
eval brvar="(\"\${${1}[[@]]}\")"<br />
brdev=$1<br />
<br />
brctl addbr $brdev<br />
add''to''bridge ${brvar[[1]]} $brdev<br />
<br />
ifconfig ${brvar[[0]]}<br />
return $?<br />
}<br />
<br />
add''to''bridge ()<br />
{<br />
#echo "# addbr $1 $2"<br />
# for example $1<code>tap0 and $2</code>br0<br />
ifconfig $1 down >/dev/null 2>&1<br />
brctl addif $2 $1<br />
ifconfig $1 0.0.0.0 promisc up<br />
}<br />
<br />
destroy_bridge ()<br />
{<br />
eval brvar="(\"\${${1}[[@]]}\")"<br />
brdev=$1<br />
<br />
ifconfig $brdev down<br />
brctl delbr $brdev<br />
}<br />
<br />
make_vpn ()<br />
{<br />
#echo "# mkvpn $1"<br />
# for example $1 = vpn0 and<br />
# $vpn0 = ("default.conf" tap0 br0)<br />
eval vpnvar="(\"\${${1}[[@]]}\")"<br />
<br />
openvpn --mktun --dev ${vpnvar[[1]]} > /dev/null<br />
if [[ "${vpnvar[2]]}" != "" ]; then<br />
add''to''bridge ${vpnvar[[1]]} ${vpnvar[[2]]}<br />
fi<br />
<br />
openvpn --cd $openvpn''config''dir --daemon --config ${vpnvar[[0]]}<br />
return $?<br />
}<br />
<br />
destroy_vpn ()<br />
{<br />
eval vpnvar="(\"\${${1}[[@]]}\")"<br />
openvpn --rmtun --dev ${vpnvar[[1]]} > /dev/null<br />
return $?<br />
}<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting OpenVPN daemons"<br />
<br />
# enable IP forwarding<br />
echo 1 > /proc/sys/net/ipv4/ip_forward<br />
<br />
# create bridge(s)<br />
error=0<br />
for brconf in ${BRIDGES[[@]]}; do<br />
if echo $brconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
make_bridge $brconf ||| error=1<br />
fi<br />
done<br />
<br />
# create vpn(s)<br />
for vpnconf in ${VPNS[[@]]}; do<br />
if echo $vpnconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
make_vpn $vpnconf ||| error=1<br />
fi<br />
done<br />
<br />
if [[ $error -eq 0 ]]; then<br />
stat_fail<br />
else<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping OpenVPN daemons"<br />
<br />
killall `which openvpn` 2> /dev/null<br />
<br />
# destroy bridge(s)<br />
error=0<br />
for brconf in ${BRIDGES[[@]]}; do<br />
if echo $brconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
destroy_bridge $brconf ||| error=1<br />
fi<br />
done<br />
<br />
# destroy vpn(s)<br />
for vpnconf in ${VPNS[[@]]}; do<br />
if echo $vpnconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
destroy_vpn $vpnconf ||| error=1<br />
fi<br />
done<br />
if [[ $error -eq 0 ]]; then<br />
stat_fail<br />
else<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo $"Usage: $0 {start||stop||restart}"<br />
RETVAL=1<br />
esac<br />
</pre><br />
<br />
and make the script executable<br />
<pre><br />
chmod 755 /etc/rc.d/openvpn<br />
</pre><br />
<br />
In /etc/rc.conf add the following modules to the MODULES array<br />
<pre><br />
tun bridge<br />
</pre><br />
<br />
add the following configuration<br />
<pre><br />
# Bridges and VPN setup<br />
br0=("br0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255" eth0)<br />
BRIDGES=(br0)<br />
vpn0=("vpn0.conf" tap0 br0)<br />
VPNS=(vpn0)<br />
</pre><br />
<br />
and add the following daemons to the DAEMONS array<br />
<pre><br />
bridge_devices openvpn<br />
</pre><br />
<br />
So what does all of that mean up there?<br />
First we create a bridge called br0 which attaches itself to eth0 and has certain ip address etc.<br />
Then we create a vpn daemon with config file "vpn0.conf" (see below) which uses device<br />
tap0 and attaches to the bridge br0. The "BRIDGES" and "VPNS" arrays should allow you to define more then<br />
one of each (but I didn't test this).<br />
<br />
===Now onto creating the config files===<br />
Firstly create the secret key<br />
<pre><br />
openvpn --genkey --secret /etc/openvpn/vpn0.key<br />
</pre><br />
and then make the vpn0.conf and save it in /etc/openvpn/<br />
<pre><br />
#/etc/openvpn/vpn0.conf<br />
#<br />
# Sample OpenVPN server configuration file<br />
# using a pre-shared static key.<br />
#<br />
# See man openvpn for more configuration options.<br />
# (the config file options are the same as the commandline switches)<br />
#<br />
# '#' or ';' may be used to delimit comments.<br />
<br />
# Define the virtual ethernet device.<br />
dev tap0<br />
<br />
# Our pre-shared static key<br />
secret /etc/openvpn/sample.key<br />
<br />
# OpenVPN uses UDP port 1194 by default.<br />
# Each OpenVPN tunnel must use<br />
# a different port number.<br />
# lport or rport can be used<br />
# to denote different ports<br />
# for local and remote.<br />
port 1194<br />
<br />
# Protocol to use; udp is the default for good reason.<br />
# Alternative is 'tcp-server' (with 'tcp-client' on the other side of the line)<br />
# which can be usefull in certain situations or behind certain firewalls.<br />
; proto udp<br />
<br />
# Downgrade UID and GID to<br />
# "nobody" after initialization<br />
# for extra security.<br />
user nobody<br />
group nobody<br />
<br />
# If you built OpenVPN with<br />
# LZO compression, uncomment<br />
# out the following line.<br />
comp-lzo<br />
<br />
# Send a UDP ping to remote once<br />
# every 15 seconds to keep<br />
# stateful firewall connection<br />
# alive. Uncomment this<br />
# out if you are using a stateful<br />
# firewall.<br />
; ping 15<br />
<br />
# Uncomment this section for a more reliable detection when a system<br />
# loses its connection. For example, dial-ups or laptops that<br />
# travel to other locations.<br />
ping 15<br />
ping-restart 45<br />
ping-timer-rem<br />
persist-tun<br />
persist-key<br />
<br />
# Verbosity level.<br />
# 0 -- quiet except for fatal errors.<br />
# 1 -- mostly quiet, but display non-fatal network errors.<br />
# 3 -- medium output, good for normal operation.<br />
# 9 -- verbose, good for troubleshooting<br />
verb 3<br />
</pre><br />
<br />
If you have more then one vpn daemon you should not reuse devices or port numbers across .conf files.<br />
<br />
Now we can start up our daemons scripts.<br />
<pre><br />
sudo modprobe tun<br />
sudo modprobe bridge<br />
sudo /etc/rc.d/openvpn start<br />
</pre><br />
<br />
==Linux client config==<br />
Install openvpn on the client machine the same way as on the server.<br />
Copy /etc/rc.d/openvpn, /etc/openvpn/vpn0.key and /etc/openvpn/vpn0.conf to the client (preferably using sftp or scp).<br />
<br />
Add the following lines to /etc/openvpn/vpn0.conf with the "real" address of the server<br />
and the virtual address of the client.<br />
<pre><br />
remote real''server''address<br />
ifconfig vpn''client''ip vpn_netmask<br />
</pre><br />
(And set proto to 'tcp-client' if you used 'tcp-server' on the server)<br />
<br />
Now edit /etc/rc.conf to include<br />
<pre><br />
# Bridges and VPN setup<br />
BRIDGES=()<br />
vpn0=("vpn0.conf" tap0)<br />
VPNS=(vpn0)<br />
</pre><br />
<br />
Now start it up<br />
<pre><br />
modprobe tun<br />
/etc/rc.d/openvpn start<br />
</pre><br />
<br />
You should now be able to ping across the tunnel to any of the hosts on the other end.<br />
<br />
==Windows client config==<br />
Install OpenVPN from openvpn-1.6.0-install.exe<br />
now copy the vpn0.key from the VPN server (preferably using sftp or scp) and the vpn0.conf<br />
below to "C:\Program Files\OpenVPN\config\". And delete the sample file in that folder (or at least move it to another folder).<br />
<pre><br />
# replace with the public ip address of the vpn server<br />
remote remote.public.ip.address<br />
port 5000<br />
dev tap<br />
ifconfig 192.168.0.200 255.255.255.0<br />
ifconfig-nowarn<br />
secret "C:\\Program Files\\OpenVPN\\config\\vpn0.key"<br />
ping 10<br />
comp-lzo<br />
verb 5<br />
</pre><br />
<br />
Now open a command prompt and enter<br />
<pre><br />
net start openvpnservice<br />
</pre><br />
<br />
You should now be able to ping across the tunnel to any of the hosts on the other end.<br />
<br />
----<br />
<br />
Any additions, clarifications, reorganizations, feedback etc. etc. are more than appreciated.<br />
<br />
----</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Apache_OpenOffice&diff=1156Apache OpenOffice2005-07-24T09:13:39Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:General]]<br />
This gives you some hints on OpenOffice, please notify me if you want to change something in the wiki (tpowa package maintainer), the packages are not source compiled packages, only OO.org's binaries packaged for pacman.<br />
<br />
OpenOffice 1.1.4 Setup<br />
<br />
Installation:<br />
<pre><br />
'pacman -S openoffice-base'<br />
YOU HAVE TO INSTALL A LANGUAGE-PACK ELSE IT WILL NOT RUN (english is not included)!<br />
'pacman -S openoffice-XX' (XX is your language)<br />
IF YOU NEED SPELLCHECKING YOU HAVE TO INSTALL ADDITIONAL PACKAGES!<br />
'pacman -S openoffice-spell-XX' (XX is your language)<br />
or use the included template for installation if your language is not covered<br />
<br />
Upgrade<br />
Upgraders to new 1.1.4-3 package please reinstall your openoffice-base after upgrade,<br />
due to a pacman bug some files get lost during upgrade.<br />
</pre><br />
<br />
Addons:<br />
<pre><br />
OpenOffice quickstarter is available for KDE<br />
'pacman -S oooqs'<br />
</pre><br />
<br />
Known Problems:<br />
<pre><br />
If you experience OpenOffice is not starting check your DRI settings<br />
that you have proper permissions in /etc/X11/xorg.conf<br />
it could look like this:<br />
<br />
Section "DRI"<br />
Group "users"<br />
Mode 0660<br />
EndSection<br />
</pre><br />
<br />
User SETUP:<br />
<pre><br />
Run '/opt/openoffice/setup' to setup OpenOffice for a regular user<br />
Run 'soffice' to start OpenOffice.<br />
</pre><br />
<br />
OpenOffice 2 Setup:<br />
<br />
Installation:<br />
<pre><br />
'pacman -S openoffice2'<br />
YOU CAN INSTALL LANGUAGE-PACKS (english is included)!<br />
'pacman -S openoffice2-XX' (XX is your language)<br />
IF YOU NEED SPELLCHECKING YOU HAVE TO INSTALL ADDITIONAL PACKAGES!<br />
'pacman -S openoffice2-spell-XX' (XX is your language)<br />
or use the included template for installation if your language is not covered<br />
</pre><br />
<br />
Known Problems:<br />
<pre><br />
If you experience OpenOffice2 is not starting check your DRI settings<br />
that you have proper permissions in /etc/X11/xorg.conf<br />
it could look like this:<br />
<br />
Section "DRI"<br />
Group "users"<br />
Mode 0660<br />
EndSection<br />
</pre><br />
or if you don't want to enable DRI and related stuff, run it as ROOT<br />
<br />
<pre><br />
If you can't read/write on NFS disks edit /opt/openoffice2/program/soffice<br />
you may have to disable file locking by commenting out :<br />
<br />
# file locking now enabled by default<br />
#SAL_ENABLE_FILE_LOCKING=1<br />
#export SAL_ENABLE_FILE_LOCKING<br />
</pre><br />
<br />
User SETUP:<br />
<pre><br />
Run '/opt/openoffice2/program/soffice' to setup OpenOffice2 for a regular user on first<br />
startup and to start OpenOffice2.<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Network_Time_Protocol&diff=1331Network Time Protocol2005-07-24T09:09:36Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Server]][[Category:Network]]<br />
'''Files''' '''that''' '''will''' '''be''' '''discussed'''<br />
* /etc/ntp.conf<br />
* /etc/ntp.drift<br />
* /var/log/ntp.log<br />
* /etc/rc.d/ntpd<br />
* /usr/bin/ntpdate<br />
<br />
<br />
'''Other''' '''Documents'''<br />
* http://www.ntp.org/<br />
* http://twiki.ntp.org/bin/view/Main/WebHome<br />
* http://www.eecis.udel.edu/~mills/ntp/html/index.html<br />
<br />
<br />
'''/etc/ntp.conf''' '''Configuration'''<br />
<br />
The very first line of your ntp.conf file should contain a line such as the following:<br />
<br />
<pre><br />
restrict default noquery notrust nomodify<br />
</pre><br />
<br />
This essentially restricts everyone from modifying anything. Following this, you need to let ntpd know what you want to let through into your NTP server. Here is where you would specify any other ip addresses you would like to synchronize on your NTP server. For example:<br />
<br />
<pre><br />
restrict 1.2.3.4<br />
restrict 192.168.0.0 mask 255.255.255.0 nomodify<br />
</pre><br />
<br />
This tells ntpd that 1.2.3.4 and all ip addresses from the 192.168.0.0 range will be allowed to synchronize on this server, but they will not be allowed to modify anything. All other IP addresses in the world will still obey the default restrictions (the first line in the ntp.conf).<br />
<br />
Now, is where the stratum 2 servers that our server will synchronize with come into play. The lines in ntp.conf will be used to tell ntpd what servers we would like to use for synchronizing (these are just examples; use ntp servers that are closest to your location).<br />
<br />
<pre><br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
</pre><br />
<br />
If we left it alone right now, we would never connect to a server because the response from any of the three servers listed above would never be allowed back into our server due to the fact that our default restrict statement would be in use (since we did not add the servers to our lesser restrictions (like we did with 127.0.0.1 and the subnet of 192.168.0.0).<br />
<br />
To correct this, enter the following lines in ntp.conf:<br />
<br />
<pre><br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
</pre><br />
<br />
This will allow the response from the above servers into our system so our local clock can be synchronized. The noquery restriction will not allow any of the above three servers to query for information from our server. The nomodify restriction will not allow the three servers to modify anything (synchronization will still take place).<br />
<br />
The only thing left to do is add the drift file (which keeps track of yours clocks time deviation). and the log file location:<br />
<br />
<pre><br />
driftfile /etc/ntp.drift<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
The complete file will look like this:<br />
<br />
<pre><br />
# default restrictions<br />
restrict default noquery notrust nomodify<br />
<br />
# override the default restrictions here<br />
restrict 10.1.1.0 mask 255.255.255.0 nomodify<br />
<br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
Take note that this is for a client and a server ntp.conf configuration. If you just want to synchronize with a stratum server and are not concerned with other PCs synchronizing with your ntp server, then you can do something like the following (note that only 127.0.0.1 is allowed to be synchronized):<br />
<br />
<pre><br />
# default restrictions<br />
restrict default noquery notrust nomodify<br />
<br />
# Permit all access over the loopback interface<br />
restrict 127.0.0.1<br />
<br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
... or if you don't care about restrictions at all, something like this (note there are no restrictions, thus no need to reduce restrictions for 127.0.0.1 to allow your local clock to synchronize):<br />
<br />
<pre><br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
<br />
'''A''' '''Note''' '''about''' '''Security'''<br />
<br />
You may wonder about all of the restrict lines. The reason for them is security. If you don't want a secure NTP server, don't add any restrict lines to your ntp.conf file. If you want a secure NTP server, start out by adding a default restrict that doesn't allow anything to contact your server, then add more (less restrictive) restrict lines - allowing certain addresses various access privilages.<br />
<br />
<br />
'''/etc.rc.d/network''' '''file''' '''modification'''<br />
<br />
One more thing that you may want to do. In some cases, your /etc/ntp.conf file may be overwritten by dhcp. To avoid this, edit the /etc/conf.d/dhcpcd file and add -N to the line that starts with 'dhcpcd -t 10'.<br />
<br />
<br />
'''Updating''' '''your''' '''system''' '''immediately''' '''using''' '''ntpdate'''<br />
<br />
It is recommended to add a line like the following to your /etc/rc.local file so when you boot your system, your time will be correct (use an NTP server close to your location).<br />
<br />
<pre><br />
/usr/bin/ntpdate ntp1.cs.wisc.edu<br />
</pre><br />
<br />
Running ''ntpdate'' when you boot up is a good idea because ntpd may take a long time to synchronize your local clock depending on how far off the time is. If your clock is synchronized when ntpd starts, then it's sole purpose is to keep it synchronized. To run ntpd at startup, add ''ntpd'' to the daemons section of the /etc/rc.conf file.<br />
<br />
ntpd will work well if you have a connection to the internet all the time. If you are using dialup, you may just want to stick with using ntpdate via the command line.<br />
<br />
'''Querying''' '''your''' '''NTP''' '''server''' '''using''' '''ntpq'''<br />
<br />
There is a default restrict statement for the localhost that includes an ignore flag. Without overriding it (adding the line ''restrict'' ''127.0.0.1'') you will not be able to query your NTP server. If that's not a concern to you, then leave out the restrict line for your localhost. You will still be able to synchronize with your stratum 2 servers.<br />
<br />
'''Using''' '''OpenNTPD''' '''instead''' '''of''' '''ntpd'''<br />
<br />
OpenNTPD is a FREE, easy to use implementation of the Network Time Protocol. It provides the ability to sync the local clock to remote NTP servers and can act as NTP server itself, redistributing the local clock.<br />
<br />
OpenNTPD is primarily developed by Henning Brauer as part of the OpenBSD Project.<br />
<br />
OpenNTPD is a brand new implementation of the ntp protocol. It is much easier to configure and use than ntpd.<br />
<br />
First, the OpenNTPD package must be installed.<br />
It is available in the archlinux incoming directory.<br />
ftp://ftp.archlinux.org/incoming/openntpd-3.6p1-7.src.tar.gz<br />
<br />
This file must be extracted and then the package must be installed:<br />
<pre><br />
tar zxvf openntpd-3.6p1-6.src.tar.gz<br />
cd openntpd/<br />
pacman -A openntpd-3.6p1-6.pkg.tar.gz<br />
</pre><br />
<br />
Once installed, the /etc/ntpd.conf file must be edited.<br />
This is much easier than with ntpd.<br />
<br />
The default configuration is actually usable if all you want is to sync the local computer.<br />
<pre><br />
# $OpenBSD: ntpd.conf,v 1.7 2004/07/20 17:38:35 henning Exp $<br />
# sample ntpd configuration file, see ntpd.conf(5)<br />
<br />
# Addresses to listen on (ntpd does not listen by default)<br />
#listen on *<br />
#listen on 127.0.0.1<br />
#listen on ::1<br />
<br />
# sync to a single server<br />
#server ntp.example.org<br />
<br />
# use a random selection of 8 public stratum 2 servers<br />
# see http://twiki.ntp.org/bin/view/Servers/NTPPoolServers<br />
servers pool.ntp.org<br />
</pre><br />
<br />
To sync to a particular server, uncomment and edit the "server" directive.<br />
<pre><br />
server ntp.example.org<br />
</pre><br />
<br />
The "servers" directive works the same as the "server" directive, however, if the dns name resolves to multiple IP address, ALL of them will be synched to. The default, "pool.ntp.org" is working and should be acceptible in most cases.<br />
<pre><br />
pool.ntp.org<br />
</pre><br />
<br />
Any number of "server" or "servers" directives may be used.<br />
<br />
If you want the computer you run OpenNTPD on to also be a time server, simply uncomment and edit the "listen" directive.<br />
<br />
For example:<br />
<pre><br />
listen on *<br />
</pre><br />
will listen on all interfaces.<br />
<br />
and<br />
<pre><br />
listen on 127.0.0.1<br />
</pre><br />
will only listen on the loopback interface.<br />
<br />
If you would like to run OpenNTPD at boot, add openntpd the DAEMONS variable in your /etc/rc.conf.<br />
<br />
If you want to see the status of of your syncing, look at /var/log/daemon.log</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=NTFS-3G&diff=2039NTFS-3G2005-07-24T09:02:22Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Emulation]]<br />
=== Read/Write access to NTFS parttion.===<br />
<br />
This document tells you how to get Read/Write access to a windows NTFS partition using Captive-NTFS.<br />
<br />
====Notes====<br />
If you are using kernels 2.6.10 or 2.6.11 you need to patch it with the following file:<br />
http://www.datiku.com/documents/files/export_kpi.diff<br />
<br />
====Add Repository====<br />
Read [[Server configuration]] and add the following server<br />
<pre><br />
ftp://ftp.archlinux.org/tur/punkrockguy318<br />
</pre><br />
<br />
====Install Packages====<br />
<pre><br />
# pacman -S captive<br />
</pre><br />
<br />
====Aquire ntfs.sys and ntoskrnl.exe====<br />
Run the following in a terminal as root<br />
<pre><br />
# captive-install-acquire<br />
</pre><br />
<br />
Click on Forward, Skip, Skip, Yes, Start the download. After downloading part of the file it will give an error message that you can safely ignore.<br />
====Preparing some config files====<br />
<pre><br />
# /usr/share/lufs/prepmod<br />
</pre><br />
<br />
Make a directory where you would like to mount the partition (i.e:/mnt/windows)<br />
Then add the entry to /etc/fstab<br />
It could be in one of these two formats<br />
<pre><br />
#/dev/hdb1 /mnt/windows captive-ntfs defaults,users,uid="user" 0 0<br />
</pre><br />
or<br />
<pre><br />
#/dev/discs/disc1/part1 /mnt/windows captive-ntfs defaults,users,uid="user" 0 0<br />
</pre><br />
<br />
Replace "user" with your username without the quotes. If you dont want to give write access to normal users, delete it.<br />
<br />
====Mount====<br />
<pre><br />
# mount /mnt/windows<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=OpenVPN/Bridge&diff=714OpenVPN/Bridge2005-07-24T08:54:26Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>OpenVPN is a full-featured SSL VPN solution which can accomodate a wide range of configurations<br />
and is particularly usefull for "road warriors" :).<br />
<br />
This wiki page will discuss how to configure OpenVPN (1.6) in Bridge mode with a linux server and either a linux or a windows client. http://openvpn.sourceforge.net/howto.html discusses how to setup OpenVPN routing and explains the pros and cons of each. Also, I'm not going into depth on iptables or how to make a hole in your firewall to allow traffic to reach your OpenVPN machine. That's for another wiki, or someone who's willing to add to this one.<br />
<br />
This page describes the "quick n dirty" setup using a secret ssh key for authentification,<br />
see the openvpn website for more information about SSL setups.<br />
<br />
==Server Config==<br />
First thing you want to do is install OpenVPN<br />
<pre><br />
pacman -Sy openvpn bridge-utils<br />
</pre><br />
<br />
Next install this script as /etc/rc.d/openvpn<br />
<br />
'''TODO:''' this script doesn't always correctly report "FAILED" or "DONE" so output can't be relyed upon and maybe confusing.<br />
Check /var/log/daemons if things don't seem to work.<br />
<pre><br />
#!/bin/bash<br />
<br />
# /etc/rc.d/openvpn<br />
#<br />
# An init script to start and stop OpenVPN daemons<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
openvpn''config''dir=/etc/openvpn<br />
<br />
make_bridge ()<br />
{<br />
#echo "# mkbr $1"<br />
# for example $1 = "br0" and<br />
# $br0 = ("br0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255" eth1)<br />
eval brvar="(\"\${${1}[[@]]}\")"<br />
brdev=$1<br />
<br />
brctl addbr $brdev<br />
add''to''bridge ${brvar[[1]]} $brdev<br />
<br />
ifconfig ${brvar[[0]]}<br />
return $?<br />
}<br />
<br />
add''to''bridge ()<br />
{<br />
#echo "# addbr $1 $2"<br />
# for example $1<code>tap0 and $2</code>br0<br />
ifconfig $1 down >/dev/null 2>&1<br />
brctl addif $2 $1<br />
ifconfig $1 0.0.0.0 promisc up<br />
}<br />
<br />
destroy_bridge ()<br />
{<br />
eval brvar="(\"\${${1}[[@]]}\")"<br />
brdev=$1<br />
<br />
ifconfig $brdev down<br />
brctl delbr $brdev<br />
}<br />
<br />
make_vpn ()<br />
{<br />
#echo "# mkvpn $1"<br />
# for example $1 = vpn0 and<br />
# $vpn0 = ("default.conf" tap0 br0)<br />
eval vpnvar="(\"\${${1}[[@]]}\")"<br />
<br />
openvpn --mktun --dev ${vpnvar[[1]]} > /dev/null<br />
if [[ "${vpnvar[2]]}" != "" ]; then<br />
add''to''bridge ${vpnvar[[1]]} ${vpnvar[[2]]}<br />
fi<br />
<br />
openvpn --cd $openvpn''config''dir --daemon --config ${vpnvar[[0]]}<br />
return $?<br />
}<br />
<br />
destroy_vpn ()<br />
{<br />
eval vpnvar="(\"\${${1}[[@]]}\")"<br />
openvpn --rmtun --dev ${vpnvar[[1]]} > /dev/null<br />
return $?<br />
}<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "Starting OpenVPN daemons"<br />
<br />
# enable IP forwarding<br />
echo 1 > /proc/sys/net/ipv4/ip_forward<br />
<br />
# create bridge(s)<br />
error=0<br />
for brconf in ${BRIDGES[[@]]}; do<br />
if echo $brconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
make_bridge $brconf ||| error=1<br />
fi<br />
done<br />
<br />
# create vpn(s)<br />
for vpnconf in ${VPNS[[@]]}; do<br />
if echo $vpnconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
make_vpn $vpnconf ||| error=1<br />
fi<br />
done<br />
<br />
if [[ $error -eq 0 ]]; then<br />
stat_fail<br />
else<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping OpenVPN daemons"<br />
<br />
killall `which openvpn` 2> /dev/null<br />
<br />
# destroy bridge(s)<br />
error=0<br />
for brconf in ${BRIDGES[[@]]}; do<br />
if echo $brconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
destroy_bridge $brconf ||| error=1<br />
fi<br />
done<br />
<br />
# destroy vpn(s)<br />
for vpnconf in ${VPNS[[@]]}; do<br />
if echo $vpnconf || grep '^[[^\!]]' >/dev/null 2>&1; then<br />
destroy_vpn $vpnconf ||| error=1<br />
fi<br />
done<br />
if [[ $error -eq 0 ]]; then<br />
stat_fail<br />
else<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
sleep 1<br />
$0 start<br />
;;<br />
*)<br />
echo $"Usage: $0 {start||stop||restart}"<br />
RETVAL=1<br />
esac<br />
</pre><br />
<br />
and make the script executable<br />
<pre><br />
chmod 755 /etc/rc.d/openvpn<br />
</pre><br />
<br />
In /etc/rc.conf add the following modules to the MODULES array<br />
<pre><br />
tun bridge<br />
</pre><br />
<br />
add the following configuration<br />
<pre><br />
# Bridges and VPN setup<br />
br0=("br0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255" eth0)<br />
BRIDGES=(br0)<br />
vpn0=("vpn0.conf" tap0 br0)<br />
VPNS=(vpn0)<br />
</pre><br />
<br />
and add the following daemons to the DAEMONS array<br />
<pre><br />
bridge_devices openvpn<br />
</pre><br />
<br />
So what does all of that mean up there?<br />
First we create a bridge called br0 which attaches itself to eth0 and has certain ip address etc.<br />
Then we create a vpn daemon with config file "vpn0.conf" (see below) which uses device<br />
tap0 and attaches to the bridge br0. The "BRIDGES" and "VPNS" arrays should allow you to define more then<br />
one of each (but I didn't test this).<br />
<br />
===Now onto creating the config files===<br />
Firstly create the secret key<br />
<pre><br />
openvpn --genkey --secret /etc/openvpn/vpn0.key<br />
</pre><br />
and then make the vpn0.conf and save it in /etc/openvpn/<br />
<pre><br />
#/etc/openvpn/vpn0.conf<br />
#<br />
# Sample OpenVPN server configuration file<br />
# using a pre-shared static key.<br />
#<br />
# See man openvpn for more configuration options.<br />
# (the config file options are the same as the commandline switches)<br />
#<br />
# '#' or ';' may be used to delimit comments.<br />
<br />
# Define the virtual ethernet device.<br />
dev tap0<br />
<br />
# Our pre-shared static key<br />
secret /etc/openvpn/sample.key<br />
<br />
# OpenVPN uses UDP port 1194 by default.<br />
# Each OpenVPN tunnel must use<br />
# a different port number.<br />
# lport or rport can be used<br />
# to denote different ports<br />
# for local and remote.<br />
port 1194<br />
<br />
# Protocol to use; udp is the default for good reason.<br />
# Alternative is 'tcp-server' (with 'tcp-client' on the other side of the line)<br />
# which can be usefull in certain situations or behind certain firewalls.<br />
; proto udp<br />
<br />
# Downgrade UID and GID to<br />
# "nobody" after initialization<br />
# for extra security.<br />
user nobody<br />
group nobody<br />
<br />
# If you built OpenVPN with<br />
# LZO compression, uncomment<br />
# out the following line.<br />
comp-lzo<br />
<br />
# Send a UDP ping to remote once<br />
# every 15 seconds to keep<br />
# stateful firewall connection<br />
# alive. Uncomment this<br />
# out if you are using a stateful<br />
# firewall.<br />
; ping 15<br />
<br />
# Uncomment this section for a more reliable detection when a system<br />
# loses its connection. For example, dial-ups or laptops that<br />
# travel to other locations.<br />
ping 15<br />
ping-restart 45<br />
ping-timer-rem<br />
persist-tun<br />
persist-key<br />
<br />
# Verbosity level.<br />
# 0 -- quiet except for fatal errors.<br />
# 1 -- mostly quiet, but display non-fatal network errors.<br />
# 3 -- medium output, good for normal operation.<br />
# 9 -- verbose, good for troubleshooting<br />
verb 3<br />
</pre><br />
<br />
If you have more then one vpn daemon you should not reuse devices or port numbers across .conf files.<br />
<br />
Now we can start up our daemons scripts.<br />
<pre><br />
sudo modprobe tun<br />
sudo modprobe bridge<br />
sudo /etc/rc.d/openvpn start<br />
</pre><br />
<br />
==Linux client config==<br />
Install openvpn on the client machine the same way as on the server.<br />
Copy /etc/rc.d/openvpn, /etc/openvpn/vpn0.key and /etc/openvpn/vpn0.conf to the client (preferably using sftp or scp).<br />
<br />
Add the following lines to /etc/openvpn/vpn0.conf with the "real" address of the server<br />
and the virtual address of the client.<br />
<pre><br />
remote real''server''address<br />
ifconfig vpn''client''ip vpn_netmask<br />
</pre><br />
(And set proto to 'tcp-client' if you used 'tcp-server' on the server)<br />
<br />
Now edit /etc/rc.conf to include<br />
<pre><br />
# Bridges and VPN setup<br />
BRIDGES=()<br />
vpn0=("vpn0.conf" tap0)<br />
VPNS=(vpn0)<br />
</pre><br />
<br />
Now start it up<br />
<pre><br />
modprobe tun<br />
/etc/rc.d/openvpn start<br />
</pre><br />
<br />
You should now be able to ping across the tunnel to any of the hosts on the other end.<br />
<br />
==Windows client config==<br />
Install OpenVPN from openvpn-1.6.0-install.exe<br />
now copy the vpn0.key from the VPN server (preferably using sftp or scp) and the vpn0.conf<br />
below to "C:\Program Files\OpenVPN\config\". And delete the sample file in that folder (or at least move it to another folder).<br />
<pre><br />
# replace with the public ip address of the vpn server<br />
remote remote.public.ip.address<br />
port 5000<br />
dev tap<br />
ifconfig 192.168.0.200 255.255.255.0<br />
ifconfig-nowarn<br />
secret "C:\\Program Files\\OpenVPN\\config\\vpn0.key"<br />
ping 10<br />
comp-lzo<br />
verb 5<br />
</pre><br />
<br />
Now open a command prompt and enter<br />
<pre><br />
net start openvpnservice<br />
</pre><br />
<br />
You should now be able to ping across the tunnel to any of the hosts on the other end.<br />
<br />
----<br />
<br />
Any additions, clarifications, reorganizations, feedback etc. etc. are more than appreciated.<br />
<br />
----</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Patching_packages&diff=715Patching packages2005-07-24T08:47:47Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>There have been quite a few questions about creating and/or applying patches to packages when using ABS. This document outlines the steps and options required to do these tasks. http://www.kegel.com/academy/opensource.html also has some useful information on patching files.<br />
<br />
===Creating patches===<br />
If you are attempting to use a patch that you got from elsewhere (ie: you downloaded a patch to the Linux kernel), you can skip to the next section. However, if you need to edit source code, make files, configuration files, etc, you will need to be able to create a patch.<br />
<br />
Note: If you need only to change one or two lines in a file (ie: a Makefile), you may be better off investigating the properties of <code>sed</code> instead.<br />
<br />
Creating a patch for a package involves creating two copies of the package, editing the new copy, and creating a unified diff between the two files. When creating an Arch Linux package, this can be done as follows:<br />
<br />
# Add the download source of the file to the source array of the <code>PKGBUILD</code> you are creating. Of course, if you are altering an existing PKGBUILD, this step is taken care of.<br />
# Create a dummy (empty, or containing a single <code>echo</code> command is good) build() function. If you are altering an existing <code>PKGBUILD</code>, you should comment out most of the lines of the build function, as you're likely going to be running <code>makepkg</code> several times, and you won't want to spend a lot of time waiting for a broken package to build.<br />
# Run <code>makepkg</code> This will download the source files you need to edit into the <code>src</code> directory.<br />
# Change to the <code>src</code> directory. In standard cases, there will be a directory containing a bunch of files that were unzipped or untarred from a downloaded archive there (Sometimes it's a single file, but diffs work on multiple files too!) You should make two copies of these directories. One is a pristine copy that makepkg won't be allowed to manipulate, and one will be the new copy that you will create a patch from. You can name the two copies <code>package.pristine</code> and <code>package.new</code> or something similar.<br />
# Change into the <code>package.new</code> directory. Edit whichever files need to be edited. The changes needed depend on what the patch has to do; it might correct a Makefile paths, it may have to correct source errors (for example, to agree with <code>gcc 3.4</code>), and so on. You can also edit files in subfolders of the <code>package.new</code> directory, of course. '''Do not''' issue any commands that will inadvertantly create a bunch of files in the <code>package.new</code> directory; ie: do not try to compile the program to make sure your changes work. The problem is that all the new files will show up in the patch, and you don't want that. Instead, apply the patch to another copy of the directory ('''not''' the pristine directory), either manually with the <code>patch</code> command, or in the <code>PKGBUILD</code> (described below) and test the changes from there.<br />
# Change back to the <code>src</code> directory.<br />
# Run <code>diff -aur package.pristine package.new</code> This will output all the changes you made in unified diff format. You can scan these to make sure the patch is good.<br />
# Run <code>diff -aur package.pristine package.new > package.patch</code> to capture all the changes in a file named <code>package.patch</code>. This is the file that will be used by patch. You may now apply the changes to a copy of the original directory and make sure they are working properly. You should also check to ensure that the patch does not contain any extraneous details. For example, you don't want the patch to convert all tabs in the files you edited to spaces because your text editor did that behind your back. You can edit the patch either using a text editor, or to be safer (and not accidentally introduce errors into the diff file), edit the original files and create the patch afresh.<br />
<br />
===Applying patches===<br />
This section outlines how to apply patches you created or downloaded from the Internet from within a <code>PKGBUILD</code>'s <code>build()</code> function. Follow these steps:<br />
<br />
# Add an entry to the <code>source</code> array of the <code>PKGBUILD</code> for the patch file. If the file is available online, you can provide the full URL and it will automatically be downloaded and placed in the <code>src</code> directory. If it is a patch you created yourself, or is otherwise not available, you should place the file in the same directory as the <code>PKGBUILD</code> file, and just add the name of the file to the source array so that it is copied into the <code>src</code> directory. If you redistribute the <code>PKGBUILD</code>, you should, of course, include the patch with the <code>PKGBUILD</code>.<br />
# Create the <code>build()</code> function in the <code>PKGBUILD</code>. In most cases you will want to apply the patch first thing in the function, but you will know best where the patch lines need to be applied.<br />
# The first step in is to change into the directory that needs to be patched (in the <code>build() function, not on your terminal! You want to automate the process of applying the patch). You can do this with something like </code>cd $startdir/src/$pkgname-$pkgver<code> or something similar. </code>$pkgname-$pkgver= is often the name of a directory created by untarring a downloaded source file, but not in all cases.<br />
# Now you simply need to apply the patch from within this directory. This is very simply done by adding <code>patch -p1 -i ../pkgname.patch</code> to your <code>build()</code> function, changing <code>pkgname.patch</code> to the name of the file containing the diff (the file that was automatically copied into your <code>src</code> directory because it was in the <code>source</code> array of the <code>PKGBUILD</code> file).<br />
#Run <code>makepkg</code> (from the terminal now). If all goes well, the patch will be automatically applied, and your new package will contain whatever changes were included in the patch. If not, you may have to experiment with the <code>-p</code> option of patch. read <code>man patch</code> for more information.<br />
Basically it works as follows. If the diff file was created to apply patches to files in <code>myversion/</code>, the diff files will be applied to <code>myversion/file</code>. You are running it from within the <code>yourversion/</code> directory (because you cd'd into that directory in the <code>PKGBUILD</code>), so when patch applies the file, you want it to apply it to the file <code>file</code>, taking off the <code>myversion/</code> part. <code>-p1</code> does this, by removing one directory from the path. However, if the developer patched in <code>myfiles/myversion</code>, you need to remove two directories, so you use <code>-p2</code>.<br />
<br />
If you don't apply a -p option, it will take off all directory structure. This is ok if all the files are in the base directory, but if the patch was created on <code>myversion/</code> and one of the edited files was <code>myversion/src/file</code>, and you run the patch without a <code>-p</code> option from within <code>yourversion</code>, it will try to patch a file named <code>yourversion/file</code>.<br />
<br />
Most developers create patches from the parent directory of the directory that is being patched, so <code>-p1</code> will usually be right.</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Apache_OpenOffice&diff=711Apache OpenOffice2005-07-24T08:45:18Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>This gives you some hints on OpenOffice, please notify me if you want to change something in the wiki (tpowa package maintainer), the packages are not source compiled packages, only OO.org's binaries packaged for pacman.<br />
<br />
OpenOffice 1.1.4 Setup<br />
<br />
Installation:<br />
<pre><br />
'pacman -S openoffice-base'<br />
YOU HAVE TO INSTALL A LANGUAGE-PACK ELSE IT WILL NOT RUN (english is not included)!<br />
'pacman -S openoffice-XX' (XX is your language)<br />
IF YOU NEED SPELLCHECKING YOU HAVE TO INSTALL ADDITIONAL PACKAGES!<br />
'pacman -S openoffice-spell-XX' (XX is your language)<br />
or use the included template for installation if your language is not covered<br />
<br />
Upgrade<br />
Upgraders to new 1.1.4-3 package please reinstall your openoffice-base after upgrade,<br />
due to a pacman bug some files get lost during upgrade.<br />
</pre><br />
<br />
Addons:<br />
<pre><br />
OpenOffice quickstarter is available for KDE<br />
'pacman -S oooqs'<br />
</pre><br />
<br />
Known Problems:<br />
<pre><br />
If you experience OpenOffice is not starting check your DRI settings<br />
that you have proper permissions in /etc/X11/xorg.conf<br />
it could look like this:<br />
<br />
Section "DRI"<br />
Group "users"<br />
Mode 0660<br />
EndSection<br />
</pre><br />
<br />
User SETUP:<br />
<pre><br />
Run '/opt/openoffice/setup' to setup OpenOffice for a regular user<br />
Run 'soffice' to start OpenOffice.<br />
</pre><br />
<br />
OpenOffice 2 Setup:<br />
<br />
Installation:<br />
<pre><br />
'pacman -S openoffice2'<br />
YOU CAN INSTALL LANGUAGE-PACKS (english is included)!<br />
'pacman -S openoffice2-XX' (XX is your language)<br />
IF YOU NEED SPELLCHECKING YOU HAVE TO INSTALL ADDITIONAL PACKAGES!<br />
'pacman -S openoffice2-spell-XX' (XX is your language)<br />
or use the included template for installation if your language is not covered<br />
</pre><br />
<br />
Known Problems:<br />
<pre><br />
If you experience OpenOffice2 is not starting check your DRI settings<br />
that you have proper permissions in /etc/X11/xorg.conf<br />
it could look like this:<br />
<br />
Section "DRI"<br />
Group "users"<br />
Mode 0660<br />
EndSection<br />
</pre><br />
or if you don't want to enable DRI and related stuff, run it as ROOT<br />
<br />
<pre><br />
If you can't read/write on NFS disks edit /opt/openoffice2/program/soffice<br />
you may have to disable file locking by commenting out :<br />
<br />
# file locking now enabled by default<br />
#SAL_ENABLE_FILE_LOCKING=1<br />
#export SAL_ENABLE_FILE_LOCKING<br />
</pre><br />
<br />
User SETUP:<br />
<pre><br />
Run '/opt/openoffice2/program/soffice' to setup OpenOffice2 for a regular user on first<br />
startup and to start OpenOffice2.<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=719User:Klapmuetz2005-07-24T08:43:34Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]<br />
[[New posts]]<br />
[[NTP]]<br />
[[Open Sound System]]<br />
[[Nforce Drivers]]<br />
[[OpenOffice]]<br />
[[OpenVPN Bridge]]<br />
[[Patching in ABS]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=698User:Klapmuetz2005-07-24T08:33:41Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]<br />
[[New posts]]<br />
[[NTP]]<br />
[[Open Sound System]]<br />
[[Nforce Drivers]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=694User:Klapmuetz2005-07-24T08:32:30Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]<br />
[[New posts]]<br />
[[NTP]]<br />
[[Open Sound System]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=Network_Time_Protocol&diff=706Network Time Protocol2005-07-24T08:31:01Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>'''Files''' '''that''' '''will''' '''be''' '''discussed'''<br />
* /etc/ntp.conf<br />
* /etc/ntp.drift<br />
* /var/log/ntp.log<br />
* /etc/rc.d/ntpd<br />
* /usr/bin/ntpdate<br />
<br />
<br />
'''Other''' '''Documents'''<br />
* http://www.ntp.org/<br />
* http://twiki.ntp.org/bin/view/Main/WebHome<br />
* http://www.eecis.udel.edu/~mills/ntp/html/index.html<br />
<br />
<br />
'''/etc/ntp.conf''' '''Configuration'''<br />
<br />
The very first line of your ntp.conf file should contain a line such as the following:<br />
<br />
<pre><br />
restrict default noquery notrust nomodify<br />
</pre><br />
<br />
This essentially restricts everyone from modifying anything. Following this, you need to let ntpd know what you want to let through into your NTP server. Here is where you would specify any other ip addresses you would like to synchronize on your NTP server. For example:<br />
<br />
<pre><br />
restrict 1.2.3.4<br />
restrict 192.168.0.0 mask 255.255.255.0 nomodify<br />
</pre><br />
<br />
This tells ntpd that 1.2.3.4 and all ip addresses from the 192.168.0.0 range will be allowed to synchronize on this server, but they will not be allowed to modify anything. All other IP addresses in the world will still obey the default restrictions (the first line in the ntp.conf).<br />
<br />
Now, is where the stratum 2 servers that our server will synchronize with come into play. The lines in ntp.conf will be used to tell ntpd what servers we would like to use for synchronizing (these are just examples; use ntp servers that are closest to your location).<br />
<br />
<pre><br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
</pre><br />
<br />
If we left it alone right now, we would never connect to a server because the response from any of the three servers listed above would never be allowed back into our server due to the fact that our default restrict statement would be in use (since we did not add the servers to our lesser restrictions (like we did with 127.0.0.1 and the subnet of 192.168.0.0).<br />
<br />
To correct this, enter the following lines in ntp.conf:<br />
<br />
<pre><br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
</pre><br />
<br />
This will allow the response from the above servers into our system so our local clock can be synchronized. The noquery restriction will not allow any of the above three servers to query for information from our server. The nomodify restriction will not allow the three servers to modify anything (synchronization will still take place).<br />
<br />
The only thing left to do is add the drift file (which keeps track of yours clocks time deviation). and the log file location:<br />
<br />
<pre><br />
driftfile /etc/ntp.drift<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
The complete file will look like this:<br />
<br />
<pre><br />
# default restrictions<br />
restrict default noquery notrust nomodify<br />
<br />
# override the default restrictions here<br />
restrict 10.1.1.0 mask 255.255.255.0 nomodify<br />
<br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
Take note that this is for a client and a server ntp.conf configuration. If you just want to synchronize with a stratum server and are not concerned with other PCs synchronizing with your ntp server, then you can do something like the following (note that only 127.0.0.1 is allowed to be synchronized):<br />
<br />
<pre><br />
# default restrictions<br />
restrict default noquery notrust nomodify<br />
<br />
# Permit all access over the loopback interface<br />
restrict 127.0.0.1<br />
<br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
restrict ntp1.cs.wisc.edu noquery nomodify<br />
restrict ntp3.cs.wisc.edu noquery nomodify<br />
restrict ntp3.sf-bay.org noquery nomodify<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
... or if you don't care about restrictions at all, something like this (note there are no restrictions, thus no need to reduce restrictions for 127.0.0.1 to allow your local clock to synchronize):<br />
<br />
<pre><br />
# public NTP servers to sync with (all stratum 2)<br />
server ntp1.cs.wisc.edu<br />
server ntp3.cs.wisc.edu<br />
server ntp3.sf-bay.org<br />
<br />
# NTP drift file - used to keep track of your system clocks<br />
# time deviation<br />
driftfile /etc/ntp.drift<br />
<br />
# NTP log file<br />
logfile /var/log/ntp.log<br />
</pre><br />
<br />
<br />
'''A''' '''Note''' '''about''' '''Security'''<br />
<br />
You may wonder about all of the restrict lines. The reason for them is security. If you don't want a secure NTP server, don't add any restrict lines to your ntp.conf file. If you want a secure NTP server, start out by adding a default restrict that doesn't allow anything to contact your server, then add more (less restrictive) restrict lines - allowing certain addresses various access privilages.<br />
<br />
<br />
'''/etc.rc.d/network''' '''file''' '''modification'''<br />
<br />
One more thing that you may want to do. In some cases, your /etc/ntp.conf file may be overwritten by dhcp. To avoid this, edit the /etc/conf.d/dhcpcd file and add -N to the line that starts with 'dhcpcd -t 10'.<br />
<br />
<br />
'''Updating''' '''your''' '''system''' '''immediately''' '''using''' '''ntpdate'''<br />
<br />
It is recommended to add a line like the following to your /etc/rc.local file so when you boot your system, your time will be correct (use an NTP server close to your location).<br />
<br />
<pre><br />
/usr/bin/ntpdate ntp1.cs.wisc.edu<br />
</pre><br />
<br />
Running ''ntpdate'' when you boot up is a good idea because ntpd may take a long time to synchronize your local clock depending on how far off the time is. If your clock is synchronized when ntpd starts, then it's sole purpose is to keep it synchronized. To run ntpd at startup, add ''ntpd'' to the daemons section of the /etc/rc.conf file.<br />
<br />
ntpd will work well if you have a connection to the internet all the time. If you are using dialup, you may just want to stick with using ntpdate via the command line.<br />
<br />
'''Querying''' '''your''' '''NTP''' '''server''' '''using''' '''ntpq'''<br />
<br />
There is a default restrict statement for the localhost that includes an ignore flag. Without overriding it (adding the line ''restrict'' ''127.0.0.1'') you will not be able to query your NTP server. If that's not a concern to you, then leave out the restrict line for your localhost. You will still be able to synchronize with your stratum 2 servers.<br />
<br />
'''Using''' '''OpenNTPD''' '''instead''' '''of''' '''ntpd'''<br />
<br />
OpenNTPD is a FREE, easy to use implementation of the Network Time Protocol. It provides the ability to sync the local clock to remote NTP servers and can act as NTP server itself, redistributing the local clock.<br />
<br />
OpenNTPD is primarily developed by Henning Brauer as part of the OpenBSD Project.<br />
<br />
OpenNTPD is a brand new implementation of the ntp protocol. It is much easier to configure and use than ntpd.<br />
<br />
First, the OpenNTPD package must be installed.<br />
It is available in the archlinux incoming directory.<br />
ftp://ftp.archlinux.org/incoming/openntpd-3.6p1-7.src.tar.gz<br />
<br />
This file must be extracted and then the package must be installed:<br />
<pre><br />
tar zxvf openntpd-3.6p1-6.src.tar.gz<br />
cd openntpd/<br />
pacman -A openntpd-3.6p1-6.pkg.tar.gz<br />
</pre><br />
<br />
Once installed, the /etc/ntpd.conf file must be edited.<br />
This is much easier than with ntpd.<br />
<br />
The default configuration is actually usable if all you want is to sync the local computer.<br />
<pre><br />
# $OpenBSD: ntpd.conf,v 1.7 2004/07/20 17:38:35 henning Exp $<br />
# sample ntpd configuration file, see ntpd.conf(5)<br />
<br />
# Addresses to listen on (ntpd does not listen by default)<br />
#listen on *<br />
#listen on 127.0.0.1<br />
#listen on ::1<br />
<br />
# sync to a single server<br />
#server ntp.example.org<br />
<br />
# use a random selection of 8 public stratum 2 servers<br />
# see http://twiki.ntp.org/bin/view/Servers/NTPPoolServers<br />
servers pool.ntp.org<br />
</pre><br />
<br />
To sync to a particular server, uncomment and edit the "server" directive.<br />
<pre><br />
server ntp.example.org<br />
</pre><br />
<br />
The "servers" directive works the same as the "server" directive, however, if the dns name resolves to multiple IP address, ALL of them will be synched to. The default, "pool.ntp.org" is working and should be acceptible in most cases.<br />
<pre><br />
pool.ntp.org<br />
</pre><br />
<br />
Any number of "server" or "servers" directives may be used.<br />
<br />
If you want the computer you run OpenNTPD on to also be a time server, simply uncomment and edit the "listen" directive.<br />
<br />
For example:<br />
<pre><br />
listen on *<br />
</pre><br />
will listen on all interfaces.<br />
<br />
and<br />
<pre><br />
listen on 127.0.0.1<br />
</pre><br />
will only listen on the loopback interface.<br />
<br />
If you would like to run OpenNTPD at boot, add openntpd the DAEMONS variable in your /etc/rc.conf.<br />
<br />
If you want to see the status of of your syncing, look at /var/log/daemon.log</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=692User:Klapmuetz2005-07-24T08:30:33Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]<br />
[[New posts]]<br />
[[NTP]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=690User:Klapmuetz2005-07-24T08:27:31Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]<br />
[[New posts]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=689User:Klapmuetz2005-07-24T08:22:48Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]<br />
[[Server configuration]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=NTFS-3G&diff=702NTFS-3G2005-07-24T08:22:19Z<p>Klapmuetz: Wiki migration</p>
<hr />
<div>=== Read/Write access to NTFS parttion.===<br />
<br />
This document tells you how to get Read/Write access to a windows NTFS partition using Captive-NTFS.<br />
<br />
====Notes====<br />
If you are using kernels 2.6.10 or 2.6.11 you need to patch it with the following file:<br />
http://www.datiku.com/documents/files/export_kpi.diff<br />
<br />
====Add Repository====<br />
Read [[Server configuration]] and add the following server<br />
<pre><br />
ftp://ftp.archlinux.org/tur/punkrockguy318<br />
</pre><br />
<br />
====Install Packages====<br />
<pre><br />
# pacman -S captive<br />
</pre><br />
<br />
====Aquire ntfs.sys and ntoskrnl.exe====<br />
Run the following in a terminal as root<br />
<pre><br />
# captive-install-acquire<br />
</pre><br />
<br />
Click on Forward, Skip, Skip, Yes, Start the download. After downloading part of the file it will give an error message that you can safely ignore.<br />
====Preparing some config files====<br />
<pre><br />
# /usr/share/lufs/prepmod<br />
</pre><br />
<br />
Make a directory where you would like to mount the partition (i.e:/mnt/windows)<br />
Then add the entry to /etc/fstab<br />
It could be in one of these two formats<br />
<pre><br />
#/dev/hdb1 /mnt/windows captive-ntfs defaults,users,uid="user" 0 0<br />
</pre><br />
or<br />
<pre><br />
#/dev/discs/disc1/part1 /mnt/windows captive-ntfs defaults,users,uid="user" 0 0<br />
</pre><br />
<br />
Replace "user" with your username without the quotes. If you dont want to give write access to normal users, delete it.<br />
<br />
====Mount====<br />
<pre><br />
# mount /mnt/windows<br />
</pre></div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz&diff=688User:Klapmuetz2005-07-24T08:20:20Z<p>Klapmuetz: </p>
<hr />
<div>[[Bootsplash]]<br />
[[FAQ]]<br />
[[APC UPS]]<br />
[[CoLinux]]<br />
[[LAMP Spanish]]<br />
[[ArchLiveTx]]<br />
[[Arch64 FAQ]]<br />
[[LAMP]]<br />
[[Apache, SuExec and virtual Hosts]]<br><br />
[[NTFS Write Support]]</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=User:Klapmuetz/Install_on_windows_by_CoLinux&diff=1938User:Klapmuetz/Install on windows by CoLinux2005-07-23T18:51:45Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Server]]<br />
== Arch and colinux==<br />
Here you can find and provide infos about using Arch and [http://www.colinux.org colinux].<br />
<br />
=== Creating and using an ArchLinux Image in colinux===<br />
<br />
After reference the [http://www.gentoo.org/doc/en/colinux-howto.xml gentoo's colinux guide],<br />
and the [[RemoteInstall]]. We could build a archlinux based on gentoo's colinux version. Here is my result.<br />
<br />
* download [http://colinux.org/snapshots/ colinux's lastest snapshot version] and install it.<br />
* download my already packed arch.1gb.bz2 150 MB, I need a public space to put it, if you know<br />
how to upload to arch linux, or colinux's ftp, please contact me danieltwpda@yahoo.com.tw<br />
* modify the default.colinux.xml as<br />
<pre><block_device index="0" path="\DosDevices\c:\coLinux\arch.1gb" enabled="true" /></pre><br />
* run by<br />
<pre>colinux-daemon.exe -c default.colinux.xml</pre><br />
* edit the /etc/resolv.conf, added your nameserver on it<br />
<br />
=== Booting Arch as an Windows Service using colinux===<br />
* it is easy, just<br />
colinux-daemon.exe -c arch.xml --install-service colinuxarch<br />
* on windows service change it to automatic startup</div>Klapmuetzhttps://wiki.archlinux.org/index.php?title=APC_UPS&diff=1305APC UPS2005-07-23T18:49:46Z<p>Klapmuetz: </p>
<hr />
<div>[[Category:Hardware]]<br />
===APC UPS Daemon Installation===<br />
<br />
This document describes how to install the APC UPS daemon. The main advantage of using an APC UPS (for me) is that it can communicate with your Linux box through either a RS-232 or USB serial connection. In the event of a prolonged power outage, should the APC UPS lose most of its battery capacity, it can tell the Linux box to perform a safe shutdown.<br />
<br />
====Create the PKGBUILD File====<br />
First make a directory called "apcupsd" under the local ABS directory:<br />
<pre>mkdir /var/abs/local/apcupsd</pre><br />
<br />
Then copy the text below and paste it into the PKBUILD file:<br />
<pre><br />
# cat > /var/abs/local/apcupsd/PKGBUILD<br />
PASTE HERE<br />
^D<br />
</pre><br />
(Ctrl-D exits 'cat')<br />
<br />
Code:<br />
<pre><br />
pkgname=apcupsd<br />
pkgver=3.10.16<br />
pkgrel=1<br />
pkgdesc="APC UPS Daemon"<br />
url="http://sourceforge.net/projects/apcupsd/"<br />
depends=('glibc')<br />
source=(http://umn.dl.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz apcupsd)<br />
md5sums=('07de8f7d7488b6ef91f128f51713f4ea' '3128fff6672b0bf9901452d547fd72be')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
./configure --prefix<code>/usr --sbindir</code>/sbin --enable-threads --enable-pthreads --enable-powerflute --enable-nls --enable-usb<br />
make ||| return 1<br />
make prefix=$startdir/pkg/usr install<br />
install -D -m755 ../apcupsd $startdir/pkg/etc/rc.d/apcupsd<br />
}<br />
</pre><br />
<br />
====Create the apcupsd Initialization Script====<br />
<br />
First, cut and paste the following code into the apcupsd file:<br />
<pre><br />
# cat > /var/abs/local/apcupsd/apcupsd<br />
PASTE HERE<br />
^D<br />
</pre><br />
<br />
Code:<br />
<pre><br />
#!/bin/bash<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
PID=`pidof -o %PPID /sbin/apcupsd`<br />
<br />
start() {<br />
stat_busy "Starting APC UPS Daemon"<br />
[[ -z "$PID" ]] && /sbin/apcupsd<br />
if [[ $? -gt 0 ]]; then<br />
stat_fail<br />
else<br />
add_daemon apcupsd<br />
stat_done<br />
fi<br />
}<br />
<br />
stop() {<br />
stat_busy "Stopping APC UPS Daemon"<br />
[[ ! -z "$PID" ]] && kill $PID &> /dev/null<br />
if [[ $? -gt 0 ]]; then<br />
stat_fail<br />
else<br />
rm /var/run/apcupsd.pid<br />
rm_daemon apcupsd<br />
stat_done<br />
fi<br />
}<br />
<br />
case "$1" in<br />
start)<br />
start<br />
;;<br />
stop)<br />
stop<br />
;;<br />
restart)<br />
stop<br />
sleep 10<br />
start<br />
;;<br />
*)<br />
echo "usage: $0 {start||stop||restart}"<br />
esac<br />
exit 0<br />
</pre><br />
<br />
Next, perform a checksum of the file:<br />
<pre><br />
# md5sum /var/abs/local/apcupsd/apcupsd<br />
3128fff6672b0bf9901452d547fd72be apcupsd<br />
</pre><br />
<br />
This is a very important step. Note the md5sum=() reference in the PKBUILD file. The checksum must match.<br />
<br />
====Create and Install the Package====<br />
First, change directories to your package location and run the package builder:<br />
<br />
<pre><br />
# cd /var/abs/local/apcupsd<br />
# makepkg<br />
</pre><br />
<br />
Next, install the package:<br />
<pre><br />
# pacman -A apcupsd-3.10.16-1.pkg.tar.gz<br />
</pre><br />
<br />
If things down't work quite as expected and you need to re-install, perform an upgrate:<br />
<pre><br />
# pacman -U apcupsd-3.10.16-1.pkg.tar.gz<br />
</pre><br />
<br />
====Configure APC UPS====<br />
The main configuration file for the APC UPS daemon can be found here: /etc/apcupsd/apcupsd.conf<br />
<br />
In the following example, the lines of text are changed to support a USP style cable:<br />
<br />
Before:<br />
<pre><br />
UPSCABLE smart<br />
<br />
UPSTYPE smartups<br />
<br />
DEVICE /dev/ttyS0<br />
</pre><br />
<br />
After:<br />
<pre><br />
UPSCABLE usb<br />
<br />
UPSTYPE usb<br />
<br />
DEVICE /dev/usb/hiddev[[0-15]]<br />
</pre><br />
<br />
====Test====<br />
First, start the daemon:<br />
<pre><br />
# /etc/rc.d/apcupsd start<br />
</pre><br />
<br />
Next, wait about a minute and confirm the daemon is running and properly monitoring the battery:<br />
<pre><br />
# apcaccess status<br />
APC : 001,033,0819<br />
DATE : Sat Mar 05 SOMETIME 2005<br />
HOSTNAME : somehostname<br />
RELEASE : 3.10.16<br />
VERSION : 3.10.16 (04 November 2004) unknown<br />
UPSNAME : somehostname<br />
CABLE : USB Cable<br />
MODEL : Back-UPS ES 725<br />
UPSMODE : Stand Alone<br />
STARTTIME: Sat Mar SOMETIME 2005<br />
STATUS : ONLINE<br />
LINEV : 119.0 Volts<br />
LOADPCT : 23.0 Percent Load Capacity<br />
BCHARGE : 100.0 Percent<br />
TIMELEFT : 30.5 Minutes<br />
MBATTCHG : 5 Percent<br />
MINTIMEL : 3 Minutes<br />
MAXTIME : 0 Seconds<br />
LOTRANS : 088.0 Volts<br />
HITRANS : 138.0 Volts<br />
ALARMDEL : Always<br />
BATTV : 13.5 Volts<br />
NUMXFERS : 0<br />
TONBATT : 0 seconds<br />
CUMONBATT: 0 seconds<br />
XOFFBATT : N/A<br />
STATFLAG : 0x02000008 Status Flag<br />
MANDATE : 2002-12-02<br />
SERIALNO : QB0249360043<br />
BATTDATE : 2000-00-00<br />
NOMBATTV : 12.0<br />
FIRMWARE : 02.n2.D USB FW:n2<br />
APCMODEL : Back-UPS ES 725<br />
END APC : Sat SOMETIME 2005<br />
</pre><br />
<br />
To fully test your setup:<br><br />
#Change TIMEOUT form 0 to 1 in the /etc/apcupsd/apcupsd.conf file<br><br />
#Remove wall power from the UPS<br><br />
#Observe that your Linux box powers down, in short order<br><br />
#Plug the UPS back into the wall<br><br />
#Power on your Linux box<br><br />
#Change TIMEOUT from 1 back to 0 in the /etc/apcupsd/apcupsd.conf file<br><br />
<br />
====Congratulations!====<br />
<br />
Now all that's left to do is add the 'apcupsd' daemon to the DAEMONS=() list in /etc/rc.conf</div>Klapmuetz