attempt to fix build breakage
If I understand correctly the build broke because the non-english articles import from the english version of fbsd-from-scratch. Remove the translated articles for the articles I removed in English
This commit is contained in:
parent
4e77ebb874
commit
db5df9d85f
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46443
31 changed files with 0 additions and 4977 deletions
|
@ -9,7 +9,6 @@ SUBDIR = contributing
|
||||||
SUBDIR+= contributing-ports
|
SUBDIR+= contributing-ports
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= freebsd-update-server
|
SUBDIR+= freebsd-update-server
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-comparison
|
SUBDIR+= linux-comparison
|
||||||
SUBDIR+= nanobsd
|
SUBDIR+= nanobsd
|
||||||
SUBDIR+= new-users
|
SUBDIR+= new-users
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
#
|
|
||||||
# The FreeBSD Documentation Project
|
|
||||||
# The FreeBSD German Documentation Project
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
# $FreeBSDde: de-docproj/articles/laptop/Makefile,v 1.2 2005/01/06 20:22:43 mheinen Exp $
|
|
||||||
# basiert auf: 1.4
|
|
||||||
#
|
|
||||||
# Article: FreeBSD und Notebooks
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html html-split
|
|
||||||
WITH_ARTICLE_TOC?= YES
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
URL_RELPREFIX?= ../../../..
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,342 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<!-- The FreeBSD Documentation Project
|
|
||||||
The FreeBSD German Documentation Project
|
|
||||||
|
|
||||||
$FreeBSD$
|
|
||||||
$FreeBSDde: de-docproj/articles/laptop/article.xml,v 1.6 2007/01/16 18:56:31 jkois Exp $
|
|
||||||
basiert auf: 1.25
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="de">
|
|
||||||
<info><title>FreeBSD und Notebooks</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>FreeBSD läuft, von wenigen Ausnahmen abgesehen, auf
|
|
||||||
den meisten Notebooks problemlos. In diesem Artikel werden
|
|
||||||
einige Probleme diskutiert, die beim Einsatz von FreeBSD
|
|
||||||
auf Notebooks auftreten können. Der Hauptgrund für
|
|
||||||
diese Probleme ist die im Vergleich zu Desktoprechnern oft
|
|
||||||
unterschiedliche Hardware.</para>
|
|
||||||
|
|
||||||
<para><emphasis>Übersetzt von Fabio Tosques</emphasis>.</para>
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<legalnotice xml:id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.linux;
|
|
||||||
&tm-attrib.microsoft;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>FreeBSD wird oft für ein reines Server-Betriebssystem
|
|
||||||
gehalten, obwohl es auch auf Desktoprechnern sehr gut einsetzbar
|
|
||||||
ist. Falls Sie es auf einem Notebook einsetzen möchten, können
|
|
||||||
Sie auch hier die Vorzüge von FreeBSD nutzen: Ein systematisches
|
|
||||||
und stringentes Layout, einfache Administration und
|
|
||||||
Aktualisierung, das Ports- und Packagesystem für die
|
|
||||||
Softwareinstallation und vieles andere mehr. Weitere Vorzüge, wie
|
|
||||||
lange Laufzeiten, Netzwerkperformance und gute Performance unter
|
|
||||||
hoher Last sind natürlich auf einem Notebookrechner nicht ganz so
|
|
||||||
wichtig. Auf Notebookrechnern können aber während der
|
|
||||||
Installation Probleme auftreten, die bei Desktoprechnern nicht
|
|
||||||
existieren und die daher hier diskutiert werden (Notebooks sind
|
|
||||||
– anders als Desktoprechner – oft auf
|
|
||||||
µsoft.windows; abgestimmt). In diesem Artikel sollen solche
|
|
||||||
Probleme angesprochen werden. Einige Leute haben Ihre Erfahrungen
|
|
||||||
mit dem Betrieb von &os; auf Notebooks auf eigenen Webseiten
|
|
||||||
veröffentlicht, die nicht Teil der &os;-Dokumentation sind. Wenn
|
|
||||||
Sie den Namen Ihres Notebooks zusammen mit <quote>&os;</quote> in
|
|
||||||
der Suchmaschine Ihrer Wahl eingeben, ist es gut möglich, dass Sie
|
|
||||||
Informationen finden, die Ihnen weiterhelfen. Zusätzlich
|
|
||||||
existiert eine &os;-spezifische Online-Datenbank unter <link xlink:href="http://laptop.bsdgroup.de/freebsd/">The &os; Laptop
|
|
||||||
Compatibility List</link>.</para>
|
|
||||||
|
|
||||||
<para>Um in Kontakt mit anderen &os;-Notebook-Besitzern zu treten,
|
|
||||||
können Sie die Mailingliste &a.mobile.name; abonnieren.
|
|
||||||
Weitere Informationen zur Nutzung von Notebooks unter &os; finden
|
|
||||||
sich auch unter <uri xlink:href="http://tuxmobil.org/mobile_bsd.html">http://tuxmobil.org/mobile_bsd.html</uri>.</para>
|
|
||||||
|
|
||||||
<sect1 xml:id="xorg">
|
|
||||||
<title>&xorg;</title>
|
|
||||||
|
|
||||||
<para>Neuere Versionen von <application>&xorg;</application>
|
|
||||||
funktionieren mit den meisten Grafikkarten (Grafikchips), die
|
|
||||||
heutzutage in Notebooks eingebaut werden. Es ist zwar
|
|
||||||
möglich, dass die 3D-Beschleunigung nicht unterstützt
|
|
||||||
wird, die generische SVGA-Konfiguration sollte aber problemlos
|
|
||||||
funktionieren.</para>
|
|
||||||
|
|
||||||
<para>Lesen Sie das Handbuch Ihres Notebooks, um herauszufinden,
|
|
||||||
welche Grafikkarte (oder welcher Grafikchip) eingebaut wurde.
|
|
||||||
Danach überprüfen Sie die
|
|
||||||
<application>&xorg;</application>-Dokumentation, um
|
|
||||||
festzustellen, ob Ihre Grafikkarte unterstützt wird. Ist dies
|
|
||||||
nicht der Fall, verwenden Sie einen allgemeinen Treiber.
|
|
||||||
Versuchen Sie nicht, einfach einen Treiber mit einem ähnlichen
|
|
||||||
Namen zu verwenden. Mit <userinput>Xorg -configure</userinput>
|
|
||||||
lassen sich viele Konfigurationsparameter automatisch
|
|
||||||
einstellen.</para>
|
|
||||||
|
|
||||||
<para>Manchmal verursacht auch die Konfiguration des Displays
|
|
||||||
Probleme. Die verfügbaren &xorg;-Ressourcen
|
|
||||||
beschränken sich auf die Konfiguration von CRT-Monitoren.
|
|
||||||
Brauchbare Einstellungen für ein LCD zu finden, ist daher
|
|
||||||
nicht immer einfach. Vielleicht haben Sie aber auch Glück,
|
|
||||||
und Sie müssen keine Modelines angeben, da die einfache
|
|
||||||
Angabe von horizontaler und vertikalen Wiederholrate ausreicht.
|
|
||||||
Reichen diese Angaben nicht aus, sollten Sie im Internet nach
|
|
||||||
Seiten suchen, die sich mit der Konfiguration von X auf
|
|
||||||
Notebooks beschäftigen (diese beziehen sich zwar oft auf Linux,
|
|
||||||
da allerdings sowohl &os; als auch Linux &xorg; verwenden,
|
|
||||||
spielt dies keine Rolle). Von dort können Sie sich eine
|
|
||||||
Modeline kopieren, die für ähnliche Hardware gültig ist.</para>
|
|
||||||
|
|
||||||
<para>Die meisten Notebooks haben zwei Maustasten, die unter X nur
|
|
||||||
selten Probleme verursachen (abgesehen von der mittleren
|
|
||||||
Maustaste, die oft zum Einfügen von Text benutzt wird). Sie
|
|
||||||
können aber die mittlere Maustaste emulieren, indem Sie die
|
|
||||||
linke und rechte Maustaste gleichzeitig drücken. Dazu
|
|
||||||
müssen Sie die Zeile</para>
|
|
||||||
|
|
||||||
<programlisting>Option "Emulate3Buttons"</programlisting>
|
|
||||||
|
|
||||||
<para>im Abschnitt <literal>InputDevice</literal> der Datei
|
|
||||||
<filename>xorg.conf</filename> einfügen.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="modems">
|
|
||||||
<title>Modems</title>
|
|
||||||
|
|
||||||
<para>Notebooks verfügen in der Regel über ein internes
|
|
||||||
Modem (On-Board-Modem). Leider handelt es sich dabei meist um
|
|
||||||
so genannte <quote>Winmodems</quote>, deren Funktionalität
|
|
||||||
in Software implementiert ist, und für die auch nur
|
|
||||||
Windows-Treiber verfügbar sind (auch wenn einige Hersteller
|
|
||||||
damit begonnen haben, Treiber für andere Betriebssysteme
|
|
||||||
bereitzustellen). Besitzt Ihr Modem beispielsweise einen
|
|
||||||
Lucent LT-Chipsatz, wird dieser wahrscheinlich vom
|
|
||||||
<package>comms/ltmdm</package>-Port
|
|
||||||
unterstützt. Hat Ihr Notebook aber ein <quote>Winmodem</quote>
|
|
||||||
eingebaut, müssen Sie sich ein externes Modem kaufen: Die
|
|
||||||
kompakteste Lösung sind hier PCMCIA-Modems, die weiter unten
|
|
||||||
besprochen werden. Serielle oder über USB angeschlossene Modems
|
|
||||||
sind aber deutlich billiger. In der Regel sollten
|
|
||||||
<quote>normale</quote> Modems (so genannte Non-Winmodems)
|
|
||||||
problemlos funktionieren.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="pcmcia">
|
|
||||||
<title>PCMCIA (PC-Card)-Geräte</title>
|
|
||||||
|
|
||||||
<para>Die meisten Notebooks verfügen über PCMCIA- oder
|
|
||||||
PC-Card-Slots. Diese werden von FreeBSD sehr gut
|
|
||||||
unterstützt. Verwenden Sie &man.dmesg.8;, um festzustellen,
|
|
||||||
ob die PCMCIA-Geräte beim Systemstart korrekt erkannt wurden.
|
|
||||||
Ist dies der Fall, sollten Einträge ähnlich den folgenden
|
|
||||||
auftauchen: <filename>pccard0</filename>,
|
|
||||||
<filename>pccard1</filename> sowie Geräte wie
|
|
||||||
<filename>pcic0</filename>.</para>
|
|
||||||
|
|
||||||
<para>&os; 4.X unterstützt nur 16-Bit PCMCIA-Karten,
|
|
||||||
&os; 5.X unterstützt sowohl 16-Bit-Karten als auch
|
|
||||||
32-Bit-Karten. Eine Liste der unterstützten Karten finden Sie
|
|
||||||
in <filename>/etc/defaults/pccard.conf</filename>. Kaufen Sie
|
|
||||||
möglichst nur Karten, die in dieser Liste aufgeführt sind. Ist
|
|
||||||
Ihre Karte nicht aufgeführt, kann sie aber trotzdem
|
|
||||||
funktionieren, da die meisten 16-Bit-Modems trotzdem unterstützt
|
|
||||||
werden, vorausgesetzt, es handelt sich nicht um
|
|
||||||
<quote>Winmodems</quote> (diese gibt es auch bei PCMCIA-Karten,
|
|
||||||
sie sollten daher beim Kauf der Karte aufpassen). Sollte Ihre
|
|
||||||
Karte als generisches Modem (<foreignphrase>generic
|
|
||||||
modem</foreignphrase>) erkannt werden, müssen Sie daran denken,
|
|
||||||
dass in der Defaultkonfiguration von
|
|
||||||
<filename>pccard.conf</filename> eine Verzögerung von
|
|
||||||
10 Sekunden angegeben ist (dies verhindert das Einfrieren
|
|
||||||
bestimmter Modems). Für Ihr Modem kann dieser Eintrag
|
|
||||||
überflüssig sein, Sie sollten daher versuchen, die Zeit zu
|
|
||||||
reduzieren oder die Zeile komplett zu entfernen.</para>
|
|
||||||
|
|
||||||
<para>Einige Abschnitte der Datei <filename>pccard.conf</filename>
|
|
||||||
müssen angepasst werden. Prüfen Sie die Zeile, in der
|
|
||||||
die IRQs aufgeführt werden und entfernen sie jede Zahl, die
|
|
||||||
schon in Gebrauch ist: Besonders wichtig ist IRQ 5, falls
|
|
||||||
Ihr Notebook eine On-Board-Soundkarte enthält (ansonsten ist
|
|
||||||
es möglich, dass das System abstürzt). Prüfen Sie
|
|
||||||
auch die vorhandenen Speicherressourcen: Sollte Ihr Modem nicht
|
|
||||||
erkannt werden, probieren Sie verschiedene erlaubte Werte aus
|
|
||||||
(diese sind in &man.pccardc.8; aufgeführt).</para>
|
|
||||||
|
|
||||||
<para>Sollte die Karte noch immer nicht funktionieren, starten Sie
|
|
||||||
den &man.pccardd.8;-Daemon manuell. Um diesen schon beim Booten
|
|
||||||
zu aktivieren, fügen Sie die Zeile
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting> in
|
|
||||||
<filename>/etc/rc.conf</filename> ein. Ihre Karte sollte
|
|
||||||
nun erkannt werden, und Sie sollten eine Statusmeldung
|
|
||||||
darüber erhalten, dass neue Geräte vorhanden sind.</para>
|
|
||||||
|
|
||||||
<para>Seit &os; 4.4-RELEASE wurde der PCMCIA-Code komplett
|
|
||||||
überarbeitet. Auch die Unterstützung von ISA-Routing
|
|
||||||
für Interrupts, auf denen &os; nicht in der Lage war, das
|
|
||||||
PCI-BIOS zu nutzen, ist jetzt enthalten. Falls Sie
|
|
||||||
PCMCIA-Probleme haben, sollten Sie daher Ihr System
|
|
||||||
aktualisieren.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="power-management">
|
|
||||||
<title>Power-Management</title>
|
|
||||||
|
|
||||||
<para>Leider sind die Power-Management-Funktionen unter FreeBSD
|
|
||||||
noch nicht sehr stabil. Mit etwas Glück funktioniert die
|
|
||||||
eine oder andere Funktion. Oder es funktioniert keine.</para>
|
|
||||||
|
|
||||||
<para>Was die Sache nicht einfacher macht, ist, dass es zwei
|
|
||||||
verschiedene Standards für das Power-Management gibt: APM
|
|
||||||
und ACPI. Letzteres ist zwar leistungsfähiger und besitzt
|
|
||||||
mehr Funktionen, verursacht aber auch mehr Probleme.</para>
|
|
||||||
|
|
||||||
<para>Manche Laptops unterstützen sowohl APM als auch ACPI
|
|
||||||
(bis zu einem gewissen Grad), andere unterstützen nur einen
|
|
||||||
der beiden Standards. Sie sollten also mit beiden
|
|
||||||
experimentieren, um ein funktionsfähiges Power-Management
|
|
||||||
zu erhalten.</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>Es ist nicht möglich, APM und ACPI gleichzeitig zu
|
|
||||||
benutzen, auch wenn Ihr Notebook beide unterstützt.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>APM</title>
|
|
||||||
|
|
||||||
<para>Das BIOS von APM (Advanced Power Management) stellt
|
|
||||||
verschiedene Power-Management-Funktionen bereit, darunter
|
|
||||||
Standby, Suspend, Hibernation, die Drosselung des Prozessors,
|
|
||||||
und andere mehr. APM wird sowohl von &os; 4.X als auch
|
|
||||||
von &os; 5.X unterstützt.</para>
|
|
||||||
|
|
||||||
<para>Um die APM-Unterstützung zu aktivieren, können
|
|
||||||
Sie einen Kernel mit Power-Management-Unterstützung
|
|
||||||
bauen (<literal>device apm0</literal> bei &os; 4.X und
|
|
||||||
<literal>device apm</literal> bei &os; 5.X). Unter
|
|
||||||
&os; 5.X ist auch ein APM-Modul vorhanden. Sie
|
|
||||||
können das APM-Modul beim Systemstart laden, indem Sie in
|
|
||||||
<filename>/boot/loader.conf</filename> die Zeile
|
|
||||||
<literal>apm_load="YES"</literal> einfügen.</para>
|
|
||||||
|
|
||||||
<para>Unter &os; 5.X müssen Sie in
|
|
||||||
<filename>/boot/device.hints</filename> folgende Einstellung
|
|
||||||
vornehmen: <literal>hint.apm.0.disabled="0"</literal>.</para>
|
|
||||||
|
|
||||||
<para>Um APM beim Systemstart zu aktivieren, müssen Sie in
|
|
||||||
<filename>/etc/rc.conf</filename> außerdem folgende Zeile
|
|
||||||
einfügen: <literal>apm_enable="YES"</literal>. Falls Sie
|
|
||||||
den &man.apmd.8;-Daemon automatisch starten wollen, fügen
|
|
||||||
Sie die Zeile <literal>apmd_enable="YES"</literal> in
|
|
||||||
<filename>/etc/rc.conf</filename> ein. Dieser Daemon
|
|
||||||
kümmert sich um verschiedene APM-Ereignisse und die
|
|
||||||
Benachrichtigung des BIOS. Damit kann das Notebook durch
|
|
||||||
Drücken einer definierten Taste oder durch das
|
|
||||||
Schließen des Deckels in den Ruhemodus versetzt
|
|
||||||
werden.</para>
|
|
||||||
|
|
||||||
<para>Die verschiedenen APM-Befehle sind in &man.apm.8;
|
|
||||||
aufgeführt. <command>apm -b</command> zeigt den
|
|
||||||
aktuellen Akkustatus an, wird dies nicht unterstützt,
|
|
||||||
den Code 255. <command>apm -Z</command> versetzt das
|
|
||||||
Notebook in den Standby-Modus, <command>apm -z</command>
|
|
||||||
(oder <command>zzz</command>) in den Suspend-Modus. Mit
|
|
||||||
<command>shutdown -p</command> wird das Notebook
|
|
||||||
heruntergefahren und ausgeschaltet. Es ist möglich,
|
|
||||||
dass nur einige oder keiner dieser Befehle
|
|
||||||
funktionieren.</para>
|
|
||||||
|
|
||||||
<para>Vielleicht können Sie den Suspend-/Standby-Modus nur auf
|
|
||||||
der Konsole aktivieren, aber nicht unter X (dann bleibe der
|
|
||||||
Bildschirm nach dem Reaktivieren dunkel). Seit &os; 5.X
|
|
||||||
könnte eine Lösung darin bestehen, die Zeile <literal>options
|
|
||||||
SC_NO_SUSPEND_VTYSWITCH</literal> in die
|
|
||||||
Kernel-Konfigurationsdatei aufzunehmen und den Kernel neu zu
|
|
||||||
kompilieren. Eine andere Lösung wäre es, vor dem
|
|
||||||
&man.apm.8;-Aufruf in den Konsolen-Modus zu wechseln, indem
|
|
||||||
die Tastenkombination <keycombo action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
|
|
||||||
oder eine andere Funktionstaste gedrückt wird. Dieser Vorgang
|
|
||||||
kann mit &man.apmd.8; automatisiert werden, falls der
|
|
||||||
&man.apmd.8;-Daemon läuft. Dazu fügen Sie die folgenden
|
|
||||||
Abschnitte in <filename>/etc/apmd.conf</filename>
|
|
||||||
ein:</para>
|
|
||||||
|
|
||||||
<programlisting>apm_event SUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "/etc/rc.suspend";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event USERSUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "sync && sync && sync";
|
|
||||||
exec "sleep 1";
|
|
||||||
exec "apm -z";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event NORMRESUME, STANDBYRESUME {
|
|
||||||
exec "/etc/rc.resume";
|
|
||||||
exec "vidcontrol -s 9 < /dev/console";
|
|
||||||
} </programlisting>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>ACPI</title>
|
|
||||||
|
|
||||||
<para>ACPI (Advanced Configuration and Power Management
|
|
||||||
Interface) stellt nicht nur Power-Management-Funktionen
|
|
||||||
bereit, sondern ist auch in der Lage, von Ihnen eingesetzte
|
|
||||||
Hardware zu erkennen (es ersetzt damit PnP und das PCI-BIOS).
|
|
||||||
ACPI steht seit &os; 5.X zur Verfügung und ist dort
|
|
||||||
standardmäßig eingeschaltet. Die ACPI-Funktionen
|
|
||||||
können mit &man.acpiconf.8; gesteuert werden.</para>
|
|
||||||
|
|
||||||
<para>Leider werden Notebooks oft mit fehlerhaften
|
|
||||||
ACPI-Implementierungen verkauft. Ist ACPI in so einem Fall
|
|
||||||
aktiviert, verursacht es oft mehr Probleme als Nutzen. Es
|
|
||||||
kann sogar so weit kommen, dass &os; auf manchen Notebooks
|
|
||||||
nicht startet, wenn ACPI aktiviert ist.</para>
|
|
||||||
|
|
||||||
<para>Sollte ACPI auf Ihrem Notebook Probleme verursachen,
|
|
||||||
sollten Sie prüfen, ob der Hersteller Ihres Notebooks eine
|
|
||||||
neuere BIOS-Version bereitstellt, in der die ACPI-Fehler
|
|
||||||
behoben sind. Da die ACPI-Implementierung von &os; sich noch
|
|
||||||
im Entwicklungsstatus befindet, könnten Sie auch Ihr System
|
|
||||||
aktualisieren. Die Chancen stehen gut, dass sich Ihre
|
|
||||||
Probleme damit beheben lassen.</para>
|
|
||||||
|
|
||||||
<para>Möchten Sie ACPI abschalten, bearbeiten Sie die
|
|
||||||
Zeile <literal>hint.acpi.0.disabled="1"</literal> in
|
|
||||||
<filename>/boot/device.hints</filename>. Falls Sie beim
|
|
||||||
Systemstart Probleme mit ACPI feststellen, können Sie
|
|
||||||
ACPI auch am Bootprompt vorläufig deaktivieren, indem Sie
|
|
||||||
<literal>unset acpi_load</literal> eingeben.
|
|
||||||
Seit &os; 5.1-RELEASE gibt es ein Bootmenü, in dem
|
|
||||||
Sie unter anderem ACPI deaktivieren können. Dazu
|
|
||||||
müssen Sie die Option <guimenuitem>2. Boot &os; with ACPI
|
|
||||||
disabled</guimenuitem> auswählen.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Den Status des Power-Managements anzeigen</title>
|
|
||||||
|
|
||||||
<para>Das X-Window-System <application>&xorg;</application>
|
|
||||||
besitzt eine eigene Funktion, um den Status der
|
|
||||||
Power-Management-Funktionen anzuzeigen (suchen Sie in
|
|
||||||
&man.xset.1; nach <quote>dpms</quote>). Leider funktioniert
|
|
||||||
auch diese Funktion nicht auf allen Notebooks. Oft wird zwar
|
|
||||||
das Display abgeschaltet, nicht aber die
|
|
||||||
Hintergrundbeleuchtung.</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -11,7 +11,6 @@ SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= freebsd-questions
|
SUBDIR+= freebsd-questions
|
||||||
SUBDIR+= gjournal-desktop
|
SUBDIR+= gjournal-desktop
|
||||||
SUBDIR+= greek-language-support
|
SUBDIR+= greek-language-support
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-users
|
SUBDIR+= linux-users
|
||||||
SUBDIR+= mailing-list-faq
|
SUBDIR+= mailing-list-faq
|
||||||
SUBDIR+= nanobsd
|
SUBDIR+= nanobsd
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# %SOURCE% en_US.ISO8859-1/articles/laptop/Makefile
|
|
||||||
# %SRCID% 1.4
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,352 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-7"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Χρησιμοποιώντας το FreeBSD Σε Φορητούς Υπολογιστές
|
|
||||||
|
|
||||||
The FreeBSD Greek Documentation Project
|
|
||||||
|
|
||||||
%SOURCE% en_US.ISO8859-1/articles/laptop/article.xml
|
|
||||||
%SRCID% 1.25
|
|
||||||
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="el">
|
|
||||||
<info><title>Χρησιμοποιώντας το FreeBSD σε Φορητούς</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>Το FreeBSD δουλεύει άψογα στους περισσότερους φορητούς
|
|
||||||
υπολογιστές, με πολύ λίγα σημεία που χρίζουν προσοχής.
|
|
||||||
Μερικά πράγματα που αφορούν το FreeBSD και τους φορητούς,
|
|
||||||
σχετικά με τις διαφορές που υπάρχουν σε απαιτήσεις υλικού
|
|
||||||
από τους υπολογιστές γραφείου, περιγράφονται παρακάτω.</para>
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<legalnotice xml:id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.linux;
|
|
||||||
&tm-attrib.microsoft;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>Συχνά το FreeBSD χρησιμοποιείται σαν λειτουργικό σύστημα
|
|
||||||
σε εξυπηρετητές, αλλά μπορεί το ίδιο καλά να χρησιμοποιηθεί και σε
|
|
||||||
σταθμούς εργασίας, κι αν σκέφτεστε να το χρησιμοποιήσετε στον
|
|
||||||
φορητό υπολογιστή σας μπορείτε να απολαμβάνετε όλα τα συνηθισμένα
|
|
||||||
πλεονεκτήματα που έχει: συστηματική οργάνωση, εύκολη διαχείριση
|
|
||||||
και αναβάθμιση, τα ports και τα πακέτα για εύκολη εγκατάσταση
|
|
||||||
λογισμικού, κοκ. (Τα άλλα πλεονεκτήματά του, όπως η σταθερότητα,
|
|
||||||
η απόδοση σε δικτυακές εφαρμογές, και η απόδοση σε συνθήκες υψηλού
|
|
||||||
φόρτου, μπορεί να μην γίνονται πολύ φανερά σε ένα φορητό
|
|
||||||
υπολογιστή, βέβαια.) Όμως, η εγκατάσταση σε φορητούς υπολογιστές
|
|
||||||
συχνά παρουσιάζει προβλήματα τα οποία δεν εμφανίζονται σε
|
|
||||||
υπολογιστές γραφείου και δεν αποτελούν συχνά θέμα συζήτησης (οι
|
|
||||||
φορητοί, ακόμα περισσότερο από τους υπολογιστές γραφείου, είναι
|
|
||||||
ρυθμισμένοι για να τρέχουν καλά με µsoft.windows;). Αυτό το
|
|
||||||
άρθρο έχει σαν στόχο να παρουσιάσει κάποια από αυτά τα
|
|
||||||
θέματα. Στο διαδίκτυο μπορείτε να βρείτε πολλές σελίδες στις οποίες
|
|
||||||
περιγράφουν τις εμπειρίες τους με ένα συγκεκριμένο μοντέλο φορητού
|
|
||||||
υπολογιστή και το &os; οι συγγραφείς τους. Αυτές οι σελίδες δεν είναι
|
|
||||||
διαθέσιμες ως μέρος της επίσημης τεκμηρίωσης του &os;, αλλά μπορεί να
|
|
||||||
περιέχουν χρήσιμες πληροφορίες. Είναι καλή ιδέα να ψάξετε για τέτοιες
|
|
||||||
σελίδες, γράφοντας το μοντέλο του φορητού σας και τη
|
|
||||||
λέξη <quote>&os;</quote> σε μερικές μηχανές αναζήτησης. Υπάρχει επίσης
|
|
||||||
και μια βάση πληροφοριών με αναλυτικές περιγραφές από πολλούς φορητούς
|
|
||||||
υπολογιστές στη διεύθυνση <link xlink:href="http://laptop.bsdgroup.de/freebsd/">The &os;
|
|
||||||
Laptop Compatibility List</link>.</para>
|
|
||||||
|
|
||||||
<para>Αν θέλετε να επικοινωνήσετε με άλλους χρήστες που τρέχουν &os; στο
|
|
||||||
φορητό τους, μπορείτε να γραφτείτε και στην λίστα &a.mobile.name;.
|
|
||||||
Περισσότερες πληροφορίες για τη συμβατότητα του &os; με φορητύς
|
|
||||||
υπολογιστές θα βρείτε και στη
|
|
||||||
σελίδα <uri xlink:href="http://tuxmobil.org/mobile_bsd.html">http://tuxmobil.org/mobile_bsd.html</uri>.</para>
|
|
||||||
|
|
||||||
<sect1 xml:id="xorg">
|
|
||||||
<title>Το γραφικό περιβάλλον &xorg;</title>
|
|
||||||
|
|
||||||
<para>Οι πρόσφατες εκδόσεις των <application>&xorg;</application> δουλεύουν με τις
|
|
||||||
περισσότερες μοντέρνες κάρτες οθόνης που χρησιμοποιούνται σε
|
|
||||||
φορητούς υπολογιστές. Η επιτάχυνση (acceleration) μπορεί να μην
|
|
||||||
υποστηρίζεται, αλλά μια βασική SVGA κατάσταση θά 'πρεπε να
|
|
||||||
δουλεύει χωρίς προβλήματα.</para>
|
|
||||||
|
|
||||||
<para>Ελέγξτε την τεκμηρίωση του φορητού σας για να δείτε ποια
|
|
||||||
κάρτα οθόνης έχει και μετά συμβουλευτείτε την τεκμηρίωση του
|
|
||||||
<application>&xorg;</application> για να δείτε αν υπάρχει
|
|
||||||
υποστήριξη για την συγκεκριμένη κάρτα. Αν όχι, τότε
|
|
||||||
χρησιμοποιήστε ένα βασικό οδηγό συσκευής (μην προσπαθήσετε να
|
|
||||||
χρησιμοποιήσετε κάποιο οδηγό που να μοιάζει κάπως στο όνομα).
|
|
||||||
Μπορείτε να δοκιμάσετε την τύχη σας
|
|
||||||
με την εντολή <userinput>Xorg -configure</userinput> που
|
|
||||||
βρίσκει αυτόματα πολλές από τις σωστές ρυθμίσεις.</para>
|
|
||||||
|
|
||||||
<para>Το πρόβλημα είναι πολλές φορές να ρυθμιστεί σωστά η οθόνη.
|
|
||||||
Συχνά η τεκμηρίωση επικεντρώνει στις CRT οθόνες. Το να βρείτε
|
|
||||||
τις κατάλληλες ρυθμίσεις (modelines) για μια LCD οθόνη μπορεί να
|
|
||||||
μην είναι και τόσο εύκολο. Μπορεί να είστε τυχεροί και να μην
|
|
||||||
χρειάζεται να βρείτε κάποια γραμμή ρυθμίσεων για την οθόνη, ή να
|
|
||||||
αρκεί απλώς να δώσετε τις σωστές τιμές στα <literal>HorizSync</literal> και
|
|
||||||
<literal>VertRefresh</literal>. Αν αυτό δεν δουλέψει, η καλύτερη επιλογή που έχετε
|
|
||||||
είναι να ψάξετε στο δίκτυο για πηγές σχετικές με ρύθμιση των X
|
|
||||||
σε φορητούς (συχνά οι οδηγίες που υπάρχουν είναι σχετικές με το
|
|
||||||
Linux, αλλά δεν έχει σημασία αφού και τα δυο συστήματα
|
|
||||||
χρησιμοποιούν την ίδια έκδοση των <application>&xorg;</application>) και να αντιγράψετε
|
|
||||||
τις κατάλληλες γραμμές ρυθμίσεων που έχει στείλει κάποιος ο
|
|
||||||
οποίος έχει το ίδιο υλικό.</para>
|
|
||||||
|
|
||||||
<para>Οι περισσότεροι φορητοί έρχονται με δυο κουμπιά στις
|
|
||||||
συσκευές δείκτη που έχουν, που είναι αρκετά ενοχλητικό όταν
|
|
||||||
κάποιος δουλεύει σε X (αφού το μεσαίο κουμπί είναι αυτό που
|
|
||||||
συχνά χρησιμοποιείται για επικόλληση κειμένου). Μπορείτε να
|
|
||||||
αντιστοιχήσετε το ταυτόχρονο πάτημα του δεξιού και αριστερού
|
|
||||||
κουμπιού στις ρυθμίσεις των X σας να εξομοιώνει το πάτημα του
|
|
||||||
μεσαίου κουμπιού με την γραμμή</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
Option "Emulate3Buttons"
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>στο αρχείο <filename>xorg.conf</filename>, στο
|
|
||||||
τμήμα <literal>InputDevice</literal>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="modems">
|
|
||||||
<title>Modems</title>
|
|
||||||
|
|
||||||
<para>Οι φορητοί έρχονται συνήθως με εσωτερικά (on-board) μόντεμ.
|
|
||||||
Δυστυχώς, αυτό σημαίνει πως σχεδόν πάντα είναι
|
|
||||||
<quote>win-μόντεμ</quote> των οποίων η λειτουργικότητα είναι
|
|
||||||
υλοποιημένη σε λογισμικό, για το οποίο οδηγοί υπάρχουν μόνο για
|
|
||||||
&windows;. (Ορισμένοι οδηγοί για τέτοια μόντεμ έχουν αρχίσει να βγαίνουν και για
|
|
||||||
άλλα λειτουργικά συστήματα. Για παράδειγμα, αν το μόντεμ σας
|
|
||||||
χρησιμοποιεί chipset τύπου Lucent LT μπορεί να υποστηρίζεται από το
|
|
||||||
πακέτο <package>comms/ltmdm</package>.)
|
|
||||||
Αν το μόντεμ που έχει ο φορητός σας δεν υποστηρίζεται,
|
|
||||||
θα χρειαστεί να αγοράσετε ένα εξωτερικό μόντεμ.
|
|
||||||
Η πιο καλή λύση από άποψη χώρου είναι να αγοράσετε ένα PC Card
|
|
||||||
(PCMCIA) μόντεμ, που περιγράφεται παρακάτω, αλλά υπάρχουν και
|
|
||||||
φτηνά USB ή σειριακά μόντεμ που μπορεί να σας κοστίσουν
|
|
||||||
λιγότερο. Γενικά, τα κανονικά (όχι win-μόντεμ) μόντεμ πρέπει να
|
|
||||||
δουλεύουν χωρίς κανένα πρόβλημα.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="pcmcia">
|
|
||||||
<title>Συσκευές PCMCIA (PC Card)</title>
|
|
||||||
|
|
||||||
<para>Οι πιο πολλοί φορητοί έρχονται με υποδοχές PCMCIA (γνωστές
|
|
||||||
και ως PC Card). Αυτές υποστηρίζονται αρκετά καλά από το
|
|
||||||
FreeBSD. Κοιτάξτε τα μηνύματα της εκκίνησης του υπολογιστή σας
|
|
||||||
(χρησιμοποιώντας την εντολή &man.dmesg.8;) και δείτε
|
|
||||||
αν το FreeBSD έχει βρει τις θύρες αυτές (πρέπει να εμφανίζονται
|
|
||||||
σαν <filename>pccard0</filename>,
|
|
||||||
<filename>pccard1</filename> κλπ. σε συσκευές όπως ή
|
|
||||||
<filename>pcic0</filename>).</para>
|
|
||||||
|
|
||||||
<para>Οι εκδόσεις 4.X του &os; έχουν υποστήριξη για 16-bit PCMCIA
|
|
||||||
κάρτες. Οι εκδόσεις 5.Χ και οι νεότερες υποστηρίζουν τόσο 16-bit όσο
|
|
||||||
και 32-bit (<quote>CardBus</quote>) κάρτες. Μια
|
|
||||||
λίστα από κάρτες που υποστηρίζονται υπάρχει το αρχείο
|
|
||||||
<filename>/etc/defaults/pccard.conf</filename>. Κοιτάξτε αυτό
|
|
||||||
το αρχείο, και προτιμήστε να αγοράσετε κάρτες που υπάρχουν σε
|
|
||||||
αυτή τη λίστα. Οι κάρτες που δεν υπάρχουν στη λίστα, μπορεί να
|
|
||||||
υποστηρίζονται σαν <quote>generic</quote> συσκευές: συγκεκριμένα
|
|
||||||
τα πιο πολλά μόντεμ (16-bit) θα πρέπει να δουλεύουν μια χαρά,
|
|
||||||
αρκεί να μην είναι win-μόντεμ (τέτοια μόντεμ υπάρχουν ακόμη και
|
|
||||||
σαν PC Card συσκευές, γι' αυτό να προσέχετε). Αν η κάρτα σας
|
|
||||||
αναγνωρίζεται σαν generic μόντεμ, σημειώστε πως το αρχείο
|
|
||||||
<filename>pccard.conf</filename> ορίζει μια καθυστέρηση 10
|
|
||||||
δευτερολέπτων (για να αποφύγει τα κολλήματα που παθαίνουν κάποια
|
|
||||||
μόντεμ). Αυτός ο χρόνος μπορεί να είναι πολύ μεγάλος για το
|
|
||||||
δικό σας μόντεμ, οπότε αξίζει να πειραματιστείτε, μειώνοντάς
|
|
||||||
τον ή ακόμα κι αφαιρώντας τον τελείως.</para>
|
|
||||||
|
|
||||||
<para>Μερικά μέρη του <filename>pccard.conf</filename> μπορεί να
|
|
||||||
χρειάζονται διορθώσεις. Ελέγξτε την γραμμή irq, και βεβαιωθείτε
|
|
||||||
ότι δεν γράφει κάποια irq γραμμή που ήδη χρησιμοποιείται από
|
|
||||||
κάποια άλλη συσκευή. Πιο συγκεκριμένα, αν έχετε κάποια on-board
|
|
||||||
κάρτα ήχου, αφαιρέστε την γραμμή irq 5 (αλλιώς μπορεί να
|
|
||||||
κολλήσει ο φορητός σας μόλις εισάγετε μια PC Card συσκευή).
|
|
||||||
Επίσης ελέγξτε ότι χρησμοποιούνται ελεύθερες περιοχές μνήμης.
|
|
||||||
Αν η κάρτα σας δεν αναγνωρίζεται, τότε προσπαθήστε να αλλάξετε
|
|
||||||
την περιοχή μνήμης σε κάποια άλλη επιτρεπόμενη τιμή (από αυτές
|
|
||||||
που υπάρχουν στην σελίδα τεκμηρίωσης &man.pccardc.8;).
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>Αν δεν τρέχει ήδη, ξεκινήστε τον δαίμονα
|
|
||||||
&man.pccardd.8;. (Για να ξεκινάει όταν ανοίγετε τον
|
|
||||||
υπολογιστή σας, προσθέστε στο αρχείο
|
|
||||||
<filename>/etc/rc.conf</filename> τη γραμμή
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting>.) Τώρα οι
|
|
||||||
κάρτες σας θα πρέπει να αναγνωρίζονται όταν τις βάζετε σε κάποια
|
|
||||||
θύρα ή τις αφαιρείτε, και να βλέπετε μηνύματα για νέες συσκευές
|
|
||||||
που ενεργοποιούνται.</para>
|
|
||||||
|
|
||||||
<para>Ακριβώς πριν την διανομή της έκδοσης 4.4 του FreeBSD έγιναν
|
|
||||||
αρκετές αλλαγές στον κώδικα για τις PC Card συσκευές (μέσα σε
|
|
||||||
αυτές ήταν και αλλαγές στον κώδικα δρομολόγησης των διακοπών
|
|
||||||
ISA, για εκείνες τις μηχανές που το &os; δεν μπορούσε να
|
|
||||||
χρησιμοποιήσει το PCI BIOS). Αν έχετε προβλήματα με αυτή την
|
|
||||||
έκδοση του &os;, δοκιμάστε να την αναβαθμίσετε σε κάποια πιο
|
|
||||||
καινούρια.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="power-management">
|
|
||||||
<title>Power management</title>
|
|
||||||
|
|
||||||
<para>Δυστυχώς, το power management δεν υποστηρίζεται πολύ καλά
|
|
||||||
από το FreeBSD. Αν είστε τυχεροί, ίσως κάποιες από τις
|
|
||||||
λειτουργίες να δουλεύουν αξιόπιστα. Συνήθως πάντως, δεν
|
|
||||||
δουλεύουν καθόλου.</para>
|
|
||||||
|
|
||||||
<para>Κάτι που περιπλέκει λίγο τα πράγματα είναι η ύπαρξη δύο διαφορετικών
|
|
||||||
προτύπων για power management: του APM και του ACPI. Το δεύτερο έχει ως
|
|
||||||
στόχο να αντικαταστήσει το πρώτο, επεκτείνοντας ταυτόχρονα τα
|
|
||||||
χαρακτηριστικά του APM. Σε πολλές περιπτώσεις το ACPI το πετυχαίνει
|
|
||||||
αυτό, αλλά μερικές φορές δημιουργεί και προβλήματα που δεν τα έχει το
|
|
||||||
APM.</para>
|
|
||||||
|
|
||||||
<para>Ορισμένοι φορητοί υπολογιστές υποστηρίζουν και το APM και το ACPI.
|
|
||||||
Κάποιοι άλλοι φορητοί υπολογιστές υποστηρίζουν μόνο το ένα από τα δύο.
|
|
||||||
Πιθανόν να χρειαστεί να δοκιμάσετε και το APM και το ACPI, για να δείτε
|
|
||||||
πιο από τα δύο υποστηρίζει καλύτερα και με πιο αξιόπιστο τρόπο τα
|
|
||||||
χαρακτηριστικά power management του φορητού σας.</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>Δεν έχει νόημα (και πολλές φορές δε γίνεται καν) να ενεργοποιήσετε
|
|
||||||
ταυτόχρονα και το APM και το ACPI, ακόμη κι αν ο φορητός σας
|
|
||||||
υποστηρίζει και τα δύο πρότυπα.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>APM</title>
|
|
||||||
|
|
||||||
<para>Το APM (Advanced Power Management) BIOS παρέχει υποστήριξη για
|
|
||||||
διάφορες λειτουργίες power management, όπως standby, suspend,
|
|
||||||
hibernation, μείωση της ταχύτητας του επεξεργαστή, κλπ. Οι
|
|
||||||
λειτουργίες APM υποστηρίζονται από τις εκδόσεις 4.Χ και 5.Χ του
|
|
||||||
&os;.</para>
|
|
||||||
|
|
||||||
<para>Για να ενεργοποιήσετε την υποστήριξη APM στον πυρήνα του &os;,
|
|
||||||
πρέπει να μεταγλωττίσετε τον πυρήνα σας με τις επιλογές για power
|
|
||||||
management (<literal>device apm0</literal> για το &os; 4.X
|
|
||||||
και <literal>device apm</literal> για το &os; 5.X). Στο
|
|
||||||
&os; 5.Χ υπάρχει και ξεχωριστό άρθρωμα πυρήνα για το APM, το
|
|
||||||
οποίο μπορείτε να φορτώσετε κατά την εκκίνηση του συστήματος
|
|
||||||
προσθέτοντας στο αρχείο <filename>/boot/loader.conf</filename> τη
|
|
||||||
γραμμή <literal>apm_load="YES"</literal>.</para>
|
|
||||||
|
|
||||||
<para>Στο &os; 5.X πρέπει να προσθέσετε και τη
|
|
||||||
γραμμή <literal>hint.apm.0.disabled="0"</literal> στο
|
|
||||||
αρχείο <filename>/boot/device.hints</filename>.</para>
|
|
||||||
|
|
||||||
<para>Για να ενεργοποιούνται αυτόματα οι λειτουργίες APM κατά την
|
|
||||||
εκκίνηση του συστήματος πρέπει να προσθέσετε και τη
|
|
||||||
γραμμή <literal>apm_enable="YES"</literal> στο
|
|
||||||
αρχείο <filename>/etc/rc.conf</filename>. Στο βασικό σύστημα του &os;
|
|
||||||
περιλαμβάνεται και η υπηρεσία &man.apmd.8;, που ξεκινάει αυτόματα αν
|
|
||||||
προσθέσετε τη γραμμή <literal>apmd_enable="YES"</literal> στο
|
|
||||||
αρχείο <filename>/etc/rc.conf</filename>. Η υπηρεσία αυτή χειρίζεται
|
|
||||||
τα διάφορα μηνύματα APM που στέλνει το BIOS. Μπορεί, για παράδειγμα,
|
|
||||||
να βάλει το φορητό σας σε κατάσταση suspend ή να το ενεργοποιήσει πάλι
|
|
||||||
με το πάτημα ενός πλήκτρου στο πληκτρολόγιο ή όταν ανοιγοκλείνετε την
|
|
||||||
οθόνη του φορητού σας.</para>
|
|
||||||
|
|
||||||
<para>Οι εντολές APM περιγράφονται στη σελίδα βοήθειας &man.apm.8;. Για
|
|
||||||
παράδειγμα, η εντολή <command>apm -b</command> τυπώνει πληροφορίες για
|
|
||||||
την κατάσταση της μπαταρίας (ή 255 αν δεν υποστηρίζεται), η
|
|
||||||
εντολή <command>apm -Z</command> θέτει τον φορητό σε κατάσταση
|
|
||||||
standby, η εντολή <command>apm -z</command> (ή η
|
|
||||||
εντολή <command>zzz</command>) θέτει τον φορητό σε κατάσταση suspend.
|
|
||||||
Για να κλείσει εντελώς ο φορητός μπορείτε να δώσετε την
|
|
||||||
εντολή <command>shutdown -p</command>. Προσοχή όμως: μερικές από
|
|
||||||
αυτές τις εντολές μπορεί να μη δουλεύουν σωστά ή να μη δουλεύουν
|
|
||||||
καθόλου.</para>
|
|
||||||
|
|
||||||
<para>Σε μερικούς φορητούς δουλεύει σωστά η αλλαγή κατάστασης σε standby
|
|
||||||
ή suspend μόνο από την κονσόλα, κι όχι μέσα από το περιβάλλον X
|
|
||||||
(μπορεί π.χ. η οθόνη να μην επανέρχεται σωστά). Σε αυτή την περίπτωση
|
|
||||||
κι αν χρησιμοποιείτε την έκδοση 5.Χ του &os; (ή κάποια νεότερη), ίσως
|
|
||||||
έχει νόημα να προσθέσετε την επιλογή <literal>options
|
|
||||||
SC_NO_SUSPEND_VTYSWITCH</literal> στο αρχείο ρυθμίσεων του πυρήνα σας
|
|
||||||
και να μεταγλωττίσετε πάλι τον πυρήνα. Κάτι άλλο που μπορείτε να
|
|
||||||
δοκιμάσετε είναι να γυρίσετε σε κατάσταση κονσόλας πριν τρέξετε το
|
|
||||||
&man.apm.8; (μπορείτε να γυρίσετε σε κατάσταση κονσόλας από το
|
|
||||||
περιβάλλον Χ γράφοντας <keycombo action="simul">
|
|
||||||
<keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap>
|
|
||||||
</keycombo>). Το εργαλείο &man.vidcontrol.1; μπορεί να αλλάξει
|
|
||||||
αυτόματα σε κατάσταση κονσόλας. Απλά προσθέστε στο
|
|
||||||
αρχείο <filename>/etc/apmd.conf</filename> τις παρακάτω
|
|
||||||
ρυθμίσεις:</para>
|
|
||||||
|
|
||||||
<programlisting>apm_event SUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "/etc/rc.suspend";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event USERSUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "sync && sync && sync";
|
|
||||||
exec "sleep 1";
|
|
||||||
exec "apm -z";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event NORMRESUME, STANDBYRESUME {
|
|
||||||
exec "/etc/rc.resume";
|
|
||||||
exec "vidcontrol -s 9 < /dev/console";
|
|
||||||
}</programlisting>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>ACPI</title>
|
|
||||||
|
|
||||||
<para>Το ACPI (Advanced Configuration and Power Management Interface)
|
|
||||||
παρέχει λειτουργίες διαχείρισης κατάναλωσης (power management) αλλά
|
|
||||||
και αναγνώρισης συσκευών συστήματος (αντικαθιστώντας το PnP και το PCI
|
|
||||||
BIOS). Το &os; έχει υποστήριξη για λειτουργίες ACPI από την έκδοση
|
|
||||||
5.Χ κι ύστερα, και η υποστήριξη για λειτουργίες ACPI είναι
|
|
||||||
ενεργοποιημένη εξ' ορισμού. Οπότε δε χρειάζεται να κάνετε κάτι για να
|
|
||||||
λειτουργήσει το ACPI. Μπορείτε να ρυθμίσετε το ACPI με το εργαλείο
|
|
||||||
&man.acpiconf.8;.</para>
|
|
||||||
|
|
||||||
<para>Δυστυχώς, ορισμένοι κατασκευαστές πουλούν φορητούς υπολογιστές με
|
|
||||||
προβληματικές υλοποιήσεις του προτύπου ACPI, οπότε μπορεί να
|
|
||||||
παρουσιαστούν προβλήματα αν ενεργοποιήσετε το ACPI. Μπορεί ακόμη και
|
|
||||||
να μην ξεκινάει καθόλου to &os; με το ACPI ενεργοποιημένο.</para>
|
|
||||||
|
|
||||||
<para>Αν το ACPI σας δημιουργεί προβλήματα, κοιτάξτε αν ο κατασκευαστής
|
|
||||||
του φορητού σας έχει βγάλει κάποια καινούρια έκδοση από το BIOS του
|
|
||||||
φορητού σας. Η υλοποίηση του ACPI στο &os; βελτιώνεται κι αυτή
|
|
||||||
συνεχώς, οπότε μπορεί να έχει νόημα να αναβαθμίσετε το σύστημά σας σε
|
|
||||||
πιο καινούρια έκδοση. Μπορεί κάποια από τα προβλήματα να διορθωθούν
|
|
||||||
έτσι.</para>
|
|
||||||
|
|
||||||
<para>Αν θέλετε να απενεργοποιήσετε το ACPI, μπορείτε να προσθέσετε τη
|
|
||||||
γραμμή <literal>hint.acpi.0.disabled="1"</literal> στο
|
|
||||||
αρχείο <filename>/boot/device.hints</filename>. Για λιγότερο μόνιμες
|
|
||||||
αλλαγές, μπορείτε να απενεργοποιήσετε προσωρινά το ACPI τρέχοντας την
|
|
||||||
εντολή <literal>unset acpi_load</literal> στην προτροπή του boot
|
|
||||||
loader. Στην έκδοση 5.1-RELEASE του &os; και τις νεότερες εκδόσεις
|
|
||||||
υπάρχει ένα μενού επιλογών εκκίνησης. Μία από τις επιλογές επιτρέπει
|
|
||||||
την εκκίνηση χωρίς ACPI. Επιλέγοντας <guimenuitem>2. Boot &os; with
|
|
||||||
ACPI disabled</guimenuitem> μπορείτε να ξεκινήσετε το σύστημά σας με
|
|
||||||
απενεργοποιημένες όλες τις λειτουργίες ACPI.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Διαχείριση Κατανάλωσης Ισχύος της Οθόνης</title>
|
|
||||||
|
|
||||||
<para>Το γραφικό περιβάλλον X έχει επίσης κάποιου είδους
|
|
||||||
υποστήριξη για power management (διαβάστε την τεκμηρίωση της
|
|
||||||
εντολής &man.xset.1;, και ψάξτε για <quote>dpms</quote>). Είναι
|
|
||||||
καλή ιδέα να δοκιμάσετε να το χρησιμοποιήσετε, αλλά κι αυτό το
|
|
||||||
χαρακτηριστικό των X δεν λειτουργεί πάντα σωστά. Μερικές φορές
|
|
||||||
κλείνει την οθόνη αλλά δεν κλείνει το φως.</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -6,9 +6,7 @@ SUBDIR+= casestudy-argentina.com
|
||||||
SUBDIR+= contributing
|
SUBDIR+= contributing
|
||||||
SUBDIR+= cvs-freebsd
|
SUBDIR+= cvs-freebsd
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= fbsd-from-scratch
|
|
||||||
SUBDIR+= fdp-es
|
SUBDIR+= fdp-es
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-comparison
|
SUBDIR+= linux-comparison
|
||||||
SUBDIR+= linux-users
|
SUBDIR+= linux-users
|
||||||
SUBDIR+= mailing-list-faq
|
SUBDIR+= mailing-list-faq
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Article: FreeBSD From Scratch
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
MAINTAINER= schweikh@FreeBSD.org
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?= gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
#
|
|
||||||
WITH_ARTICLE_TOC?=YES
|
|
||||||
|
|
||||||
# XML content
|
|
||||||
SRCS= article.xml fase_1.sh fase_2.sh fase_3.mk
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
afterinstall:
|
|
||||||
${INSTALL_DOCS} ${.CURDIR}/fase_1.sh ${.CURDIR}/fase_2.sh \
|
|
||||||
${.CURDIR}/fase_3.mk ${DESTDIR}
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,709 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
|
|
||||||
<!ENTITY scratch.ap "<application xmlns='http://docbook.org/ns/docbook'>FreeBSD From Scratch</application>">
|
|
||||||
]>
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="es">
|
|
||||||
<info><title>FreeBSD From Scratch</title>
|
|
||||||
|
|
||||||
|
|
||||||
<author><personname><firstname>Jens</firstname><surname>Schweikhardt</surname></personname><affiliation>
|
|
||||||
<address><email>schweikh@FreeBSD.org</email></address>
|
|
||||||
</affiliation></author>
|
|
||||||
<copyright>
|
|
||||||
<year>2002</year>
|
|
||||||
<holder>Jens Schweikhardt</holder>
|
|
||||||
</copyright>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>&scratch.ap; explica la instalación totalmente automatizada
|
|
||||||
de un sistema &os; hecho a medida y compilado desde las fuentes,
|
|
||||||
proceso que incluye además la compilación de sus
|
|
||||||
<quote>ports</quote> favoritos y configurado para coincidir con
|
|
||||||
su idea del sistema perfecto. Si cree que
|
|
||||||
<command>make world</command> es un concepto fascinante
|
|
||||||
&scratch.ap; lo amplía hasta ser
|
|
||||||
<command>make evenmore</command>. N. del T. : Juego de palabras
|
|
||||||
intraducible basado en el nombre que en &os; se da al proceso de
|
|
||||||
recompilar todo el sistema desde los fuentes, <command>make world</command>,
|
|
||||||
que podría traducirse muy libremente como <quote>hacer, o más bien rehacer el
|
|
||||||
mundo entero</quote> y <command>make evenmore</command>, osea, <quote>hacer más
|
|
||||||
aún</quote>. </para>
|
|
||||||
&trans.es.carvay;
|
|
||||||
</abstract>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<sect1 xml:id="introduction">
|
|
||||||
<title>Introducción</title>
|
|
||||||
|
|
||||||
<para>?Ha actualizado alguna vez su sistema mediante
|
|
||||||
<command>make world</command>?. Si solamente tiene un sistema
|
|
||||||
en sus discos se encontrará con un problema. Si
|
|
||||||
<buildtarget>installworld</buildtarget> falla a la mitad
|
|
||||||
su sistema quedará dañado e incluso
|
|
||||||
puede ser incapaz de arrancar de nuevo. O quizás
|
|
||||||
<buildtarget>installworld</buildtarget> se ha ejecutado sin problemas
|
|
||||||
pero el nuevo kernel no arranca. Se impone buscar el CD de
|
|
||||||
Rescate y tratar de encontrar algo útil en aquellos
|
|
||||||
<quote>backups</quote> que hizo hace seis meses.</para>
|
|
||||||
|
|
||||||
<para>Creo en el paradigma de <quote>al actualizar sistemas operativos
|
|
||||||
instala desde cero</quote>. Haciéndolo así, esto es,
|
|
||||||
al borrar sobreescribiendo en los discos o mejor dicho las particiones,
|
|
||||||
nos aseguraremos de no dejar datos antiguos en ellos, un aspecto
|
|
||||||
éste del que la mayoría de los procesos de
|
|
||||||
actualización no se preocupan en absoluto.
|
|
||||||
Por otra parte borrar las particiones significa
|
|
||||||
que tendrá que recompilar/reinstalar todos sus
|
|
||||||
<quote>ports</quote> y <quote>packages</quote> y después de eso
|
|
||||||
rehacer todas y cada una de las configuraciones que con muchos esfuerzos
|
|
||||||
atesoraba. Si usted también piensa que ésta tarea
|
|
||||||
debería automatizarse siga leyendo.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="why">
|
|
||||||
<title>?Por qué (no) debería interesarme
|
|
||||||
&scratch.ap;?</title>
|
|
||||||
|
|
||||||
<para>Esa es una pregunta muy razonable. Tenemos
|
|
||||||
<application>sysinstall</application>, una compilación
|
|
||||||
del kernel que funciona sin sorpresas y tenemos también
|
|
||||||
las herramientas de entorno de usuario.</para>
|
|
||||||
|
|
||||||
<para>El problema que tiene <application>sysinstall</application>
|
|
||||||
es que está extremadamente limitado cuando se trata de
|
|
||||||
qué, dónde y cómo queremos que haga la
|
|
||||||
instalación.</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Normalmente se usa para instalar distribuciones precompiladas
|
|
||||||
y <quote>packages</quote> desde diversas fuentes (CD, DVD,
|
|
||||||
FTP). No puede instalar el resultado de
|
|
||||||
<literal>make buildworld</literal>.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>No puede instalar un segundo sistema en un directorio
|
|
||||||
de un sistema en funcionamiento.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>No puede hacer una instalación en particiones
|
|
||||||
<application>Vinum</application>.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>No puede compilar <quote>ports</quote>, sólo
|
|
||||||
instala <quote>packages</quote> precompilados.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Es difícil automatizar mediante
|
|
||||||
<quote>scripts</quote> o incluso hacer de forma manual
|
|
||||||
los cambios que considere
|
|
||||||
necesarios después de la instalación</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Por si todo esto fuera poco
|
|
||||||
<application>sysinstall</application>
|
|
||||||
está semioficialmente al final de su
|
|
||||||
<quote>Ciclo de Vida Útil</quote>.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>El archiconocido proceso de <quote>construír/instalar
|
|
||||||
el mundo</quote> (<quote>build/install world</quote>), explicado en
|
|
||||||
<link xlink:href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html">el
|
|
||||||
Handbook</link>, por defecto realiza la tarea de sustituír el
|
|
||||||
sistema existente. Sólo respeta el kernel y los
|
|
||||||
módulos. Los binarios del sistema, los ficheros de
|
|
||||||
cabecera y muchos otros ficheros son sobreescritos; hay ficheros
|
|
||||||
obsoletos que se quedan donde estaban y pueden causar
|
|
||||||
sorpresas. Si el proceso de actualización falla por alguna
|
|
||||||
razón puede ser difícil o incluso imposible volver a
|
|
||||||
dejar el sistema en el estado inicial.</para>
|
|
||||||
|
|
||||||
<para>&scratch.ap; resuelve todos esos problemas. La estrategia es
|
|
||||||
simple: utiliza un sistema en funcionamiento para instalar un nuevo
|
|
||||||
sistema en un árbol de directorios y montar nuevas particiones
|
|
||||||
limpiamente en ese árbol. Muchos ficheros de
|
|
||||||
configuración pueden copiarse al sitio que les corresponda y
|
|
||||||
&man.mergemaster.8; se encargará de aquellos a los que
|
|
||||||
no. Pueden hacerse cambios discrecionales tras la
|
|
||||||
instalación del nuevo sistema desde el viejo,
|
|
||||||
como si el nuevo sistema estuviera dentro de un
|
|
||||||
<quote>chroot</quote>. El proceso tiene tres fases,
|
|
||||||
cada una de los cuales consiste en ejecutar un
|
|
||||||
<quote>script de shell</quote> o invocar
|
|
||||||
<command>make</command>:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><filename>fase_1.sh</filename>:
|
|
||||||
Crea un sistema nuevo y capaz de arrancar en un directorio
|
|
||||||
vacío y combina o copia tantos ficheros como sea
|
|
||||||
necesario. Una vez acabado esto arranca el nuevo sistema.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><filename>fase_2.sh</filename>:
|
|
||||||
Instala los <quote>ports</quote> que hayamos elegido.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><filename>fase_3.mk</filename>:
|
|
||||||
Remata la configuración del software instalado en la
|
|
||||||
fase anterior.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Una vez que ha usado &scratch.ap; para construír un
|
|
||||||
segundo sistema y ha comprobado que funciona satisfactoriamente
|
|
||||||
durante unas cuantas semanas puede usarlo de nuevo para reinstalar
|
|
||||||
el sistema original. Desde ese momento cada vez que crea que
|
|
||||||
debe actualizar un sistema simplemente elija las particiones que
|
|
||||||
hay que borrar y reinstalar.</para>
|
|
||||||
|
|
||||||
<para>Puede que haya oído hablar o incluso haya usado ya
|
|
||||||
<link xlink:href="http://www.linuxfromscratch.org/">Linux From Scratch</link>,
|
|
||||||
LFS para ser más breve. LFS abarca también cómo
|
|
||||||
construír e instalar un sistema desde cero en particiones
|
|
||||||
vacías partiendo de un sistema en funcionamiento. El
|
|
||||||
objetivo de LFS parece ser mostrar la razón de ser y de estar
|
|
||||||
de todas y cada una de las partes del sistema (como el kernel,
|
|
||||||
el compilador, los dispositivos, la shell, la base de datos de
|
|
||||||
terminales, etc.) y los detalles de la instalación de cada
|
|
||||||
parte. &scratch.ap; no entra en detalles tan exahustivos. Mi
|
|
||||||
intención es facilitar una instalación automatizada y
|
|
||||||
completa, no explicar cada detalle escabroso del ciclópeo
|
|
||||||
proceso que arrancamos cuando hacemos un
|
|
||||||
<command>make world</command>. Si desea usted explorar &os; de
|
|
||||||
modo tan profundo comience por leer
|
|
||||||
<filename>/usr/src/Makefile</filename> y siga cuidadosamente lo
|
|
||||||
que sucede al teclear
|
|
||||||
<command>make buildworld</command>.</para>
|
|
||||||
|
|
||||||
<para>Hay también algunos detalles delicados con los que
|
|
||||||
me encontré durante el desarrollo de &scratch.ap; que
|
|
||||||
debería tener muy en cuenta.</para>
|
|
||||||
|
|
||||||
<!-- XXX: Sería una buena idea escribir el fase_2.sh usando un
|
|
||||||
"jail" situada en el sistema nuevo instalado en la primera
|
|
||||||
fase. Si disponemos de una dirección de red bien configurada
|
|
||||||
como IP primaria de esa "jail" podría ser posible incluso
|
|
||||||
compilar "ports" en un "chroot" sin desinstalar nada del
|
|
||||||
sistema anfitrión. No obstante tenga en cuenta que incluso
|
|
||||||
las "jail" están ejecutando el kernel anfitrión.-->
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>El sistema no puede ser usado normalmente
|
|
||||||
durante la compilación de los <quote>ports</quote>
|
|
||||||
que tiene lugar en la segunda fase. Si va a ejecutar
|
|
||||||
el proceso en un servidor en producción tenga en cuenta
|
|
||||||
el tiempo de parada provocado por la fase dos. Los
|
|
||||||
<quote>ports</quote> compilados por
|
|
||||||
<filename>fase_2.sh</filename> necesitan aproximadamente 4 horas
|
|
||||||
para acabar en un sistema SCSI AMD1800+ con discos de 10.000 rpm
|
|
||||||
y 1GB de RAM.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="prerequisites">
|
|
||||||
<title>Requisitos previos</title>
|
|
||||||
|
|
||||||
<para>Para poder usar &scratch.ap;
|
|
||||||
necesitará lo siguiente:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Un sistema &os; con el árbol de <quote>ports</quote> y
|
|
||||||
los fuentes instalados.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Al menos una partición vacía donde instalaremos
|
|
||||||
el nuevo sistema.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Experiencia en el uso de &man.mergemaster.8; o al menos no
|
|
||||||
tener miedo de usarlo.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Si su acceso a Internet es lento o si no dispone del mismo
|
|
||||||
necesitará los <quote>distfiles</quote> de los ports que
|
|
||||||
vaya a instalar.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Conocimientos básicos de confección de
|
|
||||||
<quote>scripts</quote> de shell con la shell Bourne,
|
|
||||||
&man.sh.1;</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Finalmente, debería ser capaz de decirle a su
|
|
||||||
<quote>boot loader</quote> (cargador de arranque) cómo arrancar el nuevo
|
|
||||||
sistema, en modo interactivo o mediante un fichero de
|
|
||||||
configuración.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage1">
|
|
||||||
<title>Primera Fase: Instalación del Sistema</title>
|
|
||||||
|
|
||||||
<para>Lo que vamos a explicar más adelante es mi
|
|
||||||
<filename>fase_1.sh</filename>. Tendrá que modificarlo
|
|
||||||
en varios sitios para que cuadre con su propia idea del
|
|
||||||
<quote>sistema perfecto</quote>. He intentado incluír
|
|
||||||
todos los comentarios posibles en los sitios donde debería
|
|
||||||
usted introducir sus cambios. Los puntos a estudiar son:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Esquema de particiones.</para>
|
|
||||||
|
|
||||||
<para>No estoy de acuerdo con la idea de una sola
|
|
||||||
partición inmensa en la que instalar todo el
|
|
||||||
sistema. Mis sistemas tienen generalmente al menos
|
|
||||||
una partición para
|
|
||||||
<filename>/</filename>,
|
|
||||||
<filename>/usr</filename> y
|
|
||||||
<filename>/var</filename> con
|
|
||||||
<filename>/tmp</filename> enlazado simbólicamente a
|
|
||||||
<filename>/var/tmp</filename>.
|
|
||||||
Además comparto los sistemas de ficheros en los que
|
|
||||||
ubico
|
|
||||||
<filename>/home</filename> (los directorios de los usuarios),
|
|
||||||
<filename>/home/ncvs</filename> (réplica del repositorio
|
|
||||||
de &os;,
|
|
||||||
<filename>/usr/ports</filename> (el árbol de ports),
|
|
||||||
<filename>/src</filename> (diversos árboles de fuentes de
|
|
||||||
procedencias varias) y
|
|
||||||
<filename>/share</filename> (otros datos compartidos que no
|
|
||||||
necesitan ser guardados, por ejemplo mensajes de
|
|
||||||
<quote>news</quote>.</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><quote>Lujos</quote>.</para>
|
|
||||||
|
|
||||||
<para>Me refiero a lo que usaremos inmediatamente tras el arranque
|
|
||||||
del nuevo sistema e incluso antes de la segunda fase. En mi caso
|
|
||||||
se trata de <package>shells/zsh</package> puesto
|
|
||||||
que es la shell que aparece en mi cuenta de usuario en <filename>
|
|
||||||
/etc/passwd</filename>. De todos modos la tarea puede culminarse
|
|
||||||
sin esos <quote>lujos</quote> (de ahí su nombre), todo lo
|
|
||||||
que necesita es entrar en el sistema como root y pasar a la
|
|
||||||
siguiente fase.</para>
|
|
||||||
|
|
||||||
<para>?Por qué no instalar entonces todos mis ports
|
|
||||||
en la primera fase?: en teoría y en la práctica
|
|
||||||
nos encontraremos con problemas de arranque y de consistencia:
|
|
||||||
durante la primera fase tendrá funcionando su viejo kernel
|
|
||||||
mientras el entorno <quote>chroot</quote> dispone de sus propios
|
|
||||||
binarios y ficheros de cabecera todos nuevos. Si por ejemplo el
|
|
||||||
sistema nuevo integra una nueva llamada al sistema (conforme a sus
|
|
||||||
cabeceras) algunos <quote>scripts</quote> de configuración
|
|
||||||
podrían intentar usarla y en concuencia ver <quote>
|
|
||||||
muertos</quote> sus procesos al tratar de ejecutarse en el viejo
|
|
||||||
kernel. He tenido problemas de otro tipo al intentar
|
|
||||||
construír <package>lang/perl5</package>.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>Antes de ejecutar <filename>fase_1.sh</filename> asegúrese
|
|
||||||
de haber cumplido con las tareas previas a un
|
|
||||||
<command>make installworld installkernel</command>, es decir:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>haber adaptado el fichero de configuración de su
|
|
||||||
kernel</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>haber completado sin errores <command>
|
|
||||||
make buildworld</command></para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>haber completado sin errores<command>
|
|
||||||
KERNCONF=
|
|
||||||
nombre_de_su_kernel</command></para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
|
|
||||||
<para>Cuando ejecute <filename>fase_1.sh</filename> por primera vez
|
|
||||||
y copie sus ficheros de configuración de su sistema en
|
|
||||||
funcionamiento a su nuevo sistema no están al día
|
|
||||||
con respecto a lo que hay bajo
|
|
||||||
<filename>/usr/src</filename>, así que <command>
|
|
||||||
mergemaster</command> le preguntará por lo que quiere
|
|
||||||
hacer. Le recomiendo combinar los cambios. (Nota del traductor:
|
|
||||||
merge (to): unir, fusionar, mezclar). Si se cansa de pelear con
|
|
||||||
los diálogos de <command>mergemaster</command> puede
|
|
||||||
simplemente actualizar sus ficheros una vez en el sistema <emphasis>
|
|
||||||
original</emphasis> (pero sólo si existe esa opció:
|
|
||||||
por ejemplo, si uno de sus sistemas usa <literal>-STABLE</literal> y
|
|
||||||
el otro <literal>-CURRENT</literal> los cambios tienen bastantes
|
|
||||||
probabilidades de ser incompatibles). En posteriores usos
|
|
||||||
de <command>mergemaster</command> detectará que los ID de
|
|
||||||
las versiones RCS de esos ficheros coinciden con los que están
|
|
||||||
bajo <filename>/usr/src</filename> y no les prestará más
|
|
||||||
atención.</para>
|
|
||||||
|
|
||||||
<para>El <quote>script</quote> <filename>fase_1.sh</filename>
|
|
||||||
detendrá su ejecución si falla alguno de los
|
|
||||||
comandos que contiene (si alguno da una salida distinta de
|
|
||||||
cero) por incluír <command>set -e</command>, así
|
|
||||||
que es imposible que pase por alto algún error. Antes
|
|
||||||
de seguir adelante debería asegurarse de que no hay errores
|
|
||||||
en su versión de
|
|
||||||
<filename>fase_1.sh</filename>.</para>
|
|
||||||
|
|
||||||
<para>En <filename>fase_1.sh</filename> invocamos
|
|
||||||
<command>mergemaster</command>. Tanto si alguno de los ficheros
|
|
||||||
requiere ser combinado como si no, <command>mergemaster</command>
|
|
||||||
emitirá el siguiente mensaje</para>
|
|
||||||
|
|
||||||
<screen>*** Comparison complete
|
|
||||||
|
|
||||||
Do you wish to delete what is left of /var/tmp/temproot.fase1? [no] <userinput>no</userinput></screen>
|
|
||||||
|
|
||||||
<para>es decir</para>
|
|
||||||
|
|
||||||
<screen>*** Comparación completada
|
|
||||||
|
|
||||||
?Quiere borrar el contenido de /var/tmp/temproot.fase1? [no] <userinput>no</userinput></screen>
|
|
||||||
|
|
||||||
<para>Por favor, responda <literal>no</literal> o simplemente pulse
|
|
||||||
<keycap>Enter</keycap>. Eso es debido a que <command>
|
|
||||||
mergemaster</command> habrá dejado unos cuantos ficheros
|
|
||||||
de longitud igual a cero en <filename>
|
|
||||||
/var/tmp/temproot.fase1</filename> y los copiará al nuevo
|
|
||||||
sistema (a menos que ya estén ahí).</para>
|
|
||||||
|
|
||||||
<para>Después mostrará los ficheros que ha instalado
|
|
||||||
mediante &man.more.1; o si lo prefiere mediante &man.less.1;):</para>
|
|
||||||
|
|
||||||
<screen>*** You chose the automatic install option for files that did not
|
|
||||||
exist on your system. The following were installed for you:
|
|
||||||
/rootnuevo/etc/defaults/rc.conf
|
|
||||||
...
|
|
||||||
/rootnuevo/COPYRIGHT
|
|
||||||
|
|
||||||
(END)</screen>
|
|
||||||
|
|
||||||
<para>es decir</para>
|
|
||||||
|
|
||||||
<screen>*** Ha elegido la opción de instalar automáticamente
|
|
||||||
los ficheros que no existen en su sistema. Han sido instalados los
|
|
||||||
siguientes:
|
|
||||||
/rootnuevo/etc/defaults/rc.conf
|
|
||||||
...
|
|
||||||
/rootnuevo/COPYRIGHT
|
|
||||||
|
|
||||||
</screen>
|
|
||||||
|
|
||||||
<para>Teclée <keycap>q</keycap> para salir del
|
|
||||||
paginador. Ahora se le informará sobre <filename>
|
|
||||||
login.conf</filename>:</para>
|
|
||||||
|
|
||||||
<screen>*** You installed a login.conf file, so make sure that you run
|
|
||||||
'/usr/bin/cap_mkdb /newroot/etc/login.conf'
|
|
||||||
to rebuild your login.conf database
|
|
||||||
|
|
||||||
Would you like to run it now? y or n [n]</screen>
|
|
||||||
|
|
||||||
<para>es decir</para>
|
|
||||||
|
|
||||||
<screen>*** Ha instalado un fichero login.conf así que
|
|
||||||
asegúrese de ejecutar '/usr/bin/cap_mkdb /rootnuevo/etc/login.conf'
|
|
||||||
para reconstruír la base de datos de login.conf
|
|
||||||
|
|
||||||
?Quiere ejecutarlo ahora mismo? (s)i o (n)o [n]</screen>
|
|
||||||
|
|
||||||
<para>La respuesta no tiene importancia puesto que ejecutaremos
|
|
||||||
&man.cap.mkdb.1; en todos los casos.</para>
|
|
||||||
|
|
||||||
<para>Todo lo que hace <filename>fase_1.sh</filename> queda registrado
|
|
||||||
en un fichero <quote>log</quote> para que pueda examinarse con
|
|
||||||
detalle si es preciso.</para>
|
|
||||||
|
|
||||||
<para>Éste es el <filename>fase_1.sh</filename> del autor,
|
|
||||||
así que tendrá que modificarlo a conciencia,
|
|
||||||
en especial los pasos 1, 2, 5 y 6.</para>
|
|
||||||
|
|
||||||
<warning>
|
|
||||||
<para>Por favor, ponga una atención esmerada a las
|
|
||||||
entradas en las que aparece &man.newfs.8;. Si bien
|
|
||||||
es cierto que es imposible crear nuevos sistemas de archivos en
|
|
||||||
particiones montadas nuestro <quote>script</quote> no tendrá
|
|
||||||
ningún inconveniente en borrar cualquier partición
|
|
||||||
que no esté montada y con los nombres que aparezcan en
|
|
||||||
él, en nuestro caso
|
|
||||||
<filename>/dev/da3s1a</filename>, <filename>/dev/vinum/var_a</filename>
|
|
||||||
y <filename>/dev/vinum/usr_a</filename>. Puede provocar un desastre,
|
|
||||||
así que asegúrese de cambiar los nombres de los
|
|
||||||
dispositivos como corresponda.</para>
|
|
||||||
</warning>
|
|
||||||
|
|
||||||
<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="fase_1.sh" parse="text" encoding="iso-8859-1"/></programlisting>
|
|
||||||
|
|
||||||
<para>Descargue <link xlink:href="fase_1.sh"><filename>fase_1.sh</filename></link>.</para>
|
|
||||||
|
|
||||||
<para>La ejecución de éste <quote>script</quote> instala
|
|
||||||
un sistema equipado con lo siguiente:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Usuarios y grupos heredados del anterior sistema.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Acceso a Internet mediante Ethernet y PPP protegido por
|
|
||||||
un cortafuegos.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>NTP y zona horaria correctas.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Algunos ficheros secundarios como
|
|
||||||
<filename>/etc/ttys</filename> e
|
|
||||||
<command>inetd</command>.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>Hay otras áreas listas para ser configuradas pero
|
|
||||||
no las tocaremos hasta concluír la segunda fase. Por ejemplo,
|
|
||||||
hemos copiado unos cuantos ficheros para configurar la impresión
|
|
||||||
y X11. Sin embargo la impresión suele necesitar de aplicaciones
|
|
||||||
que no se encuentran en el sistema base, por ejemplo PostScript. X11
|
|
||||||
no funcionará hasta que no compilemos el servidor, las
|
|
||||||
bibliotecas y los programas.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage2">
|
|
||||||
<title>Segunda Fase: Instalación de <quote>
|
|
||||||
ports</quote></title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>En ésta fase es posible instalar <quote>packages</quote>
|
|
||||||
(que vienen precompilados) en lugar de compilar <quote>
|
|
||||||
ports</quote>. Para poder hacerlo convertiremos <filename>
|
|
||||||
fase_2.sh</filename> en poco más que una lista de
|
|
||||||
comandos <command>pkg_add</command>. Confío en que
|
|
||||||
será usted capaz de escribir un <quote>script</quote>
|
|
||||||
como ese. Ahora nos concentraremos en el sistema tradicional
|
|
||||||
y mucho más flexible de funcionamiento de los
|
|
||||||
<quote>ports</quote>.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>El siguiente <quote>script</quote> <filename>
|
|
||||||
fase_2.sh</filename> es el que yo uso para instalar mis <quote>
|
|
||||||
ports</quote> favoritos. Puede ejecutarse tantas veces como sea
|
|
||||||
preciso y no prestará atención a los <quote>
|
|
||||||
ports</quote> que ya estén instalados. Incluye también
|
|
||||||
soporte para la
|
|
||||||
opción <option>-n</option> que hace un <emphasis>ensayo
|
|
||||||
general con todo</emphasis>, es decir, muestra lo que hubiera sucedido
|
|
||||||
si se hubiera ejecutado. Seguro que tiene que editar la lista de
|
|
||||||
<quote>ports</quote> y probablemente tenga que cambiar unas cuantas
|
|
||||||
variables de entorno.</para>
|
|
||||||
|
|
||||||
<para>La lista de <quote>ports</quote> consiste en líneas
|
|
||||||
de dos o más palabras separadas por espacios: la categoría
|
|
||||||
y el <quote>port</quote>. Es opcional situar detrás
|
|
||||||
un comando de instalación que compilará e instalará
|
|
||||||
el <quote>port</quote> (por defecto <command>make install</command>).
|
|
||||||
Se ignoran las líneas vacís y las que comienzan
|
|
||||||
por #. La mayoría de las veces es suficiente incluír el
|
|
||||||
nombre del <quote>port</quote> y la categoría a que pertenece pero
|
|
||||||
existen unos pocos <quote>ports</quote> en cuya compilación
|
|
||||||
podemos afinar mucho asignando valores a variables de <command>
|
|
||||||
make</command>; veamos un ejemplo:</para>
|
|
||||||
|
|
||||||
<programlisting>www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_CHATZILLA=yes install
|
|
||||||
mail procmail make BATCH=yes install</programlisting>
|
|
||||||
|
|
||||||
<para>De hecho puede usted usar comandos de <quote>shell</quote> a
|
|
||||||
su criterio, así que no tiene que limitarse a simples
|
|
||||||
invocaciones de <command>make</command>:</para>
|
|
||||||
|
|
||||||
<programlisting>java linux-sun-jdk13 yes | make install
|
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install</programlisting>
|
|
||||||
|
|
||||||
<para>Observe que la línea de <package>news/inn-stable</package> es un ejemplo de una
|
|
||||||
asignación de entrada a la variable del intérprete de
|
|
||||||
mandatos <literal>CONFIGURE_ARGS</literal>. El fichero <filename>Makefile</filename>
|
|
||||||
del <quote>port</quote> la usará como valor inicial y la
|
|
||||||
completará con otros argumentos esenciales. La diferencia respecto a
|
|
||||||
a especificar la variable para <filename>make</filename> en la línea de
|
|
||||||
comandos mediante </para>
|
|
||||||
|
|
||||||
<programlisting>news inn-stable make CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" install</programlisting>
|
|
||||||
|
|
||||||
<para>está en que esto último sustituye directamente el valor
|
|
||||||
en lugar de completarlo. El método más adecuado depende de cada
|
|
||||||
<quote>port</quote> en particular.</para>
|
|
||||||
|
|
||||||
<para>Compruebe cuidadosamente que ninguno de sus <quote>ports</quote>
|
|
||||||
tenga una instalación interactiva, es decir, que ninguno
|
|
||||||
deberí intentar recibir de stdin nada que no le dé
|
|
||||||
usted en stdin. Si alguno lo hace leerá la siguiente o
|
|
||||||
siguientes líneas de éste documento y no entenderá
|
|
||||||
nada de nada. Si <filename>fase_2.sh</filename> pasa por alto
|
|
||||||
un <quote>port</quote> o cesa su ejecución sin razón
|
|
||||||
aparente es muy posible que esa sea la razón.</para>
|
|
||||||
|
|
||||||
<para>He aquí <filename>fase_2.sh</filename>. Crea un fichero
|
|
||||||
<quote>log</quote> por cada port que instala y les da nombres
|
|
||||||
según el esquema <filename>
|
|
||||||
DIRECTORIO_LOG/categoría+port</filename>. Si no tiene una
|
|
||||||
copia de su <filename>fase_2.sh</filename> en una partición
|
|
||||||
compartida no olvide copiarlo al sistema nuevo antes de
|
|
||||||
arrancarlo.</para>
|
|
||||||
|
|
||||||
<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="fase_2.sh" parse="text" encoding="iso-8859-1"/></programlisting>
|
|
||||||
|
|
||||||
<para>Descargue <link xlink:href="fase_2.sh"><filename>fase_2.sh</filename></link>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage3">
|
|
||||||
<title>Tercera Fase</title>
|
|
||||||
|
|
||||||
<para>Ya hemos concluído la segunda fase y ya están
|
|
||||||
instalados sus queridísimos <quote>ports</quote>, pero
|
|
||||||
algunos de ellos requieren un poco de configuración. En
|
|
||||||
eso consistirá la tercera fase, añadir los
|
|
||||||
detalles específicos de las configuraciones. Podría
|
|
||||||
haberlos integrado en el <quote>script</quote> <filename>
|
|
||||||
fase_2.sh</filename> pero creo que hay una diferencia conceptual
|
|
||||||
entre instalar un <quote>port</quote> y en modificar la
|
|
||||||
configuración con la que viene por defecto para adaptarla
|
|
||||||
a nuestros gustos o necesidades y creo por lo tanto que esa
|
|
||||||
diferencia justifica una separación en una fase
|
|
||||||
propia.</para>
|
|
||||||
|
|
||||||
<para>He creído más conveniente implementar la
|
|
||||||
tercera fase como un <filename>Makefile</filename> porque
|
|
||||||
admiten la selección de lo que quiera configurar
|
|
||||||
tecleando simplemente:</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>make -f fase_3.mk
|
|
||||||
nombre_del_port</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>Al igual que con <filename>fase_2.sh</filename> asegúrese
|
|
||||||
de que dispone de una copia de su <filename>fase_3.mk</filename> una
|
|
||||||
vez que arranca el sistema nuevo, bien situándolo en una
|
|
||||||
partición compartida bien copiándolo en algún
|
|
||||||
lugar dentro del nuevo sistema.</para>
|
|
||||||
|
|
||||||
<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="fase_3.mk" parse="text" encoding="iso-8859-1"/></programlisting>
|
|
||||||
|
|
||||||
<para>Descargue <link xlink:href="fase_3.mk"><filename>fase_3.mk</filename></link>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="limitations">
|
|
||||||
<title>Restricciones</title>
|
|
||||||
|
|
||||||
<para>La instalación automatizada de un <quote>port</quote>
|
|
||||||
puede resultar difícil si es interactiva y no soporta
|
|
||||||
<command>make BATCH=YES install</command>. En algunos casos
|
|
||||||
la interacción se reduce a teclear <literal>yes</literal>
|
|
||||||
cuando se le pregunta si acepta alguna licencia. Si esa entrada de
|
|
||||||
datos ha de llegar por la entrada estándar simplemente
|
|
||||||
redirigiremos las respuestas pertinentes a la orden de
|
|
||||||
instalación (que suele ser <command>make install</command>;
|
|
||||||
ese es el modo en el que hemos procedido con <package>java/linux-sun-jdk13</package> en
|
|
||||||
<filename>fase_2.sh</filename>).</para>
|
|
||||||
|
|
||||||
<para>No obstante ésta estrategia no funciona con <package>editors/staroffice52</package>, que exige que X11
|
|
||||||
esté funcionando. El proceso de instalación comprende
|
|
||||||
un buen número de pulsaciones de ratón y de tecleo,
|
|
||||||
con lo que es imposible automatizarlo tal y como se hace con otros
|
|
||||||
<quote>ports</quote>. Sin embargo el siguiente atajo workaround
|
|
||||||
nos soluciona el problema: previamente he creado un <filename>
|
|
||||||
staroffice</filename> en el sistema original con</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/ports/editors/staroffice52</userinput>
|
|
||||||
&prompt.root; <userinput>make package</userinput>
|
|
||||||
===> Building package for staroffice-5.2_1
|
|
||||||
Creating package /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz
|
|
||||||
Registering depends:.
|
|
||||||
Creating bzip'd tar ball in '/usr/ports/editors/staroffice52/staroffice-5.2_1.tbz'</screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>y durante la segunda fase usamos:</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>pkg_add /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>Debe usted también tener muy en cuenta posibles
|
|
||||||
problemas con los ficheros de configuración a la hora de
|
|
||||||
actualizar. En general no sabemos cuándo van a hacerse cambios
|
|
||||||
en el formato o el contenido de un fichero de configuración.
|
|
||||||
Es posible que haya que añadir un nuevo grupo a <filename>
|
|
||||||
/etc/group</filename>, o quizás <filename>/etc/passwd</filename>
|
|
||||||
necesite un nuevo campo en sus entradas. Éstas cosas han
|
|
||||||
sucedido en alguna ocasión anteriormente. Si simplemente
|
|
||||||
copiamos un fichero de configuración del sistema viejo al nuevo
|
|
||||||
será suficiente la mayoría de la veces pero ya hemos
|
|
||||||
visto dos casos en los que no lo era. Si actualiza su sistema siguiendo
|
|
||||||
el sistema ortodoxo (sobreescribiendo los ficheros antíguos)
|
|
||||||
tendrá que usar <command>mergemaster</command> para proceder
|
|
||||||
con los cambios que quiera incluír en
|
|
||||||
la configuración de su nuevo sistema, teniendo en cuenta que
|
|
||||||
entre esos cambios hay o puede haber nuevos ficheros. Por desgracia
|
|
||||||
<command>mergemaster</command> sólo es útil con ficheros
|
|
||||||
del sistema base y no para aquellos relacionados con los <quote>
|
|
||||||
ports</quote>. Además, ciertas aplicaciones parecen
|
|
||||||
especialmente diseñadas para sacarme de mis casillas por el
|
|
||||||
procedimiento de cambiar el fichero de configuración cada quince
|
|
||||||
días. Lo único que puede hacerse es estar alerta,
|
|
||||||
sobre todo cuando cambia el número de versión.
|
|
||||||
En ocasiones anteriores he tenido que modificar o reescribir
|
|
||||||
ficheros para servidores web, servidores y clientes de <quote>news</quote>.
|
|
||||||
Cualquier tipo de software cuyo mantenimiento sea muy activo es un firme
|
|
||||||
candidato a que sus ficheros de configuración merezcan nuestro
|
|
||||||
examen.</para>
|
|
||||||
|
|
||||||
<para>He usado &scratch.ap; varias veces para actualizar un sistema
|
|
||||||
<literal>5-CURRENT</literal> a <literal>5-CURRENT</literal>, esto es,
|
|
||||||
nunca he intentado instalar <literal>5-CURRENT</literal> desde un
|
|
||||||
sistema <literal>4-STABLE</literal> o viceversa, pero dada la
|
|
||||||
cantidad de cambios existentes entre las diferentes <quote>
|
|
||||||
RELEASE</quote> no sería insensato esperar que esa tarea
|
|
||||||
sea un tanto compleja. Usar &scratch.ap; para actualizaciones
|
|
||||||
dentro del campo de <literal>4-STABLE</literal> debería
|
|
||||||
ser mucho menos penoso (aunque yo aún no lo he
|
|
||||||
intentado). Si quiere hacerlo debería tener en cuenta
|
|
||||||
lo siguiente:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Si no usa el sistema de ficheros de dispositivo
|
|
||||||
(<literal>devfs</literal>) puede necesitar crear los
|
|
||||||
dispositivos necesarios para su hardware con &man.MAKEDEV.8;
|
|
||||||
en la primera fase, sexto paso.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -1,243 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# fase_1.sh - FreeBSD From Scratch, Primera Fase: Instalación del Sistema.
|
|
||||||
# Uso: ./fase_1.sh
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
|
|
||||||
set -x -e
|
|
||||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
|
||||||
|
|
||||||
# Requisitos:
|
|
||||||
#
|
|
||||||
# a) Haber completado sin errores "make buildworld" y "make buildkernel"
|
|
||||||
# b) Particiones sin usar (al menos una para el sistema de ficheros raíz,
|
|
||||||
# probablemente más para los nuevos /usr y /var, a gusto de cada uno.)
|
|
||||||
|
|
||||||
# El punto montaje de la raíz bajo la que va usted a crear el sistema nuevo.
|
|
||||||
# Sólo va a usarse como punto de montaje; que no se usará espacio en él
|
|
||||||
# puesto que todos los ficheros serán depositados en el o los sistemas
|
|
||||||
# de ficheros que están efectivamente montados.
|
|
||||||
DESTDIR=/rootnuevo
|
|
||||||
SRC=/usr/src # Aquí está su árbol de fuentes.
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Primer Paso: Creación de un árbol de directorios vacío bajo $DESTDIR.
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_one () {
|
|
||||||
# El nuevo raíz del sistema de ficheros. Obligatorio.
|
|
||||||
# Cambie los nombres de dispositivo (DEV_*) para hacerlos acordes con
|
|
||||||
# sus necesidades o el "script" le
|
|
||||||
# estallará en la cara.
|
|
||||||
DEV_ROOT=/dev/da3s1a
|
|
||||||
mkdir -p ${DESTDIR}
|
|
||||||
newfs ${DEV_ROOT}
|
|
||||||
tunefs -n enable ${DEV_ROOT}
|
|
||||||
mount -o noatime ${DEV_ROOT} ${DESTDIR}
|
|
||||||
|
|
||||||
# Sistemas de ficheros extra y sus correspondientes puntos de montaje.
|
|
||||||
# Opcional.
|
|
||||||
DEV_VAR=/dev/vinum/var_a
|
|
||||||
newfs ${DEV_VAR}
|
|
||||||
tunefs -n enable ${DEV_VAR}
|
|
||||||
mkdir -m 755 ${DESTDIR}/var
|
|
||||||
mount -o noatime ${DEV_VAR} ${DESTDIR}/var
|
|
||||||
|
|
||||||
DEV_USR=/dev/vinum/usr_a
|
|
||||||
newfs ${DEV_USR}
|
|
||||||
tunefs -n enable ${DEV_USR}
|
|
||||||
mkdir -m 755 ${DESTDIR}/usr
|
|
||||||
mount -o noatime ${DEV_USR} ${DESTDIR}/usr
|
|
||||||
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/usr/ports
|
|
||||||
mount /dev/vinum/ports ${DESTDIR}/usr/ports
|
|
||||||
|
|
||||||
# Aquí crearemos los demás directorios. Obligatorio.
|
|
||||||
cd ${SRC}/etc; make distrib-dirs DESTDIR=${DESTDIR}
|
|
||||||
# Personalmente me gusta enlazar tmp a var/tmp. Opcional.
|
|
||||||
cd ${DESTDIR}; rmdir tmp; ln -s var/tmp
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Segundo Paso: Poblamos el árbol de directorios /etc que está vacío aún y
|
|
||||||
# ubicamos unos cuantos ficheros en /.
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_two () {
|
|
||||||
# Añada o borre de ésta lista según su criterio. La mayoría son obligatorios.
|
|
||||||
for f in \
|
|
||||||
/.profile \
|
|
||||||
/etc/group \
|
|
||||||
/etc/hosts \
|
|
||||||
/etc/inetd.conf \
|
|
||||||
/etc/ipfw.conf \
|
|
||||||
/etc/make.conf \
|
|
||||||
/etc/master.passwd \
|
|
||||||
/etc/nsswitch.conf \
|
|
||||||
/etc/ntp.conf \
|
|
||||||
/etc/printcap \
|
|
||||||
/etc/profile \
|
|
||||||
/etc/rc.conf \
|
|
||||||
/etc/resolv.conf \
|
|
||||||
/etc/start_if.xl0 \
|
|
||||||
/etc/ttys \
|
|
||||||
/etc/ppp/* \
|
|
||||||
/etc/mail/aliases \
|
|
||||||
/etc/mail/aliases.db \
|
|
||||||
/etc/mail/hal9000.mc \
|
|
||||||
/etc/mail/service.switch \
|
|
||||||
/etc/ssh/*key* \
|
|
||||||
/etc/ssh/*_config \
|
|
||||||
/etc/X11/XF86Config-4 \
|
|
||||||
/boot/splash.bmp \
|
|
||||||
/boot/loader.conf \
|
|
||||||
/boot/device.hints ; do
|
|
||||||
cp -p ${f} ${DESTDIR}${f}
|
|
||||||
done
|
|
||||||
# Borre el temproot que haya creado mergemasger. Si lo ha creado.
|
|
||||||
TEMPROOT=/var/tmp/temproot.fase1
|
|
||||||
if test -d ${TEMPROOT}; then
|
|
||||||
chflags -R 0 ${TEMPROOT}
|
|
||||||
rm -rf ${TEMPROOT}
|
|
||||||
fi
|
|
||||||
mergemaster -i -m ${SRC}/etc -t ${TEMPROOT} -D ${DESTDIR}
|
|
||||||
cap_mkdb ${DESTDIR}/etc/login.conf
|
|
||||||
pwd_mkdb -d ${DESTDIR}/etc -p ${DESTDIR}/etc/master.passwd
|
|
||||||
|
|
||||||
# Mergemaster no crea ficheros vacíos por ejemplo en /var/log. Lo haremos
|
|
||||||
# aquí pero sin sobreescribir (y destruír) ficheros copiados en el bucle
|
|
||||||
# de más arriba.
|
|
||||||
cd ${TEMPROOT}
|
|
||||||
find . -type f | sed 's,^\./,,' |
|
|
||||||
while read f; do
|
|
||||||
if test -r ${DESTDIR}/${f}; then
|
|
||||||
echo "${DESTDIR}/${f} ya existe; no copiado"
|
|
||||||
else
|
|
||||||
echo "Creando ${DESTDIR}/${f} vacío"
|
|
||||||
cp -p ${f} ${DESTDIR}/${f}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
chflags -R 0 ${TEMPROOT}
|
|
||||||
rm -rf ${TEMPROOT}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Tercer Paso: Instalando el mundo (install world).
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_three () {
|
|
||||||
cd ${SRC}
|
|
||||||
make installworld DESTDIR=${DESTDIR}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Cuarto Paso: Instalación del kernel y los módulos.
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_four () {
|
|
||||||
cd ${SRC}
|
|
||||||
# loader.conf y device.hints son necesarios para installkernel.
|
|
||||||
# Si en el segundo paso no los ha copiado hágalo tal y como se muestra en
|
|
||||||
# las dos líneas siguientes.
|
|
||||||
# cp sys/boot/forth/loader.conf ${DESTDIR}/boot/defaults
|
|
||||||
# cp sys/i386/conf/GENERIC.hints ${DESTDIR}/boot/device.hints
|
|
||||||
make installkernel DESTDIR=${DESTDIR} KERNCONF=NOMBRE_DE_SU_KERNEL
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Quinto Paso: Instalación y modificación de algunos ficheros clave.
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_five () {
|
|
||||||
# Creamos /etc/fstab; obligatorio. Modifíquelo para que coincida con sus
|
|
||||||
# dispositivos.
|
|
||||||
cat <<EOF >${DESTDIR}/etc/fstab
|
|
||||||
# Device Mountpoint FStype Options Dump Pass#
|
|
||||||
/dev/da3s1b none swap sw 0 0
|
|
||||||
/dev/da4s2b none swap sw 0 0
|
|
||||||
/dev/da3s1a / ufs rw 1 1
|
|
||||||
/dev/da1s2a /src ufs rw 0 2
|
|
||||||
/dev/da2s2f /share ufs rw 0 2
|
|
||||||
/dev/vinum/var_a /var ufs rw 0 2
|
|
||||||
/dev/vinum/usr_a /usr ufs rw 0 2
|
|
||||||
/dev/vinum/home /home ufs rw 0 2
|
|
||||||
/dev/vinum/ncvs /home/ncvs ufs rw,noatime 0 2
|
|
||||||
/dev/vinum/ports /usr/ports ufs rw,noatime 0 2
|
|
||||||
#
|
|
||||||
/dev/cd0 /dvd cd9660 ro,noauto 0 0
|
|
||||||
/dev/cd1 /cdrom cd9660 ro,noauto 0 0
|
|
||||||
proc /proc procfs rw 0 0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Más directorios; opcional.
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/src; chown root:wheel ${DESTDIR}/src
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/share; chown root:wheel ${DESTDIR}/share
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/dvd; chown root:wheel ${DESTDIR}/dvd
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/home; chown root:wheel ${DESTDIR}/home
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/usr/ports; chown root:wheel ${DESTDIR}/usr/ports
|
|
||||||
# Configuración de la zona horaria; no es obligatorio pero casi.
|
|
||||||
cp ${DESTDIR}/usr/share/zoneinfo/Antarctica/South_Pole ${DESTDIR}/etc/localtime
|
|
||||||
if test -r /etc/wall_cmos_clock; then
|
|
||||||
cp -p /etc/wall_cmos_clock ${DESTDIR}/etc/wall_cmos_clock
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# Sexto Paso: Lo que considero importante tener cuando accedo a un sistema
|
|
||||||
# nuevo por primera vez.
|
|
||||||
# NOTA: No instale demasiados binarios en éste paso. Con el sistema viejo
|
|
||||||
# en funcionamiento y los nuevos binarios y ficheros de cabecera instalados
|
|
||||||
# es casi seguro tener problemas de bootstrap. Los "ports" deberían compilarse
|
|
||||||
# después de haber arrancado el nuevo sistema.
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_six () {
|
|
||||||
chroot ${DESTDIR} sh -c "cd /usr/ports/shells/zsh; make clean install clean"
|
|
||||||
chroot ${DESTDIR} sh -c "cd /etc/mail; make install" # configuración
|
|
||||||
# de sendmail
|
|
||||||
|
|
||||||
# Si no enlazamos simbólicamente compat los ficheros de linux_base
|
|
||||||
# irán a parar al sistema de ficheros raíz.
|
|
||||||
cd ${DESTDIR}; mkdir -m 755 usr/compat
|
|
||||||
chown root:wheel usr/compat; ln -s usr/compat
|
|
||||||
mkdir -m 755 usr/compat/linux
|
|
||||||
mkdir -m 755 boot/grub
|
|
||||||
|
|
||||||
# Creación de los directorios "spool" para las impresoras que hay en
|
|
||||||
# mi /etc/printcap
|
|
||||||
cd ${DESTDIR}/var/spool/output/lpd; mkdir -p as od ev te lp da
|
|
||||||
touch ${DESTDIR}/var/log/lpd-errs
|
|
||||||
|
|
||||||
# Más ficheros que quiero heredar del sistema antíguo.
|
|
||||||
for f in \
|
|
||||||
/var/cron/tabs/root \
|
|
||||||
/var/mail/* \
|
|
||||||
/boot/grub/*; do
|
|
||||||
cp -p ${f} ${DESTDIR}${f}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Si no tiene /home en una partición compartida es un buen momento para
|
|
||||||
# copiarlo al sitio correcto.
|
|
||||||
# mkdir -p ${DESTDIR}/home
|
|
||||||
# cd /home; tar cf - . | (cd ${DESTDIR}/home; tar xpvf -)
|
|
||||||
|
|
||||||
# Como novedad en FreeBSD 5.x perl está en /usr/local/bin pero la
|
|
||||||
# mayoría de "scripts" esperan encontrarlo en /usr/bin/perl y así lo
|
|
||||||
# reflejan en su primera línea; use un enlace simbólico para que funcionen.
|
|
||||||
cd ${DESTDIR}/usr/bin; ln -s ../local/bin/perl
|
|
||||||
cd ${DESTDIR}/usr; rmdir src; ln -s ../src/current src
|
|
||||||
}
|
|
||||||
|
|
||||||
do_steps () {
|
|
||||||
step_one
|
|
||||||
step_two
|
|
||||||
step_three
|
|
||||||
step_four
|
|
||||||
step_five
|
|
||||||
step_six
|
|
||||||
}
|
|
||||||
|
|
||||||
do_steps 2>&1 | tee fase_1.log
|
|
||||||
|
|
||||||
# EOF $RCSfile: fase_1.sh,v $ vim: tabstop=2:expandtab:
|
|
|
@ -1,148 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# fase_2.sh - FreeBSD From Scratch, Segunda Fase: Instalación de Ports.
|
|
||||||
# Uso: ./fase_2.sh
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
|
|
||||||
DBDIR=/var/db/pkg
|
|
||||||
PORTS=/usr/ports
|
|
||||||
LOGDIR=/home/root/setup/ports.log; mkdir -p ${LOGDIR}
|
|
||||||
|
|
||||||
# Creamos unas cuantas variables que usa más de un port.
|
|
||||||
PAPERSIZE=a4; export PAPERSIZE
|
|
||||||
USA_RESIDENT=NO; export USA_RESIDENT
|
|
||||||
|
|
||||||
MYNAME=$(basename $0)
|
|
||||||
usage () {
|
|
||||||
exec >&2
|
|
||||||
echo "uso: ${MYNAME} [-hn]"
|
|
||||||
echo ""
|
|
||||||
echo " Opciones:"
|
|
||||||
echo " -h éste mensaje de ayuda."
|
|
||||||
echo " -n muestra qué pasaría si se hubiera ejecutado."
|
|
||||||
echo ""
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
args=`getopt hn $*`
|
|
||||||
if test $? != 0; then
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
set -- $args
|
|
||||||
DRYRUN=
|
|
||||||
for i; do
|
|
||||||
case "$i" in
|
|
||||||
-n) DRYRUN=yes;;
|
|
||||||
--) break;;
|
|
||||||
*) usage;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
cat << EOF |
|
|
||||||
lang perl5
|
|
||||||
security sudo
|
|
||||||
x11-servers XFree86-4-Server
|
|
||||||
x11 wrapper
|
|
||||||
x11 XFree86-4-libraries
|
|
||||||
x11 XFree86-4-clients
|
|
||||||
x11-fonts XFree86-4-font75dpi
|
|
||||||
x11-fonts XFree86-4-font100dpi
|
|
||||||
x11-fonts XFree86-4-fontScalable
|
|
||||||
x11-fonts urwfonts
|
|
||||||
x11-fonts webfonts
|
|
||||||
x11-toolkits open-motif
|
|
||||||
x11 rxvt
|
|
||||||
x11-wm ctwm
|
|
||||||
security openssh-askpass
|
|
||||||
astro xplanet
|
|
||||||
astro setiathome make BATCH=yes install
|
|
||||||
astro xephem
|
|
||||||
editors vim
|
|
||||||
print ghostscript-gnu make A4=yes BATCH=yes install
|
|
||||||
print a2ps-a4
|
|
||||||
print psutils-a4
|
|
||||||
print gv
|
|
||||||
print acroread5
|
|
||||||
print transfig
|
|
||||||
archivers zip
|
|
||||||
archivers unzip
|
|
||||||
java linux-sun-jdk13 yes | make install
|
|
||||||
java jdk13
|
|
||||||
www apache2
|
|
||||||
www weblint
|
|
||||||
www amaya
|
|
||||||
www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_CHATZILLA=yes install
|
|
||||||
www netscape48-navigator
|
|
||||||
www checkbot
|
|
||||||
www privoxy
|
|
||||||
graphics xfig
|
|
||||||
graphics xv
|
|
||||||
graphics fxtv
|
|
||||||
lang expect
|
|
||||||
news tin
|
|
||||||
net freebsd-uucp
|
|
||||||
net cvsup-without-gui
|
|
||||||
net pathchar make NO_CHECKSUM=yes install
|
|
||||||
ftp wget
|
|
||||||
ftp ncftp3
|
|
||||||
textproc ispell
|
|
||||||
german ispell-neu
|
|
||||||
german ispell-alt
|
|
||||||
textproc docproj make JADETEX=yes HAVE_MOTIF=yes install
|
|
||||||
sysutils samefile
|
|
||||||
sysutils pstree
|
|
||||||
sysutils mkisofs
|
|
||||||
sysutils cdrtools
|
|
||||||
sysutils grub
|
|
||||||
devel ddd
|
|
||||||
devel ctags
|
|
||||||
devel ElectricFence
|
|
||||||
mail procmail make BATCH=yes install
|
|
||||||
mail metamail
|
|
||||||
mail mutt
|
|
||||||
mail spamoracle
|
|
||||||
emulators mtools
|
|
||||||
sysutils portupgrade
|
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install
|
|
||||||
misc figlet-fonts
|
|
||||||
textproc gmat
|
|
||||||
EOF
|
|
||||||
while read CATEGORY NAME CMD; do
|
|
||||||
case "${CATEGORY}" in
|
|
||||||
\#*) continue;;
|
|
||||||
'') continue;;
|
|
||||||
esac
|
|
||||||
DIR="${PORTS}/${CATEGORY}/${NAME}"
|
|
||||||
if ! test -d "${DIR}"; then
|
|
||||||
echo "$DIR no existe -- ignorado"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
cd ${DIR}
|
|
||||||
PKGNAME=`make -V PKGNAME`
|
|
||||||
if test -d "${DBDIR}/${PKGNAME}"; then
|
|
||||||
echo "${CATEGORY}/${NAME} ya instalado como ${PKGNAME}"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG="${LOGDIR}/${CATEGORY}+${NAME}"
|
|
||||||
echo "==> Instalando ${CATEGORY}/${NAME}; registrando instalación en ${LOG}"
|
|
||||||
test -n "${CMD}" || CMD="make install"
|
|
||||||
if test -n "${DRYRUN}"; then
|
|
||||||
echo "${CMD}"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
date "++++++++++ %v %T +++++++++" > ${LOG}
|
|
||||||
echo "CMD: ${CMD}" >> ${LOG}
|
|
||||||
(
|
|
||||||
make clean
|
|
||||||
eval "${CMD}"
|
|
||||||
# make clean # Descoméntelo si no le sobra espacio bajo ${PORTS}.
|
|
||||||
) 2>&1 | tee -a ${LOG}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Instalamos StarOffice como "package", previamente creado en el sistema
|
|
||||||
# antíguo mediante "make package" porque el "port" usa una instalación
|
|
||||||
# interactiva en X11.
|
|
||||||
#pkg_add ${PORTS}/editors/staroffice52/staroffice-*.tbz
|
|
||||||
|
|
||||||
# EOF $RCSfile: fase_2.sh,v $ vim: tabstop=4:
|
|
|
@ -1,150 +0,0 @@
|
||||||
# fase_3.mk - FreeBSD From Scratch, Tercera Fase: Ajustes Personalizados
|
|
||||||
# de la Configuración de
|
|
||||||
# los Ports.
|
|
||||||
# Uso: make -f fase_3.mk all (configurar todos los ports)
|
|
||||||
# or make -f fase_3.mk target (configurar sólo target)
|
|
||||||
#
|
|
||||||
# Es una buena idea asegurarse de que ningún "target" pueda hacerse más de
|
|
||||||
# una vez sin efectos no deseados.
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
|
|
||||||
.POSIX:
|
|
||||||
|
|
||||||
message:
|
|
||||||
@echo "Por favor, use uno de los siguientes \"targets\":"
|
|
||||||
@echo "config_apache"
|
|
||||||
@echo "config_inn"
|
|
||||||
@echo "config_javaplugin"
|
|
||||||
@echo "config_privoxy"
|
|
||||||
@echo "config_setiathome"
|
|
||||||
@echo "config_sgml"
|
|
||||||
@echo "config_sudo"
|
|
||||||
@echo "config_TeX"
|
|
||||||
@echo "config_tin"
|
|
||||||
@echo "config_uucp"
|
|
||||||
@echo "all -- todos los anteriores"
|
|
||||||
|
|
||||||
all: config_apache \
|
|
||||||
config_inn \
|
|
||||||
config_javaplugin \
|
|
||||||
config_privoxy \
|
|
||||||
config_setiathome \
|
|
||||||
config_sgml \
|
|
||||||
config_sudo \
|
|
||||||
config_TeX \
|
|
||||||
config_tin \
|
|
||||||
config_uucp
|
|
||||||
|
|
||||||
config_apache:
|
|
||||||
# 1. Modificación httpd.conf.
|
|
||||||
perl -pi \
|
|
||||||
-e 's/#ServerName new.host.name/ServerName hal9000.s.shuttle.de/;' \
|
|
||||||
-e 's/^ServerAdmin.*/ServerAdmin schweikh\@schweikhardt.net/;' \
|
|
||||||
-e 's,/usr/local/www/cgi-bin/,/home/opt/www/cgi-bin/,;' \
|
|
||||||
/usr/local/etc/apache2/httpd.conf
|
|
||||||
# 2. Restituír los enlaces simbólicos a los sitios web.
|
|
||||||
cd /usr/local/www/data; \
|
|
||||||
ln -fs /home/schweikh/prj/homepage schweikhardt.net; \
|
|
||||||
ln -fs /home/opt/www/test .
|
|
||||||
|
|
||||||
config_inn:
|
|
||||||
pw usermod -n news -d /usr/local/news -s /bin/sh
|
|
||||||
# Facilitar al sistema de news su configuración inicial.
|
|
||||||
cd /home/root/setup; \
|
|
||||||
install -C -o news -g news -m 664 active newsgroups /usr/local/news/db
|
|
||||||
# El innd.sh que viene con el "port" falla: busca
|
|
||||||
# history.pag, fichero que no existe.
|
|
||||||
cd /home/root/setup; \
|
|
||||||
install -C -o root -g wheel -m 555 innd.sh /usr/local/etc/rc.d
|
|
||||||
# Configuración del método de almacenamiento.
|
|
||||||
cd /home/root/setup; \
|
|
||||||
printf "%s\n%s\n%s\n%s\n" \
|
|
||||||
"method tradspool {" \
|
|
||||||
" newsgroups: *" \
|
|
||||||
" class: 0" \
|
|
||||||
"}" \
|
|
||||||
>storage.conf; \
|
|
||||||
install -C -o news -g news -m 664 storage.conf /usr/local/news/etc
|
|
||||||
# Configuración de newsfeeds.
|
|
||||||
printf "%s\n%s\n" \
|
|
||||||
"ME:*::" \
|
|
||||||
"shuttle/news2.shuttle.de:!junk,!control:B32768/512,Tf,Wfb:" \
|
|
||||||
>/usr/local/news/etc/newsfeeds
|
|
||||||
# Configuración de inn.conf
|
|
||||||
perl -pi \
|
|
||||||
-e 's/^(organization:\s*).*/$$1 An Open Pod Bay Door/;' \
|
|
||||||
-e 's/^(pathhost:\s*).*/$$1 hal9000.schweikhardt.net/;' \
|
|
||||||
-e 's/^(server:).*/$$1 localhost/;' \
|
|
||||||
-e 's/^(domain:).*/$$1 schweikhardt.net/;' \
|
|
||||||
-e 's/^(fromhost:).*/$$1 schweikhardt.net/;' \
|
|
||||||
-e 's,^(moderatormailer:).*,$$1 \%s\@moderators.isc.org,;' \
|
|
||||||
-e 's,/usr/local/news/spool,/share/news/spool,;' \
|
|
||||||
/usr/local/news/etc/inn.conf
|
|
||||||
|
|
||||||
config_javaplugin:
|
|
||||||
cd /usr/local/lib/netscape-linux/plugins; \
|
|
||||||
if ! test -h javaplugin.so; then \
|
|
||||||
ln -s ../../../linux-sun-jdk1.3.1/jre/plugin/i386/ns4/javaplugin.so; \
|
|
||||||
fi; \
|
|
||||||
ls -l javaplugin.so
|
|
||||||
|
|
||||||
config_privoxy:
|
|
||||||
install -C -o root -g wheel -m 644 config /usr/local/etc/privoxy
|
|
||||||
|
|
||||||
config_setiathome:
|
|
||||||
perl -pi \
|
|
||||||
-e 's,^.*seti_wrkdir.*#,seti_wrkdir=/home/nobody/setiathome #,;' \
|
|
||||||
/usr/local/etc/rc.setiathome.conf
|
|
||||||
|
|
||||||
config_sgml:
|
|
||||||
cp -p /usr/local/share/gmat/sgml/ISO_8879-1986/entities/* \
|
|
||||||
/usr/local/share/xml/docbook/4.1
|
|
||||||
|
|
||||||
config_sudo:
|
|
||||||
if ! grep -q schweikh /usr/local/etc/sudoers; then \
|
|
||||||
echo 'schweikh ALL = (ALL) NOPASSWD: ALL' >> /usr/local/etc/sudoers; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_TeX:
|
|
||||||
# En el fichero textproc/docproj se especifica: para generar el FreeBSD
|
|
||||||
# Handbook con JadeTex cambie los siguientes parámetros a los valores que se
|
|
||||||
# indican a continuación:
|
|
||||||
#
|
|
||||||
perl -pi \
|
|
||||||
-e 's/^% original texmf.cnf/% texmf.cnf/;' \
|
|
||||||
-e 's/^(hash_extra\s*=).*/$$1 60000/;' \
|
|
||||||
-e 's/^(pool_size\s*=).*/$$1 1000000/;' \
|
|
||||||
-e 's/^(max_strings\s*=).*/$$1 70000/;' \
|
|
||||||
-e 's/^(save_size\s*=).*/$$1 10000/;' \
|
|
||||||
/usr/local/share/texmf/web2c/texmf.cnf
|
|
||||||
|
|
||||||
config_tin:
|
|
||||||
# Dirigimos tin a nuestros archivos.
|
|
||||||
printf "%s\n%s\n%s\n" \
|
|
||||||
"activefile=/usr/local/news/db/active" \
|
|
||||||
"newsgroupsfile=/usr/local/news/db/newsgroups" \
|
|
||||||
"spooldir=/share/news/spool/articles" \
|
|
||||||
>/usr/local/etc/tin.defaults
|
|
||||||
|
|
||||||
config_uucp:
|
|
||||||
# UUCP cuenta con encontrar /usr/bin/rnews.
|
|
||||||
cd /usr/bin; ln -fs ../local/news/bin/rnews .
|
|
||||||
# Configuración de UUCP.
|
|
||||||
echo nodename js2015 > /usr/local/etc/uucp/config
|
|
||||||
echo shuttle js2015 `cat uucp` > /usr/local/etc/uucp/call
|
|
||||||
printf 'port tcp\ntype tcp\n' > /usr/local/etc/uucp/port
|
|
||||||
printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n" \
|
|
||||||
"call-login *" \
|
|
||||||
"call-password *" \
|
|
||||||
"time any" \
|
|
||||||
"system shuttle" \
|
|
||||||
"address mail.s.shuttle.de" \
|
|
||||||
"commands rmail rnews" \
|
|
||||||
"port tcp" \
|
|
||||||
>/usr/local/etc/uucp/sys
|
|
||||||
cd /usr/local/etc/uucp; chown uucp:uucp *; chmod o-rwx *
|
|
||||||
# Activar uucico tras el arranque del sistema.
|
|
||||||
mkdir -p /usr/local/etc/rc.d; cp uucp.sh /usr/local/etc/rc.d
|
|
||||||
|
|
||||||
# EOF $RCSfile: fase_3.mk,v $ vim: tabstop=4:
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Article about using FreeBSD on laptops
|
|
||||||
# "Article" sobre FreeBSD en computadoras portátiles.
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
#
|
|
||||||
WITH_ARTICLE_TOC?=YES
|
|
||||||
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,360 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="es">
|
|
||||||
<info><title>FreeBSD en ordenadores portátiles</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>FreeBSD funciona perfectamente en la mayoría de
|
|
||||||
portátiles aunque siempre haya excepciones. En éste
|
|
||||||
artículo trataremos de las diferencias existentes
|
|
||||||
en el hardware de portátiles
|
|
||||||
y sistemas de escritorio y de cómo afecta esto al uso
|
|
||||||
de FreeBSD.</para>
|
|
||||||
&trans.es.bazcar;
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>Es frecuente que se piense en FreeBSD como un sistema operativo
|
|
||||||
para servidores pero funciona muy bien como sistema de escritorio y
|
|
||||||
si quiere usarlo en su portátil dispondrá de todo su
|
|
||||||
potencial:
|
|
||||||
facilidad de administración y actualización, el
|
|
||||||
sistema de <quote>ports</quote> y <quote>packages</quote> para
|
|
||||||
añadir software, etc. Otras de sus características
|
|
||||||
más interesantes, como la estabilidad, el rendimiento en
|
|
||||||
red y bajo grandes cargas de trabajo pueden, por razones obvias,
|
|
||||||
no ser tan evidentes en un sistema portátil. La
|
|
||||||
instalación en portátiles puede, sin embargo,
|
|
||||||
acarrear problemas que no encontraríamos en sistemas de
|
|
||||||
escritorio y cuyas soluciones no podemos encontrar por doquier
|
|
||||||
a lo largo y ancho de Internet; los equipos portátiles suelen
|
|
||||||
estar diseñados para Microsoft Windows, aún con más
|
|
||||||
frecuencia que en sistemas de escritorio. Éste artículo
|
|
||||||
tratará de aclarar alguno de estos problemas. Hay quien ha
|
|
||||||
documentado sus experiencias con &os; en modelos concretos de
|
|
||||||
portátiles y las ha incluído en páginas web
|
|
||||||
que no forman parte de la documentación oficial de &os;.
|
|
||||||
Es muy posible que encuentre información si introduce la
|
|
||||||
marca y modelo de su portátil y la palabra <quote>&os;</quote>
|
|
||||||
en un buscador.</para>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>XFree86</title>
|
|
||||||
|
|
||||||
<para>Las versiones recientes de <application>XFree86</application>
|
|
||||||
funcionarán con la mayoría de tarjetas gráficas
|
|
||||||
disponibles actualmente en portátiles. La aceleración
|
|
||||||
gráfica tal vez no esté soportada pero una
|
|
||||||
configuración SVGA genérica debería
|
|
||||||
funcionar.</para>
|
|
||||||
|
|
||||||
<para>Consulte la documentación de su portátil.
|
|
||||||
Ahí deberí encontrar todos los detalles de su tarjeta,
|
|
||||||
tras lo cual debería recurrir a la
|
|
||||||
documentación de <application>XFree86</application>
|
|
||||||
(o el programa de configuración) para saber si está
|
|
||||||
soportada o no. Si no lo está utilice un dispositivo
|
|
||||||
genérico pero <emphasis>NO</emphasis> use uno cuyo
|
|
||||||
nombre simplemente le resulte parecido. En la versión 4 de
|
|
||||||
<application>XFree86</application> puede probar suerte tecleando
|
|
||||||
<userinput>XFree86 -configure</userinput>, que ejecuta un proceso de
|
|
||||||
autodetección y le puede facilitar una gran cantidad de
|
|
||||||
información muy útil.</para>
|
|
||||||
|
|
||||||
<para>Con frecuencia el problema es la configuración del
|
|
||||||
monitor. La información sobre
|
|
||||||
<application>XFree86</application>
|
|
||||||
se centra en monitores CRT, por lo que disponer de una
|
|
||||||
configuración para una pantalla LCD puede ser
|
|
||||||
peliagudo. Quizás esté de suerte y no
|
|
||||||
tenga que especificar rangos de
|
|
||||||
<literal>HorizSync</literal> y <literal>VertRefresh</literal>.
|
|
||||||
Si esto no funciona la mejor opción es recurrir a la web
|
|
||||||
en busca de páginas dedicadas a la configuración de X
|
|
||||||
en portátiles; suelen estar orientadas a Linux pero no importa
|
|
||||||
dado que ambos sistemas operativos usan
|
|
||||||
<application>XFree86</application>, por lo que puede usar la
|
|
||||||
configuración que alguien haya usado sobre un hardware
|
|
||||||
similar.</para>
|
|
||||||
|
|
||||||
<para>La mayoría de portátiles incluyen dos
|
|
||||||
botones para las funciones de botón primario y
|
|
||||||
secundario del ratón (mouse), lo que puede resultar
|
|
||||||
problemático en X ya que el botón central se
|
|
||||||
usa para pegar texto; puede <quote>mapear</quote> una
|
|
||||||
pulsación simultánea de ambos botones en la
|
|
||||||
configuración de X que realice la función del
|
|
||||||
botón central con la línea</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
Option "Emulate3Buttons"
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>en el fichero <filename>XF86Config</filename>
|
|
||||||
en la sección <literal>InputDevice</literal>
|
|
||||||
de <application>XFree86</application> versión 4; para la
|
|
||||||
versión 3 simplemente añada la línea
|
|
||||||
<literal>Emulate3Buttons</literal>, sin comillas, en la sección
|
|
||||||
<literal>Pointer</literal> .</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>Modems</title>
|
|
||||||
<para>
|
|
||||||
Los equipos portátiles suelen incluír
|
|
||||||
modems internos. Desgraciadamente eso casi siempre significa
|
|
||||||
que son <quote>winmodems</quote> cuyo funcionamiento depende
|
|
||||||
de software y para los cuales sólo hay disponibles
|
|
||||||
controladores para windows. A pesar de ello están
|
|
||||||
empezando a aparecer controladores para otros sistemas
|
|
||||||
operativos; por ejemplo, si su modem tiene un chipset
|
|
||||||
Lucent LT es muy posible que esté soportado por
|
|
||||||
el port
|
|
||||||
<package>comms/ltmdm</package>. Si ese no
|
|
||||||
es su caso tendrá que buscar un modem externo: la
|
|
||||||
solución más compacta probablemente sea un
|
|
||||||
modem PC Card (PCMCIA), de los que hablaremos más
|
|
||||||
adelante, pero
|
|
||||||
los modem serie o USB serán seguramente más
|
|
||||||
baratos. Normalmente
|
|
||||||
los modems normales (es decir, los que no son winmodems),
|
|
||||||
deberían funcionar sin problemas.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>Dispositivos PCMCIA (PC Card)</title>
|
|
||||||
|
|
||||||
<para> Muchos portátiles incluyen bahías
|
|
||||||
PCMCIA, también conocidas como PC Card, que suelen
|
|
||||||
estar soportadas perfectamente por FreeBSD. Consulte el
|
|
||||||
mensaje de arranque de su sistema (mediante &man.dmesg.8;)
|
|
||||||
para saber si fueron detectadas correctamente; deberían
|
|
||||||
figurar como
|
|
||||||
<filename>pccard0</filename>,
|
|
||||||
<filename>pccard1</filename> etc. en dispositivos como
|
|
||||||
<filename>pcic0</filename>).</para>
|
|
||||||
|
|
||||||
<para>&os; 4.X soporta tarjetas PCMCIA de 16 bits y
|
|
||||||
&os; 5.X soporta tanto éstas tarjetas de 16 bits
|
|
||||||
como tarjetas de 32 bits
|
|
||||||
<quote>CardBus</quote>. Hay una lista de tarjetas soportadas en
|
|
||||||
el fichero
|
|
||||||
<filename>/etc/defaults/pccard.conf</filename>. Léalo
|
|
||||||
cuidadosamente y siempre que sea posible compre tarjetas que
|
|
||||||
aparezcan en ese fichero. Las que no aparecen es posible que funcionen
|
|
||||||
como dispositivos <quote>genéricos</quote>; en concreto
|
|
||||||
la mayoría de los modem de 16 bits deberían funcionar
|
|
||||||
correctamente siempre y cuando no sean winmodems (existen
|
|
||||||
también como PC Cards, así que tenga cuidado). Si su
|
|
||||||
sistema reconoce su tarjeta como un modem genérico tenga en
|
|
||||||
cuenta que el fichero <filename>pccard.conf</filename> especifica
|
|
||||||
por defecto un retardo de 10 segundos para evitar bloqueos en algunos
|
|
||||||
modelos; eso puede ser una precaución excesiva para su
|
|
||||||
modem así que es posible que quiera cambiar ese valor,
|
|
||||||
reducirlo o incluso eliminarlo.</para>
|
|
||||||
|
|
||||||
<para>Algunas partes de
|
|
||||||
<filename>pccard.conf</filename> pueden necesitar un poco de
|
|
||||||
edición.
|
|
||||||
Busque la línea donde figura la irq y asegúrese de
|
|
||||||
eliminar cualquier número que esté en uso; si tiene
|
|
||||||
una tarjeta de sonido integrada borre irq 5, si no puede sufrir
|
|
||||||
bloqueos del sistema al insertar la tarjeta. Consulte también
|
|
||||||
la memoria disponible para las bahías; si su tarjeta sigue sin ser
|
|
||||||
detectada pruebe a cambiar alguno de los valores posibles que
|
|
||||||
aparecen en la página man de &man.pccardc.8;.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>Si aún no funciona puede lanzar el daemon
|
|
||||||
&man.pccardd.8;. Para activarlo en el arranque añada
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting> en el
|
|
||||||
fichero
|
|
||||||
<filename>/etc/rc.conf</filename>. Tras ese paso sus tarjetas
|
|
||||||
deberían ser detectadas cuando las inserte y cuando las
|
|
||||||
extraiga; deberían asímismo aparecer entradas en
|
|
||||||
ficheros <quote>log</quote> reflejando el momento en el que
|
|
||||||
los nuevos dispositivos son activados.</para>
|
|
||||||
|
|
||||||
<para>Ha habido cambios de gran calado en el código
|
|
||||||
de pccard, como la inclusión de enrutado de
|
|
||||||
interrupciones ISA, muy útil en máquinas en
|
|
||||||
las que hasta la irrupción de FreeBSD 4.4 no
|
|
||||||
era posible usar la BIOS PCI. Si tiene problemas con
|
|
||||||
esto pruebe a actualizar su sistema.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
|
|
||||||
<title>Administración de energía</title>
|
|
||||||
|
|
||||||
<para>Desgraciadamente no existe un soporte demasiado bueno
|
|
||||||
en FreeBSD. Si tiene suerte algunas características
|
|
||||||
pueden ser funcionales mientras que otras no lo serán
|
|
||||||
en absoluto.</para>
|
|
||||||
|
|
||||||
<para>Para complicar un poco más las cosas hay dos
|
|
||||||
estándares de administración de energía,
|
|
||||||
APM y ACPI. El segundo se hizo para sustituír el primero
|
|
||||||
e incluye nuevas características pero también
|
|
||||||
más problemas.</para>
|
|
||||||
|
|
||||||
<para>Algunos portátiles soportan tanto APM como ACPI
|
|
||||||
(hasta cierto punto) mientras que otros sólo soportan uno de
|
|
||||||
ellos así que no tendrá más remedio que
|
|
||||||
experimentar con ambos para saber si dispone de administración
|
|
||||||
de energía y hasta qué punto.</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>No puede tener APM y ACPI activados simultáneamente,
|
|
||||||
aunque su portátil soporte ambos.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>APM</title>
|
|
||||||
|
|
||||||
<para>Una BIOS con APM (Advanced Power Management,
|
|
||||||
Administración
|
|
||||||
Avanzada de Energía) provée de soporte
|
|
||||||
para diversas características de administración de
|
|
||||||
energía tales como <quote>standby</quote>, suspensión,
|
|
||||||
hibernación, reducción de la velocidad del
|
|
||||||
reloj de la CPU, etc. y existe tanto en
|
|
||||||
&os; 4.X como en &os; 5.X.</para>
|
|
||||||
|
|
||||||
<para>Para activar el soporte de APM deberá compilar
|
|
||||||
su kernel: añada
|
|
||||||
<literal>device apm0</literal> en
|
|
||||||
&os; 4.X y <literal>device apm</literal> en
|
|
||||||
&os; 5.X. El soporte APM como módulo existe en
|
|
||||||
&os; 5.X; para cargarlo en el arranque añada
|
|
||||||
la línea
|
|
||||||
<literal>apm_load="YES"</literal> al fichero
|
|
||||||
<filename>/boot/loader.conf</filename>.</para>
|
|
||||||
|
|
||||||
<para>En &os; 5.X tendrá que asignar
|
|
||||||
<literal>hint.apm.0.disabled="0"</literal> en el fichero
|
|
||||||
<filename>/boot/device.hints</filename>.</para>
|
|
||||||
|
|
||||||
<para>APM puede activarse en el arranque añadiendo
|
|
||||||
<literal>apm_enable="YES"</literal> en el fichero
|
|
||||||
<filename>/etc/rc.conf</filename>. El daemon &man.apmd.8;
|
|
||||||
se puede lanzar añadiendo
|
|
||||||
<literal>apmd_enable="YES"</literal> al fichero
|
|
||||||
<filename>/etc/rc.conf</filename>, que se encarga de transmitir
|
|
||||||
ciertos eventos a la BIOS, de manera que sea posible
|
|
||||||
suspender/reanudar presionando alguna tecla concreta o
|
|
||||||
al abrir y al cerrar la pantalla.</para>
|
|
||||||
|
|
||||||
<para>Los comandos APM figuran en la página man de
|
|
||||||
&man.apm.8;. Por ejemplo <command>apm -b</command> suministra
|
|
||||||
el estado de la batería (o 255 si no está soportado),
|
|
||||||
<command>apm -Z</command> pone el portátil en
|
|
||||||
<quote>standby</quote>, <command>apm -z</command>
|
|
||||||
(o <command>zzz</command>) lo suspende. Para apagar el
|
|
||||||
sistema use <command>shutdown -p</command>. Le recordamos
|
|
||||||
una vez más que alguna o incluso todas éstas
|
|
||||||
funciones pueden no funcionar del todo bien o incluso no hacerlo
|
|
||||||
en absoluto.</para>
|
|
||||||
|
|
||||||
<para>Es posible que la suspensión o
|
|
||||||
el modo <quote>standby</quote> funcione en consola pero
|
|
||||||
no en X (esto es, la pantalla no se recupera). Si usa
|
|
||||||
&os; 5.X una posible solución es añadir
|
|
||||||
<literal>options
|
|
||||||
SC_NO_SUSPEND_VTYSWITCH</literal>
|
|
||||||
al fichero de configuración de su kernel y que lo
|
|
||||||
recompile. Otra forma de solucionarlo es cambiar a otra
|
|
||||||
consola virtual (mediante
|
|
||||||
<keycombo action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
|
|
||||||
u otra tecla de función) y ejecutar &man.apm.8;.
|
|
||||||
Si está usando &man.apmd.8; puede automatizar
|
|
||||||
esto con &man.vidcontrol.1;: edite
|
|
||||||
<filename>/etc/apmd.conf</filename> y cámbielo del
|
|
||||||
siguiente modo:</para>
|
|
||||||
|
|
||||||
<programlisting>apm_event SUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "/etc/rc.suspend";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event USERSUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "sync && sync && sync";
|
|
||||||
exec "sleep 1";
|
|
||||||
exec "apm -z";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event NORMRESUME, STANDBYRESUME {
|
|
||||||
exec "/etc/rc.resume";
|
|
||||||
exec "vidcontrol -s 9 < /dev/console";
|
|
||||||
}</programlisting>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>ACPI</title>
|
|
||||||
|
|
||||||
<para>ACPI (Advanced Configuration and Power Management
|
|
||||||
Interface, Interfaz para la Administración de Energía
|
|
||||||
y Configuración Avanzada) facilita no solo la
|
|
||||||
administración de energía sino también
|
|
||||||
la detección de hardware (sustituyendo la detección
|
|
||||||
PnP y PCI). ACPI sólo está disponible en
|
|
||||||
&os; 5.X y está activado por defecto, así que
|
|
||||||
no tiene que hacer nada especial para que funcione. Puede
|
|
||||||
controlar el comportamiento de ACPI con
|
|
||||||
&man.acpiconf.8;.</para>
|
|
||||||
|
|
||||||
<para>Desgraciadamente los fabricantes ponen a la venta sus
|
|
||||||
portátiles con implementaciones ACPI defectuosas,
|
|
||||||
haciendo que habilitar ACPI algunas veces genere más
|
|
||||||
problemas que ventajas, hasta el punto de no poder siquiera
|
|
||||||
arrancar &os; en algunas máquinas con ACPI
|
|
||||||
habilitado.</para>
|
|
||||||
|
|
||||||
|
|
||||||
<para>Si ACPI le está causando problemas debería
|
|
||||||
comprobar si el fabricante de su portátil ha
|
|
||||||
liberado una nueva versión de la BIOS que solucione
|
|
||||||
alguno de esos problemas. Dado que la implementación de
|
|
||||||
ACPI en &os; está en constante evolución debería
|
|
||||||
también actualizar su sistema; tal vez así sus
|
|
||||||
problemas se solucionen.</para>
|
|
||||||
|
|
||||||
<para>Si desea deshabilitar ACPI añada
|
|
||||||
<literal>hint.acpi.0.disabled="1"</literal> al fichero
|
|
||||||
<filename>/boot/device.hints</filename>. ACPI puede
|
|
||||||
deshabilitarse temporalmente en el <quote>prompt</quote>
|
|
||||||
del arranque tecleando
|
|
||||||
<literal>unset acpi_load</literal> en caso de tener problemas
|
|
||||||
para arrancar una máquina con ACPI
|
|
||||||
habilitado. &os; 5.1-RELEASE y posteriores disponen de
|
|
||||||
un menú en el arranque que controla cómo &os;
|
|
||||||
arranca. Una de las opciones que se suministran es la de
|
|
||||||
dehabilitar ACPI. Para hacerlo simplemente seleccione
|
|
||||||
<guimenuitem>2. Boot &os; with ACPI
|
|
||||||
disabled</guimenuitem> (Arrancar &os; con ACPI deshabilitado)
|
|
||||||
en el menú.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Administración de Energía de la Pantalla</title>
|
|
||||||
|
|
||||||
<para>El sistema X window (<application>XFree86</application>) incluye
|
|
||||||
administración de energía de la pantalla (consulte
|
|
||||||
la página man de &man.xset.1; y busque en ella
|
|
||||||
<quote>dpms</quote>). Tendrá que investigar. Sin embargo
|
|
||||||
tenga en cuenta que también esto funciona de manera muy poco
|
|
||||||
fiable en portátiles: con frecuencia apaga la pantalla pero
|
|
||||||
no apaga la retroiluminación.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -15,7 +15,6 @@ SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= filtering-bridges
|
SUBDIR+= filtering-bridges
|
||||||
SUBDIR+= fonts
|
SUBDIR+= fonts
|
||||||
SUBDIR+= ipsec-must
|
SUBDIR+= ipsec-must
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-users
|
SUBDIR+= linux-users
|
||||||
SUBDIR+= mh
|
SUBDIR+= mh
|
||||||
SUBDIR+= nanobsd
|
SUBDIR+= nanobsd
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# The FreeBSD Documentation Project
|
|
||||||
# The FreeBSD French Documentation Project
|
|
||||||
#
|
|
||||||
# $Id: Makefile,v 1.1 2002-04-20 21:07:09 gioria Exp $
|
|
||||||
# $FreeBSD$
|
|
||||||
# Original revision: 1.1
|
|
||||||
# Article about using FreeBSD on laptops
|
|
||||||
#
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,222 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<!--
|
|
||||||
The FreeBSD Documentation Project
|
|
||||||
The FreeBSD French Documentation Project
|
|
||||||
|
|
||||||
$FreeBSD$
|
|
||||||
$Id: article.xml,v 1.2 2002-09-22 18:49:48 blackend Exp $
|
|
||||||
Original revision: 1.5
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="fr">
|
|
||||||
<info><title>FreeBSD sur les ordinateurs portables</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>FreeBSD fonctionne bien sur la plupart des ordinateurs
|
|
||||||
portables, en tenant compte de quelques avertissements. Quelques
|
|
||||||
problèmes spécifiques à l'utilisation de
|
|
||||||
FreeBSD sur ordinateurs portables, provenant d'exigences
|
|
||||||
matérielles différentes de celles des stations de
|
|
||||||
travail, sont abordés ci-dessous.</para>
|
|
||||||
|
|
||||||
&trans.a.fonvieille;
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>On pense souvent à FreeBSD comme étant un système
|
|
||||||
d'exploitation pour serveur, mais il fonctionne très bien sur
|
|
||||||
une station de travail, et si vous désirez l'utiliser sur votre
|
|
||||||
ordinateur portable vous pouvez profiter de tous les avantages
|
|
||||||
habituels: implantation systématique, administration et mise à
|
|
||||||
jour aisées, le système de logiciels
|
|
||||||
portés/pré-compilés pour
|
|
||||||
ajouter des logiciels, et ainsi de suite (ses autres avantages,
|
|
||||||
tels que la stabilité, les performances réseau, la
|
|
||||||
performance sous une charge importante, cela ne peut ne pas
|
|
||||||
être évident sur un portable, bien sûr).
|
|
||||||
Cependant, l'installer sur des ordinateurs portables sous-entend
|
|
||||||
souvent des problèmes qui ne sont pas rencontrés
|
|
||||||
avec les stations de travail et qui ne sont
|
|
||||||
généralement pas débattus (les portables,
|
|
||||||
bien plus que les stations de travail, sont réglés
|
|
||||||
pour Microsoft Windows). Cet article a pour but de discuter de
|
|
||||||
certains de ces problèmes.</para>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>XFree86</title>
|
|
||||||
|
|
||||||
<para>Les versions récentes d'XFree86 fonctionnent avec la
|
|
||||||
plupart des systèmes d'affichage disponibles de nos jours
|
|
||||||
sur les ordinateurs portables. L'accélération peut
|
|
||||||
ne pas être supportée, mais une
|
|
||||||
configuration SVGA générique devrait fonctionner.</para>
|
|
||||||
|
|
||||||
<para>Avec la documentation de votre ordinateur portable
|
|
||||||
déterminez quelle carte vous disposez, et vérifiez
|
|
||||||
dans la documentation d'XFree86 (ou dans le programme de
|
|
||||||
configuration) si elle est spécifiquement supportée.
|
|
||||||
Si non, utilisez un pilote générique (ne pas en
|
|
||||||
utiliser un pour son nom qui semble similaire à celui de
|
|
||||||
la carte). Avec XFree86 version 4, vous
|
|
||||||
pouvez tenter votre chance avec la commande <userinput>XFree86
|
|
||||||
-configure</userinput> qui détecte automatiquement beaucoup
|
|
||||||
de configurations.</para>
|
|
||||||
|
|
||||||
<para>Souvent le problème est de configurer l'écran.
|
|
||||||
Les ressources générales pour XFree86 se concentrent
|
|
||||||
sur les moniteurs cathodiques; obtenir une modeline
|
|
||||||
adéquate pour un écran LCD peut s'avérer
|
|
||||||
difficile. Vous pouvez être chanceux et ne pas avoir
|
|
||||||
à spécifier de modeline, ou juste préciser
|
|
||||||
les plages HorizSync et VertRefresh qui conviennent. Si cela ne
|
|
||||||
fonctionne pas, la meilleure option est de se référer
|
|
||||||
aux ressources web consacrées à la configuration d'X
|
|
||||||
sur ordinateurs portables (ce sont souvent des sites
|
|
||||||
orientés linux mais cela n'a pas d'importance parce que les
|
|
||||||
deux systèmes utilisent XFree86) et copier une modeline
|
|
||||||
postée par quelqu'un pour un matériel similaire.</para>
|
|
||||||
|
|
||||||
<para>La plupart des ordinateurs portables viennent avec deux
|
|
||||||
boutons sur leur périphérique de pointage, ce qui
|
|
||||||
est assez problématique sous X (étant donné
|
|
||||||
que le bouton du milieu est généralement
|
|
||||||
utilisé pour coller du texte); vous pouvez faire
|
|
||||||
correspondre un click simultané sur les boutons gauche et
|
|
||||||
droite dans votre configuration d'X à un click sur le bouton
|
|
||||||
du milieu avec la ligne
|
|
||||||
<programlisting>
|
|
||||||
Option "Emulate3Buttons"
|
|
||||||
</programlisting>
|
|
||||||
dans le fichier XF86Config dans la section
|
|
||||||
<literal>InputDevice</literal> (pour XFree86 version 4; pour la
|
|
||||||
version 3, rajoutez juste la ligne <literal>Emulate3Buttons</literal>,
|
|
||||||
sans guillemets, dans la section <literal>Pointer</literal>).
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>Modems</title>
|
|
||||||
<para>Les ordinateurs portables sont généralement
|
|
||||||
équipés de modems intégrés (on-board).
|
|
||||||
Malheureusement, cela veut presque toujours dire que ce sont des
|
|
||||||
<quote>winmodems</quote> dont les fonctions sont
|
|
||||||
réalisées par logiciel, pour lesquels seuls des
|
|
||||||
pilotes pour windows sont normalement disponibles (bien que
|
|
||||||
quelques pilotes pour d'autres systèmes commencent à
|
|
||||||
voir le jour). Dans le cas contraire, vous avez besoin d'acheter un
|
|
||||||
modem externe: la solution la plus compacte est un modem PC-Card
|
|
||||||
(PCMCIA), abordé ci-dessous, mais un modem série ou
|
|
||||||
USB peut être moins cher. Généralement les
|
|
||||||
modems habituels (non-winmodems) devraient fonctionner correctement.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
<title>Périphériques PCMCIA (PC-Card)</title>
|
|
||||||
|
|
||||||
<para>La plupart des ordinateurs portables viennent avec des slots
|
|
||||||
PCMCIA (aussi appelés PC-Card); ceux-ci sont bien
|
|
||||||
supportés sous FreeBSD. Examinez vos messages de
|
|
||||||
démarrage (en utilisant dmesg) et regardez si ces derniers
|
|
||||||
ont été détectés correctement (ils
|
|
||||||
devraient apparaître comme <filename>pccard0</filename>,
|
|
||||||
<filename>pccard1</filename> etc sur des
|
|
||||||
périphériques comme
|
|
||||||
<filename>pcic0</filename>).</para>
|
|
||||||
|
|
||||||
<para>FreeBSD supporte actuellement les cartes PCMCIA 16-bits,
|
|
||||||
mais pas les cartes 32-bits (<quote>CardBus</quote>). Une base
|
|
||||||
de données des cartes supportées se trouve dans le
|
|
||||||
fichier <filename>/etc/defaults/pccard.conf</filename>.
|
|
||||||
Examinez-la, et achetez de préférence des cartes
|
|
||||||
listées. Les cartes non listées
|
|
||||||
peuvent aussi fonctionner comme périphériques
|
|
||||||
<quote>génériques</quote>: en particulier la plupart
|
|
||||||
des modems (16-bits) devraient fonctionner parfaitement,
|
|
||||||
dès lors que ce ne sont pas des winmodems (ils existent
|
|
||||||
aussi même en modèles PC-Card, donc faites attention).
|
|
||||||
Si votre carte est reconnue en tant que modem
|
|
||||||
générique, notez que le fichier pccard.conf de
|
|
||||||
défaut spécifie un délai de 10 secondes
|
|
||||||
(pour éviter le blocage de certains modems); cela peut
|
|
||||||
être bien plus que nécessaire pour votre
|
|
||||||
modèle, donc vous pouvez avoir envie de le modifier, le
|
|
||||||
réduire ou le retirer totalement.</para>
|
|
||||||
|
|
||||||
<para>Certaines parties de <filename>pccard.conf</filename>
|
|
||||||
peuvent nécessiter une édition. Contrôler la
|
|
||||||
ligne irq, et soyez sûr de retirer les nombres
|
|
||||||
déjà utilisés: en particulier si vous avez
|
|
||||||
une carte son intégrée, retirez l'irq 5 (sinon
|
|
||||||
vous risquez de subir des blocages quand vous insérez une
|
|
||||||
carte). Vérifiez également le slot mémoire
|
|
||||||
disponible; si votre carte n'est pas détectée,
|
|
||||||
essayez de le changer pour une autre des valeurs autorisées
|
|
||||||
(listée dans la page de manuel &man.pccardc.8;).</para>
|
|
||||||
|
|
||||||
<para>S'il ne tourne pas déjà, lancer le démon
|
|
||||||
pccardd (pour le lancer au démarrage, ajoutez
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting> à
|
|
||||||
<filename>/etc/rc.conf</filename>). Maintenant vos cartes
|
|
||||||
devraient être détectées quand vous les
|
|
||||||
insérez et les retirez, et vous devriez obtenir des
|
|
||||||
messages dans vos traces système au sujet de nouveaux
|
|
||||||
périphériques activés.</para>
|
|
||||||
|
|
||||||
<para>Il y a eu des changements majeurs au code de pccard
|
|
||||||
(incluant le routage ISA des interruptions, pour les machines
|
|
||||||
dont le PCIBIOS semble être inutilisable par FreeBSD) avant
|
|
||||||
la sortie de FreeBSD 4.4. Si vous rencontrez des problèmes,
|
|
||||||
essayez de mettre à jour votre système.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1>
|
|
||||||
|
|
||||||
<title>Gestion d'énergie</title>
|
|
||||||
|
|
||||||
<para>Malheureusement, cela n'est pas supporté de
|
|
||||||
façon fiable par FreeBSD. Si vous êtes chanceux,
|
|
||||||
quelques fonctions pourraient fonctionner correctement, ou
|
|
||||||
pourraient ne pas fonctionner du tout.</para>
|
|
||||||
|
|
||||||
<para>Pour l'autoriser, vous aurez peut-être besoin de
|
|
||||||
compiler un noyau avec le support de la gestion d'énergie
|
|
||||||
(<literal>device apm0</literal>) ou rajoutez l'option
|
|
||||||
<literal>enable apm0</literal> au fichier
|
|
||||||
<filename>/boot/loader.conf</filename>, et aussi lancez le
|
|
||||||
démon apm au démarrage (ligne
|
|
||||||
<literal>apm_enable="YES"</literal> dans
|
|
||||||
<filename>/etc/rc.conf</filename>). Les commandes apm sont
|
|
||||||
énumérées dans la page de manuel &man.apm.8;.
|
|
||||||
Par exemple, <command>apm -b</command> vous donne l'état de
|
|
||||||
la batterie ( ou 255 si non supporté),
|
|
||||||
<command>apm -Z</command> met l'ordinateur portable en veille,
|
|
||||||
<command>apm -z</command> (ou zzz) le place en mode hibernation.
|
|
||||||
Pour arrêter la machine, utilisez
|
|
||||||
<command>shutdown -p</command>. Encore une fois, certaines ou
|
|
||||||
toutes ces fonctions peuvent ne pas fonctionner correctement ou pas
|
|
||||||
du tout. Il se peut qui vous trouviez que l'hibernation/veille
|
|
||||||
fonctionne en mode console mais pas sous X (c'est l'écran
|
|
||||||
qui ne se rallume pas, dans ce cas, basculez sur
|
|
||||||
une console virtuelle, en utilisant Ctrl-Alt-F1 ou une autre
|
|
||||||
touche de fonction, et alors exécuter la commande apm).
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>Le système X window (XFree86) inclut aussi la gestion de
|
|
||||||
l'alimentation de l'affichage (lire la page de manuel
|
|
||||||
&man.xset.1; et y rechercher le terme dpms). Il se peut que vous
|
|
||||||
désiriez l'étudier en détail. Cependant, cela,
|
|
||||||
aussi, ne fonctionne pas correctement sur les ordinateurs portables:
|
|
||||||
souvent l'affichage est éteint mais pas le
|
|
||||||
rétro-éclairage.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -12,7 +12,6 @@ SUBDIR = compiz-fusion
|
||||||
SUBDIR+= cups
|
SUBDIR+= cups
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= gjournal-desktop
|
SUBDIR+= gjournal-desktop
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-comparison
|
SUBDIR+= linux-comparison
|
||||||
SUBDIR+= linux-users
|
SUBDIR+= linux-users
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Article: FreeBSD on Laptops
|
|
||||||
#
|
|
||||||
# %SOURCE% en_US.ISO8859-1/articles/laptop/Makefile
|
|
||||||
# %SRCID% 1.4
|
|
||||||
#
|
|
||||||
|
|
||||||
MAINTAINER= doc@FreeBSD.org
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
INSTALL_COMPRESSED?= gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
URL_RELPREFIX?= ../../../..
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,442 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-2"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<!-- The FreeBSD Hungarian Documentation Project
|
|
||||||
Translated by: PALI, Gabor <pgj@FreeBSD.org>
|
|
||||||
%SOURCE% en_US.ISO8859-1/articles/laptop/article.xml
|
|
||||||
%SRCID% 1.25
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="hu">
|
|
||||||
<info><title>&os; laptopon</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>A &os; néhány buktatótól eltekintve
|
|
||||||
remekül működik a legtöbb laptopon. A
|
|
||||||
következőkben nagyító alá vesszük
|
|
||||||
azokat a problémákat, amelyek a &os; laptopon
|
|
||||||
történő futtatását
|
|
||||||
akadályozhatják, az asztali
|
|
||||||
számítógépektől eltérő
|
|
||||||
hardverkövetelményekre vonatkozóan.</para>
|
|
||||||
|
|
||||||
<para><emphasis>Fordította: Páli Gábor,
|
|
||||||
utolsó ellenőrzés:
|
|
||||||
2010.11.28.</emphasis></para>
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<legalnotice xml:id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.linux;
|
|
||||||
&tm-attrib.microsoft;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>A &os;-t gyakran az Internetes kiszolgálók
|
|
||||||
operációs rendszerének vélik, ám
|
|
||||||
éppen ugyanolyan jól alkalmazható egy asztali
|
|
||||||
számítógépre is, és ha egy laptopon
|
|
||||||
kívánjuk használni, továbbra is
|
|
||||||
élvezhetjük a korábban megszokott előnyeit:
|
|
||||||
rendszerezett felépítés, könnyű
|
|
||||||
karbantarthatóság és
|
|
||||||
frissíthetőség, a programok
|
|
||||||
telepítéséhez kidolgozott port- és
|
|
||||||
csomagkezelő rendszer, és így tovább.
|
|
||||||
(Az egyéb előnyei, mint mondjuk a
|
|
||||||
megbízhatóság, kiemelkedő
|
|
||||||
hálózati teljesítmény, nagy
|
|
||||||
terhelés alatti teljesítmény, természetesen
|
|
||||||
nem feltétlenül szembetűnőek egy laptopon.)
|
|
||||||
Azonban a laptopokra történő telepítése
|
|
||||||
gyakran felvet olyan gondokat, amelyek az asztali
|
|
||||||
számítógépek esetén nem jelennek meg,
|
|
||||||
és ezért általában nem is kerülnek
|
|
||||||
szóba (a laptopok ugyanis az asztali
|
|
||||||
számítógépekénél jóval
|
|
||||||
nagyobb mértékben µsoft.windows;-ra vannak
|
|
||||||
tervezve). Ebben a leírásban szeretnénk
|
|
||||||
megtárgyalni ezeket a problémákat.
|
|
||||||
Néhányan ugyan már előzetesen
|
|
||||||
feljegyezték a &os;-vel kapcsolatos tapasztalataikat bizonyos
|
|
||||||
modellek esetén olyan oldalakon, amelyek nem részei a &os;
|
|
||||||
hivatalos dokumentációjának. Emiatt könnyen
|
|
||||||
előfordulhat, hogy úgy is találhatunk hasznos
|
|
||||||
információkat a témában, ha egyszerűen
|
|
||||||
rákeresünk valamelyik népszerű
|
|
||||||
keresőben a laptopunk modelljére és a
|
|
||||||
<quote>&os;</quote> szóra. Ezen kívül
|
|
||||||
létezik még egy külön &os;-hez kialakított
|
|
||||||
Internetes adatbázis, ahol a különféle laptopok
|
|
||||||
hardveres problémáihoz találhatunk
|
|
||||||
segítséget: ez <link xlink:href="http://laptop.bsdgroup.de/freebsd/">A &os; laptop
|
|
||||||
kompabilitási lista</link>.</para>
|
|
||||||
|
|
||||||
<para>Amennyiben szeretnénk felvenni a kapcsolatot más &os;
|
|
||||||
laptop felhasználókkal, érdeklődjünk a
|
|
||||||
&a.mobile.name; listán. Valamint megéri még
|
|
||||||
ellátogatni <link xlink:href="http://tuxmobile.org/mobile_bsd.html">erre</link> a &os;-s
|
|
||||||
laptopokkal foglalkozó oldalra is. </para>
|
|
||||||
|
|
||||||
<sect1 xml:id="xorg">
|
|
||||||
<title>&xorg;</title>
|
|
||||||
|
|
||||||
<para>Az <application>&xorg;</application> legújabb
|
|
||||||
változatai képesek együttműködni a
|
|
||||||
napjainkban kapható laptopok videóvezérlőivel.
|
|
||||||
Habár a hardveres gyorsítás nem
|
|
||||||
feltétlenül támogatott, az általános
|
|
||||||
SVGA módnak használhatónak kell lennie.</para>
|
|
||||||
|
|
||||||
<para>Keressük meg a laptopunk kézikönyvében,
|
|
||||||
hogy milyen videóvezérlő található
|
|
||||||
benne, majd vessük össze ezt az
|
|
||||||
<application>&xorg;</application> dokumentációjával,
|
|
||||||
amiből kiderül, mennyire támogatja. Ha kiemelten nem
|
|
||||||
támogatná, használjuk az általános
|
|
||||||
eszközt (<emphasis>generic device</emphasis>, de ne hagyjuk
|
|
||||||
megtéveszteni magunkat semmi hasonlóval). Mellesleg
|
|
||||||
szerencsét próbálhatunk az
|
|
||||||
<userinput>&xorg; -configure</userinput> paranccsal is, amely
|
|
||||||
magától képes felderíteni
|
|
||||||
konfigurációnk nagy részét.</para>
|
|
||||||
|
|
||||||
<para>A legtöbb gondot egyébként a monitor
|
|
||||||
beállítása okozza. Az
|
|
||||||
<application>&xorg;</application>-ra vonatkozó források
|
|
||||||
többnyire kizárólag csak
|
|
||||||
katódsugárcsöves megjelenítőkre
|
|
||||||
összepontosítanak, így egy
|
|
||||||
folyadékkristályos megjelenítő
|
|
||||||
esetén némileg trükkös lehet eltalálni a
|
|
||||||
megfelelő <literal>modeline</literal>
|
|
||||||
beállításokat. Elképzelhető
|
|
||||||
egyébként, hogy szerencsénk van, és
|
|
||||||
egyáltalán nem is kell megadni modeline-t, vagy
|
|
||||||
egyszerűen csak a megfelelő <literal>HorizSync</literal>
|
|
||||||
és <literal>VertRefresh</literal>
|
|
||||||
értéktartományokat kell behangolni. Ha azonban
|
|
||||||
ezek sem működnének, a legjobb, amit ilyenkor
|
|
||||||
tehetünk, hogy további forrásokat nézünk
|
|
||||||
át az Interneten a helyes beállítások
|
|
||||||
után keresve (ezek gyakorta &linux;-os oldalak, de ez a mi
|
|
||||||
esetünkben most nem számít, hiszen ugyanazt az
|
|
||||||
<application>&xorg;</application>-ot használja mind a két
|
|
||||||
rendszer) és bemásoljuk a konfigurációs
|
|
||||||
állományba a mienkhez hasonló hardverre
|
|
||||||
talált modeline beállításokat.</para>
|
|
||||||
|
|
||||||
<para>A laptopok legtöbbjét a pozícionáló
|
|
||||||
eszközeiken két gombbal szállítják, ami
|
|
||||||
eléggé problémás tud lenni az X esetén
|
|
||||||
(tekintettel arra, hogy a középső gombot bevett
|
|
||||||
módon szövegek másolására
|
|
||||||
használják), ennek feloldására be lehet
|
|
||||||
állítani úgy az X-et, hogy a bal és jobb gomb
|
|
||||||
egyszerre történő lenyomása helyettesítse
|
|
||||||
a középső gombot. Ehhez adjuk meg a</para>
|
|
||||||
|
|
||||||
<programlisting>Option "Emulate3Buttons"</programlisting>
|
|
||||||
|
|
||||||
<para>sort az <filename>xorg.conf</filename> állományban, az
|
|
||||||
<literal>InputDevice</literal>szekcióban.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="modems">
|
|
||||||
<title>Modem</title>
|
|
||||||
|
|
||||||
<para>A laptopokba általában szerelnek belső
|
|
||||||
(beépített, integrált) modemeket is. Sajnos, ez
|
|
||||||
az esetek döntő részében valamilyen
|
|
||||||
<quote>winmodem</quote>, ahol a tényleges funkciókat
|
|
||||||
szoftveres úton valósítják meg és csak
|
|
||||||
a &windows;-hoz fejlesztett meghajtók képesek ezeket
|
|
||||||
elérhetővé tenni (ámbár
|
|
||||||
néhány ilyen meghajtó már szárnyra
|
|
||||||
kapott más operációs rendszerekhez is:
|
|
||||||
például, ha <emphasis>Lucent LT</emphasis> chipsetes
|
|
||||||
modemmel rendelkezünk, akkor előfordulhat, hogy
|
|
||||||
támogatja a <package>comms/ltmdm</package> port).
|
|
||||||
Ilyenkor kénytelenek vagyunk egy külső modemet
|
|
||||||
vásárolni: erre az egyik legjobb megoldás egy
|
|
||||||
PC-kártyás (PCMCIA) modem (ld. lentebb), de a soros vagy
|
|
||||||
USB-s modemek esetlegesen olcsóbbnak bizonyulhatnak.
|
|
||||||
Általánosságban elmondható, hogy a
|
|
||||||
hagyományos modemek (a nem winmodemek) minden
|
|
||||||
nehézség nélkül
|
|
||||||
használhatóak.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="pcmcia">
|
|
||||||
<title>PCMCIA (PC-kártyás) eszköz</title>
|
|
||||||
|
|
||||||
<para>A laptopokon általában találhatóak PCMCIA
|
|
||||||
(vagy más néven PC-kártya)
|
|
||||||
bővítőhelyek, ezek &os; alatt eléggé
|
|
||||||
jól támogatottak. Ellenőrizzük le a
|
|
||||||
rendszerindulás során megjelenő üzenetek
|
|
||||||
között (a &man.dmesg.8; segítségével),
|
|
||||||
hogy ezeket a rendszer megfelelően észlelte-e
|
|
||||||
(<filename>pccard0</filename>, <filename>pccard1</filename> stb.
|
|
||||||
neveken kell megjelenniük a bővítőhelyeknek,
|
|
||||||
valamint az így csatlakoztatott eszközöknek
|
|
||||||
<filename>pcic0</filename> stb. néven).</para>
|
|
||||||
|
|
||||||
<para>A &os; 4.X a 16 bites PCMCIA-kártyákat
|
|
||||||
támogatja, a &os; 5.X pedig már ismeri a
|
|
||||||
16 és 32 bites (<quote>CardBus</quote>) kártyákat
|
|
||||||
is. A jelenleg támogatott kártyák adatbázisa
|
|
||||||
fellelhető a <filename>/etc/defaults/pccard.conf</filename>
|
|
||||||
állományban. Vásárlás előtt az
|
|
||||||
itt szereplő kártyákban érdemes gondolkodni.
|
|
||||||
Az itt nem szereplő kártyák működhetnek
|
|
||||||
általános (<quote>generic</quote>) eszközként:
|
|
||||||
a legtöbb (16 bites) modem ragyogóan
|
|
||||||
használható, feltéve, hogy nem winmodem (ezek
|
|
||||||
gyakran PC-kártya formájában is megjelennek,
|
|
||||||
legyünk óvatosak). Érdemes megemlíteni, hogy
|
|
||||||
ha a kártyánkat általános modemként
|
|
||||||
ismerte fel a rendszer, a <filename>pccard.conf</filename>
|
|
||||||
állományban alapértelmezés szerinti
|
|
||||||
található egy 10 másodperces
|
|
||||||
késleltetés (hogy elkerüljük a fagyást
|
|
||||||
egyes modemeken), ami sok esetben túlzott
|
|
||||||
óvatosságra vall, így ha nem érezzük
|
|
||||||
szükségét és van kedvünk
|
|
||||||
állítgatni, csökkentsük ezt az időt vagy
|
|
||||||
akár teljesen ki is kapcsolhatjuk.</para>
|
|
||||||
|
|
||||||
<para>Előfordulhat, hogy a <filename>pccard.conf</filename> egyes
|
|
||||||
részei átírásra szorulnak.
|
|
||||||
Nézzük meg, hogy rendszerünkben melyik
|
|
||||||
megszakítások (IRQ) vannak már használatban
|
|
||||||
és töröljük őket. Tehát ha mondjuk
|
|
||||||
van egy hangkártyánk, amely az 5-ös IRQ-t
|
|
||||||
használja, vegyük ki a felsorolásból a
|
|
||||||
számát (máskülönben a rendszer
|
|
||||||
lefagyásába futhatunk bele egy kártya
|
|
||||||
behelyezése során). Ellenőrizzük
|
|
||||||
továbbá a szabad memória
|
|
||||||
bővítőhelyeket; ha a kártyánkat nem
|
|
||||||
ismerte még fel a rendszer, próbáljuk meg
|
|
||||||
átállítani egy másik megengedett
|
|
||||||
értékre (ezek megtalálhatóak a
|
|
||||||
&man.pccardc.8; kézikönyvében).</para>
|
|
||||||
|
|
||||||
<para>Ha még nem futna, indítsuk el a &man.pccardd.8;
|
|
||||||
daemont. (Ha minden indításkor szeretnénk
|
|
||||||
aktiválni, akkor tegyük bele az
|
|
||||||
<filename>/etc/rc.conf</filename> állományba a
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting>
|
|
||||||
sort.) Innentől kezdve minden behelyezett és kivett
|
|
||||||
kártyát észlel a rendszerünk, amiről a
|
|
||||||
naplóban értesítést is ad.</para>
|
|
||||||
|
|
||||||
<para>A &os; 4.4 kiadása előtt komolyabb
|
|
||||||
változások történtek a pccard
|
|
||||||
forrásában (pl. a megszakítások ISA-n
|
|
||||||
keresztüli közvetítése olyan
|
|
||||||
számítógépek esetén, ahol a &os; nem
|
|
||||||
tudja használni a PCI BIOS-t). Ha ezzel kapcsolatosan
|
|
||||||
felmerülne bármilyen probléma, érdemes
|
|
||||||
frissíteni a rendszert.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="power-management">
|
|
||||||
<title>Energiagazdálkodás</title>
|
|
||||||
|
|
||||||
<para>Sajnálatos módon ezek a funkciók
|
|
||||||
egyáltalán nem mondhatóak jól
|
|
||||||
támogatottnak &os; alatt. Ha szerencsénk van, akkor egyes
|
|
||||||
funkciók jól működnek, mások pedig
|
|
||||||
egyáltalán nem.</para>
|
|
||||||
|
|
||||||
<para>Hogy még bonyolultabb legyen a helyzet, két
|
|
||||||
szabvány is létezik az energiagazdálkodásra:
|
|
||||||
az APM és az ACPI, ahol az utóbbi bővebb és
|
|
||||||
kiterjedtebb szabvány, mint az előbbi, de több
|
|
||||||
problémát is felvet.</para>
|
|
||||||
|
|
||||||
<para>Egyes laptopok az APM-et és az ACPI-t is
|
|
||||||
támogatják (adott mértékig), mások
|
|
||||||
pedig csak az egyik szabványt ismerik. Emiatt mind a kettővel
|
|
||||||
kísérletezni kell egy elfogadható
|
|
||||||
energiagazdálkodási séma
|
|
||||||
kialakításához.</para>
|
|
||||||
|
|
||||||
<note><para>Egyszerre nem lehet bekapcsolni az APM-et és az ACPI-t,
|
|
||||||
még akkor sem, ha a laptop mind a kettőt
|
|
||||||
támogatja.</para></note>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>APM</title>
|
|
||||||
|
|
||||||
<para>Az APM (Advanced Power Management) BIOS támogatást ad
|
|
||||||
a különféle energiagazdálkodási
|
|
||||||
jellemzőkhöz, mint mondjuk a készenléti
|
|
||||||
állapot, hibernálás, a processzor
|
|
||||||
órajelének csökkentése stb., amelyek
|
|
||||||
el is érhetőek &os; 4.X és &os; 5.X
|
|
||||||
alatt.</para>
|
|
||||||
|
|
||||||
<para>Az APM támogatás bekapcsolásához
|
|
||||||
fordíthatunk energiagazdálkodásra
|
|
||||||
felkészített rendszermagot
|
|
||||||
(<literal>device apm0</literal> &os; 4.X esetén és
|
|
||||||
<literal>device apm</literal> &os; 5.X esetén) is, de
|
|
||||||
a &os; 5.X vonal rendszermagjához már létezik
|
|
||||||
külön APM modul is, amelyet az indítás
|
|
||||||
során tudunk betöltetni úgy, hogy
|
|
||||||
<filename>/boot/loader.conf</filename> állományhoz
|
|
||||||
hozzávesszük az <literal>apm_load="YES"</literal>
|
|
||||||
sort.</para>
|
|
||||||
|
|
||||||
<para>Ezen felül &os; 5.X esetén még be kell
|
|
||||||
írni a <literal>hint.apm.0.disabled="0"</literal> sort is a
|
|
||||||
<filename>/boot/device.hints</filename>
|
|
||||||
állományba.</para>
|
|
||||||
|
|
||||||
<para>Az APM-et minden indítással együtt
|
|
||||||
aktivizálhatjuk, ha megadjuk az
|
|
||||||
<literal>apm_enable="YES"</literal> sort a
|
|
||||||
<filename>/etc/rc.conf</filename> állományban. Ezen
|
|
||||||
kívül még hasznos lehet elindítani a
|
|
||||||
&man.apmd.8; daemont is, méghozzá a
|
|
||||||
<literal>apmd_enable="YES"</literal> sor
|
|
||||||
hozzávételével. Ez a daemon felügyeli a
|
|
||||||
BIOS-nak küldött különböző
|
|
||||||
APM-eseményeket, így készenléti
|
|
||||||
állapotba tudjuk helyezni a laptopunkat gombnyomásra,
|
|
||||||
vagy akár összecsukással is.</para>
|
|
||||||
|
|
||||||
<para>A APM-parancsok a &man.apm.8; kézikönyvében
|
|
||||||
szerepelnek. Például, az <command>apm -b</command>
|
|
||||||
paranccsal le lehet kérdezni az akkumulátor
|
|
||||||
töltöttségét (vagy 255-öt ad vissza, ha
|
|
||||||
nem támogatott ez funkció), a <command>apm -Z</command>
|
|
||||||
energiatakarékos állapotba, ill. a
|
|
||||||
<command>apm -z</command> (vagy a <command>zzz</command>) parancs
|
|
||||||
készenléti állapotba helyezi a laptopot. A
|
|
||||||
számítógép kikapcsolásához
|
|
||||||
és áramtalanításához a
|
|
||||||
<command>shutdown -p</command> parancsot kell használni.
|
|
||||||
Még egyszer megemlítjük, hogy a tárgyalt
|
|
||||||
funkciók közül nem mindegyik működik
|
|
||||||
megfelelően vagy akár egyáltalán
|
|
||||||
nem működik.</para>
|
|
||||||
|
|
||||||
<para>Esetenként tapasztalhatjuk, hogy a laptop
|
|
||||||
energiatakarékos vagy készenléti állapotba
|
|
||||||
helyezése ugyan működik konzolon, de X alatt
|
|
||||||
viszont nem (vagyis nem kapjuk vissza a képet). Ha
|
|
||||||
&os; 5.X-et használunk, erre egy megoldás lehet,
|
|
||||||
ha beletesszük a
|
|
||||||
<literal>options SC_NO_SUSPEND_VTYSWITCH</literal> sort a
|
|
||||||
rendszermagunk konfigurációs
|
|
||||||
állományába és újrafordítjuk
|
|
||||||
azt. Másik lehetőség, hogy átváltunk
|
|
||||||
egy virtuális konzolra (a
|
|
||||||
<keycombo action="simul">
|
|
||||||
<keycap>Ctrl</keycap>
|
|
||||||
<keycap>Alt</keycap>
|
|
||||||
<keycap>F1</keycap>
|
|
||||||
</keycombo>
|
|
||||||
lenyomásával, vagy ugyanígy egy másik
|
|
||||||
funkcióbillentyűvel), majd elindítjuk az
|
|
||||||
&man.apm.8;-et. Ha &man.apmd.8;-t használunk,
|
|
||||||
automatizálhatjuk is ezt a rendszert a &man.vidcontrol.1;
|
|
||||||
segítségével. Ehhez nem kell mást
|
|
||||||
tennünk, csupán átírni a
|
|
||||||
<filename>/etc/apmd.conf</filename> állományt az
|
|
||||||
alábbiak szerint:</para>
|
|
||||||
|
|
||||||
<programlisting>apm_event SUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "/etc/rc.suspend";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event USERSUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "sync && sync && sync";
|
|
||||||
exec "sleep 1";
|
|
||||||
exec "apm -z";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event NORMRESUME, STANDBYRESUME {
|
|
||||||
exec "/etc/rc.resume";
|
|
||||||
exec "vidcontrol -s 9 < /dev/console";
|
|
||||||
}</programlisting>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>ACPI</title>
|
|
||||||
|
|
||||||
<para>Az ACPI (Advanced Configuration and Power Management Interface)
|
|
||||||
nem csak energiagazdálkodást tesz lehetővé,
|
|
||||||
hanem hardver-felderítést is (ezzel szinte
|
|
||||||
feleslegessé téve a PnP-t és a PCI
|
|
||||||
BIOS-t). Az ACPI támogatása csak &os; 5.X
|
|
||||||
alatt érhető el, és alapértelmezés
|
|
||||||
szerint aktív. Ilyenkor tehát nem kell semmit se
|
|
||||||
csinálni, hogy működésre bírjuk. Az
|
|
||||||
ACPI viselkedését az &man.acpiconf.8;-al tudjuk
|
|
||||||
vezérelni.</para>
|
|
||||||
|
|
||||||
<para>Sajnos azonban, a gyártók gyakorta hibás
|
|
||||||
ACPI-implementációval szállítják a
|
|
||||||
laptopokat, aminek következtében az ACPI
|
|
||||||
bekapcsolása több gondot okoz, mint hasznot, egészen
|
|
||||||
annyira, hogy akár a &os; bizonyos gépeken
|
|
||||||
képtelen elindulni aktív ACPI
|
|
||||||
támogatással.</para>
|
|
||||||
|
|
||||||
<para>Ha az ACPI használata gondokat okoz, ajánlott
|
|
||||||
érdeklődni a laptopunk
|
|
||||||
gyártójánál, hogy vajon
|
|
||||||
készült-e ACPI-vel kapcsolatos BIOS-frissítés
|
|
||||||
az utóbbi időben. Mivel a &os; ACPI
|
|
||||||
implementációja is még gyerekcipőben
|
|
||||||
jár, ezért érdemes még frissíteni a
|
|
||||||
rendszerünket is, elképzelhető ugyanis, hogy a
|
|
||||||
problémánkat azóta már
|
|
||||||
megoldották.</para>
|
|
||||||
|
|
||||||
<para>Az ACPI kikapcsolásához egyszerűen ki kell
|
|
||||||
bővíteni a <filename>/boot/device.hints</filename>
|
|
||||||
állományt a <literal>hint.acpi.0.disabled="1"</literal>
|
|
||||||
sorral. Ha gondunk lenne egy ACPI-t használó gép
|
|
||||||
indításával, ideiglenesen ki tudjuk kapcsolni az
|
|
||||||
ACPI-t az indítás során aktiválható
|
|
||||||
paranccsoron keresztül is, az <literal>unset acpi_load</literal>
|
|
||||||
parancs kiadásával. A &os; 5.1-RELEASE
|
|
||||||
kiadásától kezdve már egy
|
|
||||||
rendszerindító menüben is kiválaszthatjuk,
|
|
||||||
hogyan induljon a rendszer: itt az egyik menüpont az
|
|
||||||
ACPI kikapcsolása. Ekkor tehát az ACPI
|
|
||||||
kikapcsolásához válasszuk a
|
|
||||||
<guimenuitem>2. Boot &os; with ACPI disabled</guimenuitem>
|
|
||||||
(2. A &os; indítása ACPI támogatás
|
|
||||||
nélkül) pontot a menüben.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>A monitor energiagazdálkodása</title>
|
|
||||||
|
|
||||||
<para>Az X ablakkezelő rendszer (<application>&xorg;</application>)
|
|
||||||
is tartalmaz energiagazdálkodást a
|
|
||||||
megjelenítő eszközök számára
|
|
||||||
(ajánlott ezzel kapcsolatosan megnézni a &man.xset.1;
|
|
||||||
man oldalt, rákeresve a <quote>dpms</quote> szóra).
|
|
||||||
Valószínűleg ezt is hasznos lesz megismerni.
|
|
||||||
Azonban vegyük figyelembe, hogy sokszor nem következetesen
|
|
||||||
működik a laptopokon: előfordulhat, hogy kikapcsolja
|
|
||||||
ugyan a megjelenítőt, de nem kapcsolja ki
|
|
||||||
a háttérvilágítást.</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -13,7 +13,6 @@ SUBDIR+= contributors
|
||||||
#SUBDIR+= cups
|
#SUBDIR+= cups
|
||||||
#SUBDIR+= custom-gcc
|
#SUBDIR+= custom-gcc
|
||||||
#SUBDIR+= explaining-bsd
|
#SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= fbsd-from-scratch
|
|
||||||
#SUBDIR+= filtering-bridges
|
#SUBDIR+= filtering-bridges
|
||||||
SUBDIR+= fonts
|
SUBDIR+= fonts
|
||||||
#SUBDIR+= freebsd-questions
|
#SUBDIR+= freebsd-questions
|
||||||
|
@ -22,7 +21,6 @@ SUBDIR+= fonts
|
||||||
#SUBDIR+= gjournal-desktop
|
#SUBDIR+= gjournal-desktop
|
||||||
#SUBDIR+= hubs
|
#SUBDIR+= hubs
|
||||||
SUBDIR+= ipsec-must
|
SUBDIR+= ipsec-must
|
||||||
#SUBDIR+= laptop
|
|
||||||
#SUBDIR+= ldap-auth
|
#SUBDIR+= ldap-auth
|
||||||
#SUBDIR+= linux-comparison
|
#SUBDIR+= linux-comparison
|
||||||
#SUBDIR+= linux-emulation
|
#SUBDIR+= linux-emulation
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Article: FreeBSD From Scratch
|
|
||||||
#
|
|
||||||
# Original revision: 1.6
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
MAINTAINER= schweikh@FreeBSD.org
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?= gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
EXTRAS= stage_1.conf.default
|
|
||||||
EXTRAS+= stage_1.sh
|
|
||||||
EXTRAS+= stage_2.conf.default
|
|
||||||
EXTRAS+= stage_2.sh
|
|
||||||
EXTRAS+= stage_3.mk
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
SRCS+= ${EXTRAS}
|
|
||||||
|
|
||||||
afterinstall:
|
|
||||||
.for entry in ${EXTRAS}
|
|
||||||
${INSTALL_DOCS} ${.CURDIR}/${entry} ${DESTDIR}
|
|
||||||
.endfor
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,692 +0,0 @@
|
||||||
<?xml version="1.0" encoding="euc-jp"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
|
|
||||||
<!ENTITY scratch.ap "<application xmlns='http://docbook.org/ns/docbook'>FreeBSD をゼロから設定する</application>">
|
|
||||||
]>
|
|
||||||
<!--
|
|
||||||
$FreeBSD$
|
|
||||||
Original revision: 1.11
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ja">
|
|
||||||
<info><title>FreeBSD をゼロから設定するには</title>
|
|
||||||
|
|
||||||
|
|
||||||
<author><personname><firstname>Jens</firstname><surname>Schweikhardt</surname></personname><affiliation>
|
|
||||||
<address><email>schweikh@FreeBSD.org</email></address>
|
|
||||||
</affiliation></author>
|
|
||||||
<copyright>
|
|
||||||
<year>2002</year>
|
|
||||||
<year>2003</year>
|
|
||||||
<year>2004</year>
|
|
||||||
<holder>Jens Schweikhardt</holder>
|
|
||||||
</copyright>
|
|
||||||
|
|
||||||
<legalnotice xml:id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.adobe;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>この記事は、「&scratch.ap; (FreeBSD From Scratch)」という、
|
|
||||||
わたしの個人的な経験をまとめたものです。
|
|
||||||
カスタマイズした &os; システムをソースからコンパイルし、
|
|
||||||
さらに好みの ports のコンパイルして、
|
|
||||||
あなたが望む構成のシステムの、
|
|
||||||
完全に自動化されたインストールを実現します。
|
|
||||||
<command>make world</command>
|
|
||||||
がすばらしい考え方だとお思いの方にとって、
|
|
||||||
「&scratch.ap;」は、まさに <command>make world</command> を
|
|
||||||
<command>make evenmore</command> (さらにその先)
|
|
||||||
へと広げるものになることでしょう。</para>
|
|
||||||
</abstract>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<sect1 xml:id="introduction">
|
|
||||||
<title>はじめに</title>
|
|
||||||
|
|
||||||
<para>今までに <command>make world</command>
|
|
||||||
を使ってシステムをアップグレードした経験はあるでしょうか?
|
|
||||||
もしディスクに一つのシステムしか入れていない場合は問題です。
|
|
||||||
<buildtarget>installworld</buildtarget> が途中で止まってしまったら、
|
|
||||||
あなたのシステムは壊れたまま、もう起動しなくなってしまうかも知れません。
|
|
||||||
あるいは、<buildtarget>installworld</buildtarget> が正常に終了しても、
|
|
||||||
新しいカーネルは起動に失敗してしまうかも知れません。
|
|
||||||
さて、そうなってしまったら、Fixit CD
|
|
||||||
を取り出して半年前のバックアップを戻す、
|
|
||||||
なんてはめになってしまうかも知れませんよね。</para>
|
|
||||||
|
|
||||||
<para>わたしは、<quote>アップグレードの時はディスクを初期化する</quote>
|
|
||||||
という方法がよいと考えています。パーティションではなくディスク全体のデータを
|
|
||||||
消去することで、アップグレードの手順では無視されるような古いデータが
|
|
||||||
残ってしまうことを防ぐことができます。ただ、
|
|
||||||
パーティションを全部初期化するということは、
|
|
||||||
ports/packages をすべて再コンパイル・再インストールしなければならず、
|
|
||||||
設定ファイルも注意深く作成し直さなければならないということです。
|
|
||||||
こういう作業を自動化したいと思いませんか?
|
|
||||||
そう思う人は、この先を読み進めましょう。</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="why">
|
|
||||||
<title>どうして「&scratch.ap;」(あるいは「~しない」)
|
|
||||||
ことが必要なのか</title>
|
|
||||||
|
|
||||||
<para>これはもっともな質問です。
|
|
||||||
すでに <application>sysinstall</application> がありますし、
|
|
||||||
カーネルとユーザランドツールをコンパイルする方法には、
|
|
||||||
もっと有名な方法が他にもあるからです。</para>
|
|
||||||
|
|
||||||
<para><application>sysinstall</application>
|
|
||||||
の問題は、「何を、どこに、
|
|
||||||
どうやってインストールするのか」が非常に限定されているという点です。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><application>sysinstall</application>
|
|
||||||
は通常、構築ずみの配布物セットと packages を
|
|
||||||
(CD, DVD, FTP などの)
|
|
||||||
別の場所からインストールする時に使われるものであり、
|
|
||||||
<literal>make buildworld</literal>
|
|
||||||
の結果をインストールできるようにはできていません。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>現在稼働中のシステム中にあるディレクトリに、
|
|
||||||
新しいシステムをインストールすることはできません。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><application>Vinum</application>
|
|
||||||
パーティションへのインストールはできません。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>構築ずみの packages はインストールできますが、
|
|
||||||
ports を構築することはできません。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>スクリプトを使ったり、
|
|
||||||
インストール後に変更するための処理を自由に入れることは困難です。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>最後の大きな理由として、<application>sysinstall</application>
|
|
||||||
が、公式にもう積極的に使わないプログラムと考えられている、
|
|
||||||
ということがあげられます。</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>システム全体を構築してインストールする方法は、
|
|
||||||
<link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html">ハンドブック</link>にある方法が有名です。
|
|
||||||
これはデフォルトで既存のシステムを置き換えるもので、
|
|
||||||
カーネルとモジュールだけが保存され、
|
|
||||||
システムバイナリ、ヘッダ、その他の多くのファイルは上書きされます。
|
|
||||||
使われなくなった古いファイルはそのまま残り、
|
|
||||||
動作に問題が出ることもあります。
|
|
||||||
何らかの理由でアップグレードに失敗すると、
|
|
||||||
システムを元の状態に戻することは不可能か、できても非常に困難です。</para>
|
|
||||||
|
|
||||||
<para>「&scratch.ap;」方法は、これらの問題をすべて解決できます。
|
|
||||||
考え方は単純です。
|
|
||||||
稼働中のシステムを使って空のディレクトリにシステムをインストールします。
|
|
||||||
その時、その新しいシステムのディレクトリツリーには、
|
|
||||||
新しいパーティションを適切にマウントしておaきます。
|
|
||||||
数多くある設定ファイルは、コピーできるものは適切な場所にコピーし、
|
|
||||||
それができないものには &man.mergemaster.8; を使います。
|
|
||||||
新しいシステムに対するインストール後の設定は、
|
|
||||||
古いシステムを動作させながら、新しいシステムに対して chroot して
|
|
||||||
自由に行なうことができます。具体的には、
|
|
||||||
シェルスクリプト、もしくは <command>make</command>
|
|
||||||
の実行で構成される、次の 3 段階でこれらを実現します。</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><filename>stage_1.sh</filename>:
|
|
||||||
新しい起動可能なシステムを空のディレクトリ以下に作成し、
|
|
||||||
必要なファイルをマージ、もしくはコピーします。
|
|
||||||
そして、新しいシステムを起動します。
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><filename>stage_2.sh</filename>:
|
|
||||||
必要な ports をインストールします。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><filename>stage_3.mk</filename>:
|
|
||||||
ひとつ前の段階でインストールしたソフトウェアの、
|
|
||||||
インストール後の設定を行ないます。</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>新しいシステムを構築するために「&scratch.ap;」方法を使い、
|
|
||||||
それが数週間、満足する程度に動作していることを確認したら、
|
|
||||||
もう一度それを使って、大元のシステムを再インストールすることができます。
|
|
||||||
これからはいつでも好きな時にシステムを更新して、
|
|
||||||
初期化・再インストールしたパーティションに切り替えるだけでよくなるわけです。</para>
|
|
||||||
|
|
||||||
<para><link xlink:href="http://www.linuxfromscratch.org/">Linux From Scratch</link>
|
|
||||||
(もしくは省略して LFS) について耳にしたり、試された方がいらっしゃるかも知れません。
|
|
||||||
LFS も同じように、稼働中のシステムを使ってシステムをゼロから構築し、
|
|
||||||
空のパーティションにインストールする方法が書かれています。
|
|
||||||
LFS が話題の中心としているのは、(カーネル、コンパイラ、デバイス、
|
|
||||||
シェル、端末データベースなどの) 各システムコンポーネントの役割と、
|
|
||||||
それらのインストールの詳細を見せることのようです。
|
|
||||||
この「&scratch.ap;」では、そのような詳細には触れません。
|
|
||||||
わたしの目的は、インストールを終わりまで自動化することであり、
|
|
||||||
システム構築時の泥くさい過程を全部説明することではありません。
|
|
||||||
&os; をそのようなレベルで掘り下げてみたい人は、
|
|
||||||
<filename>/usr/src/Makefile</filename> を読んで、
|
|
||||||
<command>make buildworld</command>
|
|
||||||
の動作を追いかけるところから始めましょう。</para>
|
|
||||||
|
|
||||||
<para>また、「&scratch.ap;」方法にも、
|
|
||||||
次のような欠点があることを心に留めておいてください。</para>
|
|
||||||
|
|
||||||
<!-- XXX: A nice idea would be to write stage_2.sh using a jail
|
|
||||||
that runs into the newly installed world from stage_1. Having
|
|
||||||
properly set up a network address as the jail's primary IP
|
|
||||||
address, it might even be possible to build ports in a chroot
|
|
||||||
without uninstalling anything from the 'host' system. But
|
|
||||||
keep in mind that even jails run on the 'host' kernel. -->
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>第 2 段階で ports をコンパイルしている間、
|
|
||||||
システムは通常の用途に使用することができません。
|
|
||||||
もしプロダクションサーバを運用しているなら、
|
|
||||||
第 2 段階でダウンタイムが発生することを考慮に入れなければなりません。
|
|
||||||
<filename>stage_2.conf.default</filename> の ports のコンパイルには、
|
|
||||||
AMD1800+、10,000rpm SCSI、1GB の RAM を搭載したシステムで、
|
|
||||||
約 4 時間かかります。ports の代わりに package
|
|
||||||
をインストールすれば、この時間を 10 分程度にまで大幅に短縮することも可能です。</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="prerequisites">
|
|
||||||
<title>前提とする環境</title>
|
|
||||||
|
|
||||||
<para>「&scratch.ap;」方法を実行するには、
|
|
||||||
次のものが必要です。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>ソースと ports ツリーを含む、稼働中の &os; システム</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>新しいシステムをインストールするための、
|
|
||||||
最低 1 個の未使用パーティション</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>&man.mergemaster.8; を実行した経験。もしくは、
|
|
||||||
それを実行する勇気。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>インターネット接続環境がない、あるいは遅い場合には、
|
|
||||||
インストールしたい ports の配布ファイル</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Bourne シェル (&man.sh.1;)
|
|
||||||
を使ってシェルスクリプトを作成するための基礎知識</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>新しいシステムを起動する方法を、
|
|
||||||
対話的あるいは設定ファイルを使ってブートローダに
|
|
||||||
教えることができること</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage1">
|
|
||||||
<title>第 1 段階: システムのインストール</title>
|
|
||||||
|
|
||||||
<para>この文書の初版では、第 1 段階にひとつのシェルスクリプトを使っていました。
|
|
||||||
カスタマイズはすべて、そのスクリプトを編集する必要があったのですが、
|
|
||||||
利用者からの意見を参考にして、スクリプトのコードとデータを分離することにしました。
|
|
||||||
そのため新しいスクリプトでは、コードスクリプトを変更せずに、
|
|
||||||
複数の異なるシステムに異なる構成のデータを置くことが可能になりました。</para>
|
|
||||||
|
|
||||||
<para>第 1 段階のコードスクリプトは
|
|
||||||
<filename>stage_1.sh</filename> であり、次のように 1
|
|
||||||
個の引数をつけて実行すると</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>./stage_1.sh default</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>設定ファイルとして
|
|
||||||
<filename>stage_1.conf.default</filename> を読み込み、
|
|
||||||
ログファイルとして
|
|
||||||
<filename>stage_1.log.default</filename> に書き込みます。</para>
|
|
||||||
|
|
||||||
<para>文末にわたしが使っている <filename>stage_1.conf.default</filename>
|
|
||||||
が添付してあります。
|
|
||||||
あなたが考える <quote>完璧なシステム</quote> に合わせて、
|
|
||||||
各設定をカスタマイズしてください。あなたが変更しそうな設定には、
|
|
||||||
詳細なコメントを追加してあります。設定スクリプトでは、
|
|
||||||
<command>create_file_systems</command>,
|
|
||||||
<command>create_etc_fstab</command>, <command>copy_files</command>,
|
|
||||||
<command>all_remaining_customization</command> という、
|
|
||||||
4 個のシェル関数を提供しなければなりません (これは、
|
|
||||||
<filename>stage_1.sh</filename> から呼ばれる順に書いてあります)。</para>
|
|
||||||
|
|
||||||
<para>考慮すべき点は、以下のとおりです。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>パーティションの配置</para>
|
|
||||||
|
|
||||||
<para>わたしは、システム全体を一つの大きな
|
|
||||||
パーティションに入れるという考え方が好きではないので、
|
|
||||||
普通は
|
|
||||||
<filename>/</filename>、
|
|
||||||
<filename>/usr</filename>、
|
|
||||||
<filename>/var</filename> の
|
|
||||||
パーティションを分割し、<filename>/tmp</filename> を
|
|
||||||
<filename>/var/tmp</filename> のシンボリックリンクにしています。
|
|
||||||
また、<filename>/home</filename> (ユーザのホームディレクトリ)、
|
|
||||||
<filename>/home/ncvs</filename> (&os; CVS リポジトリの複製),
|
|
||||||
<filename>/usr/ports</filename> (ports ツリー),
|
|
||||||
<filename>/src</filename> (チェックアウトした src ツリー)、
|
|
||||||
<filename>/share</filename> (news スプールなど、バックアップする必要がない、
|
|
||||||
その他の共有データ) といったファイルシステムを、
|
|
||||||
古いシステムと新しいシステムで共有しています。</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>その他の項目</para>
|
|
||||||
|
|
||||||
<para>これは、新しいシステムの起動後にすぐに実行したいことや、
|
|
||||||
第 2 段階の前に実行したい内容のことです。
|
|
||||||
なぜ第 1 段階で単純に新しいシステムに chroot してお気に入りの
|
|
||||||
ports をインストールしないのかというと、理論的にも、
|
|
||||||
実際の手順にも卵鶏問題があるからです。第 1 段階では、
|
|
||||||
古いカーネルが動作していますが、chroot 環境には、
|
|
||||||
新しいバイナリとヘッダが使われています。もしその新しいバイナリが、
|
|
||||||
古いカーネルには存在しない新しいシステムコールを使っていたら、
|
|
||||||
<literal>SIGSYS, Bad system call</literal>
|
|
||||||
というエラーが出て停止してしまうでしょう。わたしは
|
|
||||||
<package>lang/perl5</package>
|
|
||||||
を構築する時にも問題が発生することを確認しています。
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para><filename>stage_1.sh</filename> を実行する前に、
|
|
||||||
<command>make installworld installkernel</command>
|
|
||||||
を実行するために通常行なう作業を完了させておいてください。
|
|
||||||
これらは、たとえば次のようなものです。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>カーネルコンフィグファイルの設定</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><command>make buildworld</command>
|
|
||||||
を正常終了させておくこと</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><command>make buildkernel
|
|
||||||
KERNCONF=whatever</command>
|
|
||||||
を正常終了させておくこと</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>初めて <filename>stage_1.sh</filename> を実行した場合は、
|
|
||||||
稼働中のシステムから新しいシステムへとコピーされる設定ファイルは
|
|
||||||
<filename>/usr/src</filename> のものと比べると古いので、
|
|
||||||
<command>mergemaster</command> がどうするかを聞いてきます。
|
|
||||||
おすすめは、ここで変更点を統合しておくことです。
|
|
||||||
もし、何度も質問に答えるのが面倒であれば、
|
|
||||||
<emphasis>稼働中の</emphasis>システムのファイルを更新しておきましょう
|
|
||||||
(ただしこれは、そうできればの話です。
|
|
||||||
<literal>-STABLE</literal> のシステムを実行していて、
|
|
||||||
<literal>-CURRENT</literal> を構築する、
|
|
||||||
もしくはその逆のようなケースでは、そうしてはいけません)。
|
|
||||||
次に <command>mergemaster</command> を実行した時、
|
|
||||||
RCS バージョン ID が <filename>/usr/src</filename>
|
|
||||||
にあるファイルと一致しているものは、処理が飛ばされるようになります。</para>
|
|
||||||
|
|
||||||
<para><filename>stage_1.sh</filename> スクリプトは
|
|
||||||
<command>set -e</command> が指定されており、
|
|
||||||
最初のコマンドが失敗 (終了コードが 0 以外) すると停止します。
|
|
||||||
そのため、エラーを見逃してしまうということはないでしょう。
|
|
||||||
これは、タイプミスなどで未定義の変数を使った場合にもエラーになります。
|
|
||||||
次に進む前に、<filename>stage_1.conf.default</filename>
|
|
||||||
にあるエラーを全部修正しておいてください。</para>
|
|
||||||
|
|
||||||
<para><filename>stage_1.sh</filename> では
|
|
||||||
<command>mergemaster</command> が実行されます。
|
|
||||||
統合作業をしなければならないファイルが一つもない状態でも、
|
|
||||||
実行の終わりに次のメッセージが表示されます。</para>
|
|
||||||
|
|
||||||
<screen>*** Comparison complete
|
|
||||||
|
|
||||||
Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>no</userinput></screen>
|
|
||||||
|
|
||||||
<para><literal>no</literal> と答えるか、
|
|
||||||
単に <keycap>Enter</keycap> を押してください。
|
|
||||||
なぜかと言うと、<command>mergemaster</command>
|
|
||||||
は <filename>/var/tmp/temproot.stage1</filename>
|
|
||||||
にサイズが 0 のファイルをいくつか残すからです。
|
|
||||||
これは、後で新しいシステムに (存在しなければ) コピーされます。</para>
|
|
||||||
|
|
||||||
<para>この後、インストールされたファイルのリストがページャ
|
|
||||||
(デフォルトでは &man.more.1; です。&man.less.1; を使うこともできます)
|
|
||||||
に表示されます。</para>
|
|
||||||
|
|
||||||
<screen>*** You chose the automatic install option for files that did not
|
|
||||||
exist on your system. The following were installed for you:
|
|
||||||
/newroot/etc/defaults/rc.conf
|
|
||||||
...
|
|
||||||
/newroot/COPYRIGHT
|
|
||||||
|
|
||||||
(END)</screen>
|
|
||||||
|
|
||||||
<para><keycap>q</keycap> を入力してページャを終了します。
|
|
||||||
すると <filename>login.conf</filename> に関して、次のように表示されます。</para>
|
|
||||||
|
|
||||||
<screen>*** You installed a login.conf file, so make sure that you run
|
|
||||||
'/usr/bin/cap_mkdb /newroot/etc/login.conf'
|
|
||||||
to rebuild your login.conf database
|
|
||||||
|
|
||||||
Would you like to run it now? y or n [n]</screen>
|
|
||||||
|
|
||||||
<para>これに対する答えはどちらでも構いません。
|
|
||||||
どう答えても、スクリプトから &man.cap.mkdb.1; が実行されます。</para>
|
|
||||||
|
|
||||||
<para>次に示すのは、筆者の使っている <filename>stage_1.conf.default</filename>
|
|
||||||
ですが、たくさんの部分を書き換える必要がありますので注意してください。
|
|
||||||
どこを書き換えればよいのかについては、コメントを読めば十分理解できると思います。</para>
|
|
||||||
|
|
||||||
<warning>
|
|
||||||
<para>&man.newfs.8; コマンドには注意してください。
|
|
||||||
マウントずみのパーティションに新しいファイルシステムを作成することはできないものの、
|
|
||||||
このスクリプトはマウントされていない
|
|
||||||
<filename>/dev/da0s1a</filename>, <filename>/dev/da0s1e</filename>,
|
|
||||||
<filename>/dev/da2s1e</filename> をすべて削除します。
|
|
||||||
ひとつ間違えれば、あなたの環境を破壊してしまう可能性がありますので、
|
|
||||||
デバイス名の変更は注意深く行なってください。</para>
|
|
||||||
</warning>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_1.conf.default" parse="text" encoding="euc-jp"/>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>ダウンロード: <link xlink:href="stage_1.conf.default"><filename>stage_1.conf.default</filename>
|
|
||||||
</link>.</para>
|
|
||||||
|
|
||||||
<para>このスクリプトを実行すると、
|
|
||||||
起動した時に次のような状態になっているシステムがインストールされます。</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>稼働中のシステムと同じユーザとグループ</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Ethernet と PPP を経由した、
|
|
||||||
ファイアウォールありのインターネット接続環境</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>正しいタイムゾーンと NTP 設定</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><filename>/etc/ttys</filename> や
|
|
||||||
<command>inetd</command> など、その他の細かな設定。</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>他の部分に対する設定は、第 2 段階が終わるまで動作しません。
|
|
||||||
たとえば、プリンタや X11 の設定ファイルもコピーされますが、
|
|
||||||
プリンタは &postscript; ユーティリティなど、
|
|
||||||
ベースシステムに含まれないアプリケーションを使うことが多いでしょう。
|
|
||||||
X11 はサーバ、ライブラリ、プログラムをコンパイルしないと動作しません。</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage2">
|
|
||||||
<title>第 2 段階: ports のインストール</title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>この段階で ports をコンパイルするのではなく、
|
|
||||||
(コンパイルずみの) packages をインストールすることもできます。
|
|
||||||
その場合、<filename>stage_2.sh</filename> は
|
|
||||||
単に <command>pkg_add</command> コマンドを羅列するだけになるでしょう。
|
|
||||||
読者のみなさんにとって、そういうスクリプトを書くのは難しくないと思いますので、
|
|
||||||
ここではもっと柔軟で、ports
|
|
||||||
を使った伝統的な方法について考えることにします。</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>次に紹介する <filename>stage_2.sh</filename> スクリプトは、
|
|
||||||
わたしが好みの ports をインストールするために使ったものです。
|
|
||||||
これは何度でも実行でき、インストールずみの ports があれば、
|
|
||||||
飛ばして処理されます。スクリプトは <emphasis>実行せず、実行される内容だけ
|
|
||||||
を表示する (dryrun)</emphasis> オプション (<option>-n</option>)
|
|
||||||
があります。実行時には <filename>stage_1.sh</filename> と同様、
|
|
||||||
設定スクリプトを示すためのひとつの引数を指定します。</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>./stage_2.sh default</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>これは、ports のリストを
|
|
||||||
<filename>stage_2.conf.default</filename> というファイルから読み込みます。</para>
|
|
||||||
|
|
||||||
<para>ports リストは、空白で区切られた 2 個以上のキーワードからなっています。
|
|
||||||
カテゴリ、port 名に始まり、オプションとして
|
|
||||||
port をコンパイルしてインストールするためのコマンド
|
|
||||||
(デフォルトは <command>make install BATCH=yes < /dev/null</command>) が続きます。
|
|
||||||
空白行と # から始まる行は無視されます。
|
|
||||||
おそらく多くの場合に考えなければならないのは、カテゴリ名と port 名だけでしょう。
|
|
||||||
ports によっては、たとえば次のように
|
|
||||||
<command>make</command> 変数を使って微調整することができます。</para>
|
|
||||||
|
|
||||||
<programlisting>www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_CHATZILLA=yes install</programlisting>
|
|
||||||
|
|
||||||
<para>実際には任意のシェルコマンドを指定できますので、
|
|
||||||
<command>make</command> を使う以外にも応用は可能です。</para>
|
|
||||||
|
|
||||||
<programlisting>java linux-sun-jdk13 yes | make install
|
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install</programlisting>
|
|
||||||
|
|
||||||
<para><package>news/inn-stable</package> の行は、
|
|
||||||
<literal>CONFIGURE_ARGS</literal> という シェル変数を定義した例です。
|
|
||||||
この port の <filename>Makefile</filename> は、
|
|
||||||
この指定した値を変数の初期値として、その他の必須の引数と一緒に使います。
|
|
||||||
これと</para>
|
|
||||||
|
|
||||||
<programlisting>news inn-stable make CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" install</programlisting>
|
|
||||||
|
|
||||||
<para>のようにして
|
|
||||||
<application>make</application> 変数をコマンドラインに設定した場合との違いは、
|
|
||||||
こちらの場合に変数そのものを完全に上書きしてしまうという点です。
|
|
||||||
どの方法を使えばいいのかについては、各 port によります。</para>
|
|
||||||
|
|
||||||
<para>インストールしたい ports が、
|
|
||||||
対話的インストールを使っていないことを確認してください。
|
|
||||||
ports は、あなたが標準入力に明示的に指定したもの以外、
|
|
||||||
標準入力を読み込む動作をしてはいけません。
|
|
||||||
もし ports がそのように作られていると、ports はヒアドキュメントにある
|
|
||||||
ports リストの次の行を読み込んで混乱してしまいます。
|
|
||||||
<filename>stage_2.sh</filename> を実行した時、
|
|
||||||
ある port が飛ばされたり、動作が止まってしまうようなことがあれば、
|
|
||||||
おそらくこれが原因でしょう。</para>
|
|
||||||
|
|
||||||
<para>次に示すのは <filename>stage_2.conf.default</filename> です。
|
|
||||||
これは、インストールされる port それぞれに対して
|
|
||||||
<filename>LOGDIR/category+port</filename>
|
|
||||||
という名前のログファイルが作成されます。</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_2.conf.default" parse="text" encoding="euc-jp"/>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>ダウンロード: <link xlink:href="stage_2.conf.default"><filename>stage_2.conf.default</filename></link>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="stage3">
|
|
||||||
<title>第 3 段階</title>
|
|
||||||
|
|
||||||
<para>第 2 段階で、好みの ports がインストールされましたが、
|
|
||||||
ports には、設定を必要とするものがあります。
|
|
||||||
第 3 段階は、インストール後の設定を行なう段階です。
|
|
||||||
<filename>stage_2.sh</filename> の最後にこの段階を統合することもできたのですが、
|
|
||||||
わたしは port をインストールすることと初期設定を変更することが異なる工程であると考えたため、
|
|
||||||
独立した段階としています。</para>
|
|
||||||
|
|
||||||
<para>第 3 段階は、<filename>Makefile</filename> として実装しています。
|
|
||||||
これは、次のように実行することで、設定対象を簡単に選ぶことができるからです。</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>make -f stage_3.mk target</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para><filename>stage_2.sh</filename> の段階で、
|
|
||||||
<filename>stage_3.mk</filename> を共有パーティションに置くか、
|
|
||||||
新しいシステムのどこかにコピーするなどして、
|
|
||||||
新しいシステムが起動した時に
|
|
||||||
<filename>stage_3.mk</filename> が使えるようにしておきましょう。</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="limitations">
|
|
||||||
<title>制限事項</title>
|
|
||||||
|
|
||||||
<para>対話的で、かつ <command>make BATCH=YES install</command>
|
|
||||||
でのインストールに対応していない port
|
|
||||||
の自動インストールは難しいかも知れません。
|
|
||||||
対話的にインストールする ports には、ライセンス条項の同意を尋ねられた時に
|
|
||||||
<literal>yes</literal> と入力するだけのものがいくつかあります。
|
|
||||||
そのように入力が標準入力から読みとられる場合は、
|
|
||||||
適切な回答をインストールコマンド (通常は <command>make
|
|
||||||
install</command>) にパイプで渡すことができます
|
|
||||||
(わたしが <filename>stage_2.conf.default</filename> の
|
|
||||||
<package>java/linux-sun-jdk14</package>
|
|
||||||
でとった方法がそうです)。</para>
|
|
||||||
|
|
||||||
<para>しかしこの方法は、たとえば <package>editors/staroffice52</package> の場合にはうまく動きません。
|
|
||||||
これは X11 が実行されていることを要求するからです。
|
|
||||||
インストール手順には多くのクリックや文字入力が必要なので、
|
|
||||||
他の ports のように自動化することはできません。
|
|
||||||
わたしは、次のようにして問題を回避しました。
|
|
||||||
最初に古いシステムで staroffice の package を作成し、</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/ports/editors/staroffice52</userinput>
|
|
||||||
&prompt.root; <userinput>make package</userinput>
|
|
||||||
===> Building package for staroffice-5.2_1
|
|
||||||
Creating package /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz
|
|
||||||
Registering depends:.
|
|
||||||
Creating bzip'd tar ball in '/usr/ports/editors/staroffice52/staroffice-5.2_1.tbz'</screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>その後、第 2 段階で次のようにしたわけです。</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>pkg_add /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>その他に、設定ファイルのアップグレード問題に気をつける必要があります。
|
|
||||||
一般的に、設定ファイルの書式や内容がいつ変更されるかを知ることはできません。
|
|
||||||
新しいグループが <filename>/etc/group</filename>
|
|
||||||
に追加されるかも知れませんし、<filename>/etc/passwd</filename>
|
|
||||||
に新しいフィールドが追加されるかも知れません。
|
|
||||||
このような例は、実際に過去にありました。
|
|
||||||
単純に古いシステムから新しいシステムに設定ファイルをコピーするだけで
|
|
||||||
ほとんどの場合は十分なのですが、時には不都合な場合もあります。
|
|
||||||
古いファイルを上書きする方法でシステムをアップグレードしたら、
|
|
||||||
ローカルにある設定ファイルに新しく追加されたかも知れない項目を統合する目的で
|
|
||||||
<command>mergemaster</command> を使うと思います。
|
|
||||||
しかし残念なことに、<command>mergemaster</command>
|
|
||||||
はベースシステムに存在するファイルだけで、インストールした
|
|
||||||
ports については何も処理を行なってくれません。
|
|
||||||
サードパーティ製ソフトウェアには、
|
|
||||||
リリースのたびに設定ファイルのフォーマットが変更され、
|
|
||||||
わたしをイライラさせるようなものもあります。
|
|
||||||
このような予告なしの変更を検出するために、
|
|
||||||
わたしは変更した設定ファイルを <filename>stage_3.mk</filename>
|
|
||||||
と同じディレクトリにコピーしておき、
|
|
||||||
<application>make</application> ルールを使って結果を比較しています。
|
|
||||||
たとえば、<application>apache</application> の
|
|
||||||
<filename>httpd.conf</filename> であれば、次のような
|
|
||||||
<command>config_apache</command> というターゲットを用意しておきます。</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
@if ! cmp -s /usr/local/etc/apache2/httpd.conf httpd.conf; then \
|
|
||||||
echo "ATTENTION: the httpd.conf has changed. Please examine if"; \
|
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
|
||||||
diff -u /usr/local/etc/apache2/httpd.conf httpd.conf; \
|
|
||||||
fi
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>差分が無害なものであると確認できたら、
|
|
||||||
<command>cp /usr/local/etc/apache2/httpd.conf
|
|
||||||
httpd.conf</command> を実行するわけです。</para>
|
|
||||||
|
|
||||||
<para>わたしは
|
|
||||||
<literal>5-CURRENT</literal> から <literal>5-CURRENT</literal>
|
|
||||||
に更新するために
|
|
||||||
「&scratch.ap;」方法を数回使いましたが、
|
|
||||||
<literal>4-STABLE</literal> と <literal>5-CURRENT</literal>
|
|
||||||
の間で更新を行なった経験はありません。
|
|
||||||
異なるメジャーリリース番号の間は、非常の多数の変更が行なわれているため、
|
|
||||||
更新作業はもっと複雑なものになると思います。
|
|
||||||
(試したわけではないのですが)
|
|
||||||
<literal>4-STABLE</literal> から <literal>4-STABLE</literal>
|
|
||||||
への更新であれば、「&scratch.ap;」方法は問題なく動作するはずです。
|
|
||||||
<literal>4-STABLE</literal> のユーザは、次の点を考慮してください。</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>デバイスファイルシステム &man.devfs.5; を使ってなければ、
|
|
||||||
<command>all_remaining_customization</command> の中で
|
|
||||||
&man.MAKEDEV.8; を使い、
|
|
||||||
ハードウェア用のデバイスファイルを作成するとよいでしょう。</para>
|
|
||||||
</note>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="files">
|
|
||||||
<title>ファイル</title>
|
|
||||||
|
|
||||||
<para>ここでは、すでに説明した設定ファイルの他に必要な、
|
|
||||||
3 個のファイルを示します。</para>
|
|
||||||
|
|
||||||
<para>これは <link xlink:href="stage_1.sh"><filename>stage_1.sh</filename></link>
|
|
||||||
スクリプトです。内容を変更する必要はないでしょう。</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_1.sh" parse="text" encoding="euc-jp"/>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>ダウンロード: <link xlink:href="stage_1.sh"><filename>stage_1.sh</filename></link>.</para>
|
|
||||||
|
|
||||||
<para>これは <link xlink:href="stage_2.sh"><filename>stage_2.sh</filename></link>
|
|
||||||
スクリプトです。最初の部分にある変数を変更しましょう。</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_2.sh" parse="text" encoding="euc-jp"/>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>ダウンロード: <link xlink:href="stage_2.sh"><filename>stage_2.sh</filename></link>.</para>
|
|
||||||
|
|
||||||
<para>これは、わたしが使っている <link xlink:href="stage_3.mk"><filename>stage_3.mk</filename></link> です。
|
|
||||||
設定を自動的におこなうための手順を、ここに入れます。</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_3.mk" parse="text" encoding="euc-jp"/>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>ダウンロード: <link xlink:href="stage_3.mk"><filename>stage_3.mk</filename></link>.</para>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -1,190 +0,0 @@
|
||||||
# このファイル: stage_1.conf.default は stage_1.sh から読み込まれます。
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Original Revision: 1.3
|
|
||||||
|
|
||||||
# 新しいシステムを作成する場所を示すルートマウントポイントを指定。
|
|
||||||
# マウントポイントとして使われるだけなので、マウントポイントのある
|
|
||||||
# ファイルシステムにファイルは置かれず、書き込みはすべてマウントした
|
|
||||||
# ファイルシステムに行なわれる。
|
|
||||||
DESTDIR="/newroot"
|
|
||||||
|
|
||||||
# src ツリーのある場所。
|
|
||||||
SRC="/usr/src"
|
|
||||||
|
|
||||||
# make buildkernel KERNCONF=... で指定するカーネルコンフィグレーションファイル名。
|
|
||||||
KERNCONF="HAL9000"
|
|
||||||
|
|
||||||
# 利用できるタイムゾーンは /usr/share/zoneinfo 以下のファイルに記載されている。
|
|
||||||
TIMEZONE="Europe/Berlin"
|
|
||||||
|
|
||||||
#
|
|
||||||
# create_file_systems 関数は、DESTDIR 下にマウントポイントを作成し、
|
|
||||||
# ファイルシステムを作成し、DESTDIR 下にマウントしなければならない。
|
|
||||||
#
|
|
||||||
create_file_systems () {
|
|
||||||
# 新しいルートファイルシステムを作成する。必須。
|
|
||||||
# DEVICE を変更すること。変更しないとシステムが壊れる危険性がある。
|
|
||||||
# grub から起動したい場合は、ルートファイルシステム作成には
|
|
||||||
# newfs -O 1 を使わなければならない。
|
|
||||||
DEVICE=/dev/da0s1a
|
|
||||||
mkdir -m 755 -p ${DESTDIR}
|
|
||||||
chown root:wheel ${DESTDIR}
|
|
||||||
newfs -U -O 1 ${DEVICE}
|
|
||||||
mount -o noatime ${DEVICE} ${DESTDIR}
|
|
||||||
|
|
||||||
# その他のファイルシステムと初期マウントポイント。オプション。
|
|
||||||
DEVICE=/dev/da0s1e
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/var
|
|
||||||
chown root:wheel ${DESTDIR}/var
|
|
||||||
newfs -U ${DEVICE}
|
|
||||||
mount -o noatime ${DEVICE} ${DESTDIR}/var
|
|
||||||
|
|
||||||
DEVICE=/dev/da2s1e
|
|
||||||
mkdir -m 755 -p ${DESTDIR}/usr
|
|
||||||
chown root:wheel ${DESTDIR}/usr
|
|
||||||
newfs -U ${DEVICE}
|
|
||||||
mount -o noatime ${DEVICE} ${DESTDIR}/usr
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# create_etc_fstab 関数は、create_file_systems で作成されたファイルシ
|
|
||||||
# ステムに対応する fstab を生成しなければならない。
|
|
||||||
#
|
|
||||||
create_etc_fstab () {
|
|
||||||
cat <<EOF >${DESTDIR}/etc/fstab
|
|
||||||
# Device Mountpoint FStype Options Dump Pass#
|
|
||||||
/dev/da0s1b none swap sw 0 0
|
|
||||||
/dev/da1s1b none swap sw 0 0
|
|
||||||
/dev/da2s2b none swap sw 0 0
|
|
||||||
/dev/da3s2b none swap sw 0 0
|
|
||||||
/dev/da0s1a / ufs rw,noatime 1 1
|
|
||||||
/dev/da0s1e /var ufs rw,noatime 1 1
|
|
||||||
/dev/da2s1e /usr ufs rw,noatime 1 1
|
|
||||||
/dev/vinum/Share /share ufs rw,noatime 0 2
|
|
||||||
/dev/vinum/home /home ufs rw,noatime 0 2
|
|
||||||
/dev/vinum/ncvs /home/ncvs ufs rw,noatime 0 2
|
|
||||||
/dev/vinum/ports /usr/ports ufs rw,noatime 0 2
|
|
||||||
/dev/ad1s1a /flash ufs rw,noatime 0 0
|
|
||||||
/dev/ad0s1 /2k ntfs ro,noauto 0 0
|
|
||||||
/dev/ad0s6 /linux ext2fs ro,noauto 0 0
|
|
||||||
#
|
|
||||||
/dev/cd0 /cdrom cd9660 ro,noauto 0 0
|
|
||||||
/dev/cd1 /dvd cd9660 ro,noauto 0 0
|
|
||||||
proc /proc procfs rw 0 0
|
|
||||||
linproc /compat/linux/proc linprocfs rw 0 0
|
|
||||||
EOF
|
|
||||||
chmod 644 ${DESTDIR}/etc/fstab
|
|
||||||
chown root:wheel ${DESTDIR}/etc/fstab
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# copy_files 関数は、mergemaster が実行される前にファイルをコピーするのに
|
|
||||||
# 使われる。
|
|
||||||
#
|
|
||||||
copy_files () {
|
|
||||||
# 好みに応じて、このリストに追加・削除すること。ほとんどの場合は必須。
|
|
||||||
for f in \
|
|
||||||
/.profile \
|
|
||||||
/etc/group \
|
|
||||||
/etc/hosts \
|
|
||||||
/etc/inetd.conf \
|
|
||||||
/etc/ipfw.conf \
|
|
||||||
/etc/make.conf \
|
|
||||||
/etc/master.passwd \
|
|
||||||
/etc/nsswitch.conf \
|
|
||||||
/etc/ntp.conf \
|
|
||||||
/etc/printcap \
|
|
||||||
/etc/profile \
|
|
||||||
/etc/rc.conf \
|
|
||||||
/etc/resolv.conf \
|
|
||||||
/etc/start_if.xl0 \
|
|
||||||
/etc/ttys \
|
|
||||||
/etc/ppp/* \
|
|
||||||
/etc/mail/aliases \
|
|
||||||
/etc/mail/aliases.db \
|
|
||||||
/etc/mail/hal9000.mc \
|
|
||||||
/etc/mail/service.switch \
|
|
||||||
/etc/ssh/*key* \
|
|
||||||
/etc/ssh/*_config \
|
|
||||||
/etc/X11/XF86Config-4 \
|
|
||||||
/var/cron/tabs/* \
|
|
||||||
/var/files \
|
|
||||||
/root/.profile \
|
|
||||||
/boot/*.bmp \
|
|
||||||
/boot/loader.conf \
|
|
||||||
/boot/device.hints ; do
|
|
||||||
cp -p ${f} ${DESTDIR}${f}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# ほかに新しいシステムで調整したいことすべて。
|
|
||||||
# 注意: あまり多くのバイナリをこの時点でインストールしないこと。稼働している
|
|
||||||
# 古いシステムと、インストールした新しいバイナリ・ヘッダを組み合わせると、
|
|
||||||
# ブートストラップ問題に陥る可能性がある。ports は新しいシステムが起動した後に
|
|
||||||
# 再構築する方がよい。
|
|
||||||
#
|
|
||||||
all_remaining_customization () {
|
|
||||||
# compat シンボリックリンクがないと、linux_base のファイル群が
|
|
||||||
# ルートファイルシステムに置かれてしまう。
|
|
||||||
cd ${DESTDIR}
|
|
||||||
mkdir -m 755 usr/compat; chown root:wheel usr/compat; ln -s usr/compat
|
|
||||||
mkdir -m 755 usr/compat/linux; chown root:wheel usr/compat/linux
|
|
||||||
mkdir -m 555 usr/compat/linux/proc; chown root:wheel usr/compat/linux/proc
|
|
||||||
mkdir -m 755 boot/grub; chown root:wheel boot/grub
|
|
||||||
mkdir -m 755 linux 2k; chown root:wheel linux 2k
|
|
||||||
mkdir -m 755 src; chown root:wheel src
|
|
||||||
mkdir -m 755 share; chown root:wheel share
|
|
||||||
mkdir -m 755 dvd cdrom flash; chown root:wheel dvd cdrom flash
|
|
||||||
mkdir -m 755 home; chown root:wheel home
|
|
||||||
mkdir -m 755 usr/ports; chown root:wheel usr/ports
|
|
||||||
|
|
||||||
# 私の好みは tmp を var/tmp にシンボリックリンクすること。オプション。
|
|
||||||
cd ${DESTDIR}; rmdir tmp; ln -s var/tmp
|
|
||||||
|
|
||||||
# /etc/printcap で指定したスプールディレクトリを作成。
|
|
||||||
cd ${DESTDIR}/var/spool/output/lpd; mkdir -p as od ev te lp da
|
|
||||||
touch ${DESTDIR}/var/log/lpd-errs
|
|
||||||
|
|
||||||
# /home パーティションを共有していなければコピーした方がよいかも知れない。
|
|
||||||
# mkdir -p ${DESTDIR}/home
|
|
||||||
# cd /home; tar cf - . | (cd ${DESTDIR}/home; tar xpvf -)
|
|
||||||
|
|
||||||
case ${REVISION} in
|
|
||||||
4.*)
|
|
||||||
# 4.x には devfs がないので、ハードウェアに合わせて非標準のデバイスを作成する。
|
|
||||||
cd ${DESTDIR}/dev
|
|
||||||
./MAKEDEV all
|
|
||||||
./MAKEDEV da0 da0s1h da0s2h da0s3h da0s4h
|
|
||||||
./MAKEDEV da1 da1s1h da1s2h da1s3h da1s4h
|
|
||||||
./MAKEDEV da2 da2s1h da2s2h da2s3h da2s4h
|
|
||||||
./MAKEDEV da3 da3s1h da3s2h da3s3h da3s4h
|
|
||||||
./MAKEDEV bktr0 cd1
|
|
||||||
if test -d /dev/vinum; then
|
|
||||||
# 'vinum makedev' は /dev にしかデバイスを作成できないので、cpio を使う。
|
|
||||||
cd /dev; find vinum -print | cpio -pv ${DESTDIR}/dev
|
|
||||||
fi
|
|
||||||
|
|
||||||
# floppy に wheel グループが書き込めるようにする。
|
|
||||||
chown root:wheel ${DESTDIR}/dev/fd0*
|
|
||||||
chmod g+w ${DESTDIR}/dev/fd0*
|
|
||||||
;;
|
|
||||||
|
|
||||||
5.*)
|
|
||||||
# floppy に wheel グループが書き込めるようにする。
|
|
||||||
printf '%s\n' 'own fd0 root:wheel' >> ${DESTDIR}/etc/devfs.conf
|
|
||||||
printf '%s\n' 'perm fd0 0660' >> ${DESTDIR}/etc/devfs.conf
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
printf '%s\n' "REVISION ${REVISION} not supported"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# vim: tabstop=2:expandtab:shiftwidth=2:syntax=sh:
|
|
||||||
# EOF $RCSfile: stage_1.conf.default,v $
|
|
|
@ -1,174 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# stage_1.sh - FreeBSD From Scratch, 第 1 段階: システムのインストール
|
|
||||||
# 使い方: ./stage_1.sh profile
|
|
||||||
# 読み込むファイル: ./stage_1.conf.profile
|
|
||||||
# 書き出すファイル: ./stage_1.log.profile
|
|
||||||
#
|
|
||||||
# 著者: Jens Schweikhardt
|
|
||||||
# $Id: stage_1.sh,v 1.2 2006-03-13 16:46:15 rushani Exp $
|
|
||||||
# $FreeBSD$
|
|
||||||
# Original revision: 1.5
|
|
||||||
|
|
||||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
|
||||||
|
|
||||||
# 前提とする環境:
|
|
||||||
#
|
|
||||||
# a) "make buildworld" と "make buildkernel" が正常に終了していること。
|
|
||||||
# b) 未使用パーティションがあること (ルートファイルシステム用に少なくとも 1 個、
|
|
||||||
# 好みに応じて /usr や /var 用のものを用意する)
|
|
||||||
# c) カスタマイズされた stage_1.conf.profile ファイル。
|
|
||||||
|
|
||||||
if test $# -ne 1; then
|
|
||||||
echo "usage: stage_1.sh profile" 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 1: $DESTDIR 以下に空のディレクトリツリーを作成
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_one () {
|
|
||||||
create_file_systems
|
|
||||||
|
|
||||||
# ここで他のすべてのディレクトリを作成。必須。
|
|
||||||
cd ${SRC}/etc; make distrib-dirs DESTDIR=${DESTDIR}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 2: /etc ディレクトリツリーと / にファイルを追加
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_two () {
|
|
||||||
copy_files
|
|
||||||
|
|
||||||
# mergemaster の作業ファイルがあれば削除。
|
|
||||||
TEMPROOT=/var/tmp/temproot.stage1
|
|
||||||
if test -d ${TEMPROOT}; then
|
|
||||||
chflags -R 0 ${TEMPROOT}
|
|
||||||
rm -rf ${TEMPROOT}
|
|
||||||
fi
|
|
||||||
export MAKEDEVPATH="/bin:/sbin:/usr/bin"
|
|
||||||
mergemaster -i -m ${SRC}/etc -t ${TEMPROOT} -D ${DESTDIR}
|
|
||||||
cap_mkdb ${DESTDIR}/etc/login.conf
|
|
||||||
pwd_mkdb -d ${DESTDIR}/etc -p ${DESTDIR}/etc/master.passwd
|
|
||||||
|
|
||||||
# mergemaster は /var/log に置かれる空ファイルを作成しないので、
|
|
||||||
# ここで作成。ただし copy_files でコピーされている場合は、それを使う。
|
|
||||||
cd ${TEMPROOT}
|
|
||||||
find . -type f | sed 's,^\./,,' |
|
|
||||||
while read f; do
|
|
||||||
if test -r ${DESTDIR}/${f}; then
|
|
||||||
echo "${DESTDIR}/${f} already exists; not copied"
|
|
||||||
else
|
|
||||||
echo "Creating empty ${DESTDIR}/${f}"
|
|
||||||
cp -p ${f} ${DESTDIR}/${f}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
chflags -R 0 ${TEMPROOT}
|
|
||||||
rm -rf ${TEMPROOT}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 3: installworld を実行する
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_three () {
|
|
||||||
cd ${SRC}
|
|
||||||
make installworld DESTDIR=${DESTDIR}
|
|
||||||
|
|
||||||
# 追加の互換ライブラリをインストールする (オプション)。libc.so.4 を
|
|
||||||
# 動的リンクするプログラムがあれば、つまり、
|
|
||||||
# /usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found
|
|
||||||
# というエラーメッセージが見つかったら、これを利用すること。
|
|
||||||
cd lib/compat/compat4x.i386
|
|
||||||
make all install DESTDIR=${DESTDIR}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 4: カーネルとモジュールをインストールする
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_four () {
|
|
||||||
cd ${SRC}
|
|
||||||
# installkernel ターゲットには、loader.conf と device.hints が必要。
|
|
||||||
# ステップ 2 でコピーしていなければ、次の 2 行を使ってコピーすること。
|
|
||||||
# cp sys/boot/forth/loader.conf ${DESTDIR}/boot/defaults
|
|
||||||
# cp sys/i386/conf/GENERIC.hints ${DESTDIR}/boot/device.hints
|
|
||||||
make installkernel DESTDIR=${DESTDIR} KERNCONF=${KERNCONF}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 5: /etc/fstab とタイムゾーン情報のインストール
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_five () {
|
|
||||||
create_etc_fstab
|
|
||||||
|
|
||||||
# タイムゾーンの設定。ほとんどの場合は必須。
|
|
||||||
cp ${DESTDIR}/usr/share/zoneinfo/${TIMEZONE} ${DESTDIR}/etc/localtime
|
|
||||||
if test -r /etc/wall_cmos_clock; then
|
|
||||||
cp -p /etc/wall_cmos_clock ${DESTDIR}/etc/wall_cmos_clock
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ステップ 6: 残りのカスタマイズ
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
step_six () {
|
|
||||||
all_remaining_customization
|
|
||||||
}
|
|
||||||
|
|
||||||
do_steps () {
|
|
||||||
echo "PROFILE=${PROFILE}"
|
|
||||||
echo "DESTDIR=${DESTDIR}"
|
|
||||||
echo "SRC=${SRC}"
|
|
||||||
echo "KERNCONF=${KERNCONF}"
|
|
||||||
echo "TIMEZONE=${TIMEZONE}"
|
|
||||||
echo "TYPE=${TYPE}"
|
|
||||||
echo "REVISION=${REVISION}"
|
|
||||||
echo "BRANCH=${BRANCH}"
|
|
||||||
echo "RELDATE=${RELDATE}"
|
|
||||||
step_one
|
|
||||||
step_two
|
|
||||||
step_three
|
|
||||||
step_four
|
|
||||||
step_five
|
|
||||||
step_six
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
# ここから実行開始
|
|
||||||
# ---------------------------------------------------------------------------- #
|
|
||||||
|
|
||||||
PROFILE="$1"
|
|
||||||
set -x -e -u # エラーが発生するか未定義変数を使用したら停止する。
|
|
||||||
. ./stage_1.conf.${PROFILE}
|
|
||||||
|
|
||||||
# world を make するのに使われたソースコードから変数をいくつか決定する。
|
|
||||||
# この変数は、たとえば 4.x と 5.x どちらのシステムをインストールするの
|
|
||||||
# かといった動作を変更するのに使われる。RELDATE に対する
|
|
||||||
# __FreeBSD_version は Port 作成者のためのハンドブック (Porter's Handbook)
|
|
||||||
# で説明されている。
|
|
||||||
# doc/en_US.ISO8859-1/books/porters-handbook/freebsd-versions.html
|
|
||||||
# 日本語版もあるが、最新の情報は英語版を参照のこと。
|
|
||||||
# doc/ja_JP.eucJP/books/porters-handbook/freebsd-versions.html
|
|
||||||
# 形式は、<メジャー番号><マイナー番号 2 桁><リリースブランチなら 0, それ以外は 1>xx
|
|
||||||
# 結果は次のようなものになる。
|
|
||||||
#
|
|
||||||
# TYPE="FreeBSD"
|
|
||||||
# REVISION="4.9"
|
|
||||||
# BRANCH="RC" { "CURRENT", "STABLE", "RELEASE" }
|
|
||||||
# RELDATE="502101"
|
|
||||||
#
|
|
||||||
eval $(awk '/^(TYPE|REVISION|BRANCH)=/' ${SRC}/sys/conf/newvers.sh)
|
|
||||||
RELDATE=$(awk '/^[ \t]*#[ \t]*define[ \t][ \t]*__FreeBSD_version[ \t]/ {
|
|
||||||
print $3
|
|
||||||
}' ${SRC}/sys/sys/param.h)
|
|
||||||
|
|
||||||
echo "=> Logging to stage_1.log.${PROFILE}"
|
|
||||||
do_steps 2>&1 | tee stage_1.log.${PROFILE}
|
|
||||||
|
|
||||||
# vim: tabstop=2:expandtab:shiftwidth=2:
|
|
||||||
# EOF $RCSfile: stage_1.sh,v $
|
|
|
@ -1,89 +0,0 @@
|
||||||
# vim: syntax=sh
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Original Revision: 1.3
|
|
||||||
#
|
|
||||||
shells zsh
|
|
||||||
devel gettext make BATCH=yes install
|
|
||||||
lang perl5.8 make install; use.perl port
|
|
||||||
archivers unzip
|
|
||||||
archivers zip
|
|
||||||
security sudo
|
|
||||||
x11-servers XFree86-4-Server
|
|
||||||
x11 wrapper
|
|
||||||
x11 XFree86-4-clients
|
|
||||||
x11 XFree86-4-documents
|
|
||||||
x11-fonts XFree86-4-font75dpi
|
|
||||||
x11-fonts XFree86-4-font100dpi
|
|
||||||
x11-fonts XFree86-4-fontScalable
|
|
||||||
x11-fonts urwfonts
|
|
||||||
x11-fonts webfonts make WITH_NETSCAPE_ALIASES=yes install
|
|
||||||
x11-toolkits open-motif
|
|
||||||
x11-wm ctwm
|
|
||||||
security openssh-askpass
|
|
||||||
astro xplanet
|
|
||||||
astro xephem
|
|
||||||
editors vim
|
|
||||||
print ghostscript-gnu make A4=yes BATCH=yes install
|
|
||||||
print psutils-a4
|
|
||||||
print a2ps-a4
|
|
||||||
print gv
|
|
||||||
print acroread5
|
|
||||||
print transfig
|
|
||||||
print teTeX
|
|
||||||
# 注: jdk14 は linprocfs(5) がマウントされていないと、ハングアップした
|
|
||||||
# ままになります。
|
|
||||||
java linux-sun-jdk14 mount -a linproc; yes | make install
|
|
||||||
java jdk14 mount -a linproc; make -DNODEBUG install
|
|
||||||
www apache2
|
|
||||||
www weblint
|
|
||||||
www amaya
|
|
||||||
www firefox make BATCH=yes install
|
|
||||||
www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_COMPOSER=yes WITHOUT_LDAP=yes WITHOUT_CHATZILLA=yes WITHOUT_XMLTERM=yes install
|
|
||||||
www checkbot
|
|
||||||
www privoxy
|
|
||||||
graphics xfig
|
|
||||||
graphics xv
|
|
||||||
multimedia xawtv
|
|
||||||
graphics graphviz
|
|
||||||
lang expect
|
|
||||||
lang gawk
|
|
||||||
lang TenDRA unset MAKEOBJDIRPREFIX; make install
|
|
||||||
news tin
|
|
||||||
net freebsd-uucp
|
|
||||||
net cvsup-without-gui
|
|
||||||
net pathchar make NO_CHECKSUM=yes install
|
|
||||||
ftp wget
|
|
||||||
textproc ispell
|
|
||||||
german ispell-neu
|
|
||||||
german ispell-alt
|
|
||||||
textproc docproj make JADETEX=no HAVE_MOTIF=yes BATCH=yes install < /dev/null
|
|
||||||
sysutils samefile
|
|
||||||
sysutils lsof
|
|
||||||
sysutils pstree
|
|
||||||
sysutils cdrtools
|
|
||||||
sysutils grub
|
|
||||||
sysutils smartmontools
|
|
||||||
sysutils vobcopy
|
|
||||||
devel ddd
|
|
||||||
devel gindent
|
|
||||||
devel ctags
|
|
||||||
devel ElectricFence
|
|
||||||
devel strace
|
|
||||||
devel perltidy
|
|
||||||
mail procmail make BATCH=yes install
|
|
||||||
mail metamail
|
|
||||||
mail mutt-devel
|
|
||||||
emulators mtools
|
|
||||||
sysutils portupgrade
|
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install
|
|
||||||
misc figlet-fonts
|
|
||||||
security gpa
|
|
||||||
mail spamoracle
|
|
||||||
multimedia mplayer make WITHOUT_RUNTIME_CPUDETECTION=yes WITH_GUI=yes BATCH=yes install
|
|
||||||
multimedia mplayer-fonts
|
|
||||||
audio wavplay
|
|
||||||
games xmahjongg
|
|
||||||
games xdemineur
|
|
||||||
editors openoffice-1.1
|
|
|
@ -1,132 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# stage_2.sh - FreeBSD From Scratch, 第 2 段階: ports のインストール
|
|
||||||
# 使い方: ./stage_2.sh [-hnp] configname
|
|
||||||
#
|
|
||||||
# 著者: Jens Schweikhardt
|
|
||||||
# $Id: stage_2.sh,v 1.2 2006-03-13 16:46:15 rushani Exp $
|
|
||||||
# $FreeBSD$
|
|
||||||
# Original revision: 1.5
|
|
||||||
|
|
||||||
DBDIR="/var/db/pkg"
|
|
||||||
PORTS="/usr/ports"
|
|
||||||
: ${PACKAGES:=${PORTS}/packages}
|
|
||||||
LOGDIR="/home/root/setup/ports.log"; mkdir -p ${LOGDIR}
|
|
||||||
PKG_PATH="/cdrom/packages/All:/dvd/packages/All"
|
|
||||||
PKG=
|
|
||||||
|
|
||||||
MYNAME="$(basename $0)"
|
|
||||||
usage () {
|
|
||||||
exec >&2
|
|
||||||
echo "usage: ${MYNAME} [-hnp] configname"
|
|
||||||
echo ""
|
|
||||||
echo " Options:"
|
|
||||||
echo " -h Print this help text."
|
|
||||||
echo " -n Dryrun: just show what would be done."
|
|
||||||
echo " -p Install a precompiled package if one can be found."
|
|
||||||
echo ""
|
|
||||||
echo " The config file (stage_2.conf.configname) is a list of"
|
|
||||||
echo " ports to install with one entry per line. Each line"
|
|
||||||
echo " consists of two or three space separated fields:"
|
|
||||||
echo " category, port, and optionally a build command."
|
|
||||||
echo ""
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# これらの場所にあるパッケージを順に探す。
|
|
||||||
# 1 つ見つかり次第戻って、結果を標準出力に表示する。
|
|
||||||
#
|
|
||||||
# ${PORTS}/${CATEGORY}/${NAME}
|
|
||||||
# ${PACKAGES}/All
|
|
||||||
# ${PACKAGES}/${CATEGORY}
|
|
||||||
# ${PKG_PATH}
|
|
||||||
#
|
|
||||||
find_package () {
|
|
||||||
echo "${PORTS}/${CATEGORY}/${NAME}:${PACKAGES}/All:${PACKAGES}/${CATEGORY}:${PKG_PATH}" |
|
|
||||||
tr : '\n' |
|
|
||||||
while read d; do
|
|
||||||
test -d "${d}" || continue
|
|
||||||
PKG=$(ls ${d}/${PKGNAME}.* 2>/dev/null)
|
|
||||||
test $? -eq 0 && echo "${PKG}" && return
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# コマンドライン引数を処理する。
|
|
||||||
#
|
|
||||||
args=`getopt hnp $*`
|
|
||||||
if test $? != 0; then
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
set -- $args
|
|
||||||
DRYRUN=
|
|
||||||
CHKPKG=
|
|
||||||
for i; do
|
|
||||||
case "$i" in
|
|
||||||
-n) DRYRUN="yes"; shift;;
|
|
||||||
-p) CHKPKG="yes"; shift;;
|
|
||||||
--) shift; break;;
|
|
||||||
*) usage;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test $# -eq 1; then
|
|
||||||
DATAFILE="$1"
|
|
||||||
else
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# ports 一覧に対して繰り返す。
|
|
||||||
#
|
|
||||||
while read CATEGORY NAME CMD; do
|
|
||||||
case "${CATEGORY}" in
|
|
||||||
\#*) continue;;
|
|
||||||
'') continue;;
|
|
||||||
esac
|
|
||||||
DIR="${PORTS}/${CATEGORY}/${NAME}"
|
|
||||||
if ! test -d "${DIR}"; then
|
|
||||||
echo "$DIR does not exist -- ignored"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
cd ${DIR}
|
|
||||||
PKGNAME=`make -V PKGNAME`
|
|
||||||
if test -n "${CHKPKG}"; then
|
|
||||||
PKG=$(find_package)
|
|
||||||
else
|
|
||||||
PKG=""
|
|
||||||
fi
|
|
||||||
if test -d "${DBDIR}/${PKGNAME}"; then
|
|
||||||
echo "${CATEGORY}/${NAME} already installed as ${PKGNAME}"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
LOG="${LOGDIR}/${CATEGORY}+${NAME}"
|
|
||||||
echo "===> Installing ${CATEGORY}/${NAME}; logging to ${LOG}"
|
|
||||||
test -n "${CMD}" || CMD="make install BATCH=yes < /dev/null"
|
|
||||||
if test -n "${DRYRUN}"; then
|
|
||||||
if test -n "${PKG}"; then
|
|
||||||
echo pkg_add -v ${PKG}
|
|
||||||
else
|
|
||||||
echo "${CMD}"
|
|
||||||
fi
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
date "++++ Started %v %T +++" > ${LOG}
|
|
||||||
STARTED=$(date +%s)
|
|
||||||
(
|
|
||||||
if test -n "${PKG}"; then
|
|
||||||
echo "Found package ${PKG}"
|
|
||||||
pkg_add -v ${PKG}
|
|
||||||
else
|
|
||||||
echo "CMD: ${CMD}"
|
|
||||||
make clean
|
|
||||||
eval "${CMD}"
|
|
||||||
make clean # ${PORTS} 以下のディスク容量がすくなければコメントをはずす
|
|
||||||
fi
|
|
||||||
) 2>&1 | tee -a ${LOG}
|
|
||||||
FINISHED=$(date +%s)
|
|
||||||
DURATION=$(dc -e "${FINISHED} ${STARTED} - p")
|
|
||||||
date "++++ Finished %v %T after ${DURATION} secs +++" >> ${LOG}
|
|
||||||
done < stage_2.conf.${DATAFILE}
|
|
||||||
|
|
||||||
# vim: tabstop=4:
|
|
||||||
# EOF $RCSfile: stage_2.sh,v $
|
|
|
@ -1,235 +0,0 @@
|
||||||
# stage_3.mk - FreeBSD From Scratch, 第 3 段階: ports をインストールした後の設定
|
|
||||||
# Usage: make -f stage_3.mk all (すべての設定を行なう)
|
|
||||||
# or make -f stage_3.mk target (target の設定を行なう)
|
|
||||||
#
|
|
||||||
# 著者: Jens Schweikhardt
|
|
||||||
#
|
|
||||||
# すべての target が、複数回実行しても悪影響をおよぼさないように
|
|
||||||
# 確認しておくとよい。
|
|
||||||
#
|
|
||||||
# $Id: stage_3.mk,v 1.2 2006-03-13 16:46:15 rushani Exp $
|
|
||||||
# $FreeBSD$
|
|
||||||
# Original revision: 1.4
|
|
||||||
|
|
||||||
.POSIX:
|
|
||||||
|
|
||||||
message:
|
|
||||||
@echo "Please use one of the following targets:"
|
|
||||||
@echo "config_apache"
|
|
||||||
@echo "config_firefox"
|
|
||||||
@echo "config_inn"
|
|
||||||
@echo "config_javaplugin"
|
|
||||||
@echo "config_nullplugin"
|
|
||||||
@echo "config_privoxy"
|
|
||||||
@echo "config_smartd"
|
|
||||||
@echo "config_sudo"
|
|
||||||
@echo "config_TeX"
|
|
||||||
@echo "config_tin"
|
|
||||||
@echo "config_uucp"
|
|
||||||
@echo "all -- all of the above"
|
|
||||||
|
|
||||||
|
|
||||||
all: \
|
|
||||||
config_apache \
|
|
||||||
config_firefox \
|
|
||||||
config_inn \
|
|
||||||
config_javaplugin \
|
|
||||||
config_nullplugin \
|
|
||||||
config_privoxy \
|
|
||||||
config_smartd \
|
|
||||||
config_sudo \
|
|
||||||
config_TeX \
|
|
||||||
config_tin \
|
|
||||||
config_uucp
|
|
||||||
|
|
||||||
|
|
||||||
config_apache:
|
|
||||||
# 1. httpd.conf の変更
|
|
||||||
perl -pi \
|
|
||||||
-e 's/^\s*ServerAdmin.*/ServerAdmin schweikh\@schweikhardt.net/;' \
|
|
||||||
-e 's/^\s*Listen.*/Listen 127.0.0.1:80/;' \
|
|
||||||
-e 's/^\s*StartServers.*/StartServers 2/;' \
|
|
||||||
-e 's/^\s*MinSpareServers.*/MinSpareServers 2/;' \
|
|
||||||
-e 's,/usr/local/www/cgi-bin/,/home/opt/www/cgi-bin/,;' \
|
|
||||||
/usr/local/etc/apache2/httpd.conf
|
|
||||||
# 2. ウェブページに対するシンボリックリンクの作成
|
|
||||||
cd /usr/local/www/data; \
|
|
||||||
ln -fs /home/schweikh/prj/homepage schweikhardt.net; \
|
|
||||||
ln -fs /home/opt/www/test .
|
|
||||||
# httpd.conf が変更されていないか確認する。
|
|
||||||
@if ! cmp -s /usr/local/etc/apache2/httpd.conf httpd.conf; then \
|
|
||||||
echo "ATTENTION: the httpd.conf has changed. Please examine if"; \
|
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
|
||||||
diff -u /usr/local/etc/apache2/httpd.conf httpd.conf; \
|
|
||||||
fi
|
|
||||||
if test -f /var/run/httpd.pid; then \
|
|
||||||
/usr/local/etc/rc.d/apache2.sh stop; \
|
|
||||||
/usr/local/etc/rc.d/apache2.sh start; \
|
|
||||||
else \
|
|
||||||
/usr/local/etc/rc.d/apache2.sh start; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_firefox:
|
|
||||||
# wheel グループが書き込めるようにして、すべての extension をインストー
|
|
||||||
# ルできるようにする。
|
|
||||||
chmod -R g+w /usr/X11R6/lib/firefox/lib/mozilla-1.6/chrome
|
|
||||||
|
|
||||||
config_inn:
|
|
||||||
pw usermod -n news -d /usr/local/news -s /bin/sh
|
|
||||||
mkdir -p /share/news/spool/outgoing \
|
|
||||||
/share/news/spool/incoming \
|
|
||||||
/share/news/spool/articles \
|
|
||||||
/share/news/spool/overview \
|
|
||||||
/share/news/spool/tmp \
|
|
||||||
/share/news/db
|
|
||||||
chown -R news:news /share/news
|
|
||||||
# ニュースシステムの初期設定
|
|
||||||
cd /home/root/setup; \
|
|
||||||
if test ! -f /share/news/db/active; then \
|
|
||||||
echo "installing /share/news/db/active"; \
|
|
||||||
install -C -o news -g news -m 664 active /share/news/db; \
|
|
||||||
fi; \
|
|
||||||
if test ! -f /share/news/db/newsgroups; then \
|
|
||||||
echo "installing /share/news/db/newsgroups"; \
|
|
||||||
install -C -o news -g news -m 664 newsgroups /share/news/db; \
|
|
||||||
fi
|
|
||||||
# port の innd.sh は壊れていて、
|
|
||||||
# 存在しない history.pag をチェックしようとする。
|
|
||||||
cd /home/root/setup; \
|
|
||||||
install -C -o root -g wheel -m 555 innd.sh /usr/local/etc/rc.d
|
|
||||||
# 格納方法の設定
|
|
||||||
cd /home/root/setup; \
|
|
||||||
printf "%s\n%s\n%s\n%s\n" \
|
|
||||||
"method tradspool {" \
|
|
||||||
" newsgroups: *" \
|
|
||||||
" class: 0" \
|
|
||||||
"}" \
|
|
||||||
>storage.conf; \
|
|
||||||
install -C -o news -g news -m 664 storage.conf /usr/local/news/etc
|
|
||||||
# newsfeeds の設定
|
|
||||||
printf "%s\n%s\n" \
|
|
||||||
"ME:*::" \
|
|
||||||
"shuttle/news2.shuttle.de:!junk,!control:B32768/512,Tf,Wfb:" \
|
|
||||||
>/usr/local/news/etc/newsfeeds
|
|
||||||
# inn.conf の設定
|
|
||||||
perl -pi \
|
|
||||||
-e 's/^#*\s*(organization:\s*).*/$$1"An Open Pod Bay Door"/;' \
|
|
||||||
-e 's/^#*\s*(pathhost:\s*).*/$$1hal9000.schweikhardt.net/;' \
|
|
||||||
-e 's/^#*\s*(server:).*/$$1 localhost/;' \
|
|
||||||
-e 's/^#*\s*(domain:).*/$$1 schweikhardt.net/;' \
|
|
||||||
-e 's/^#*\s*(fromhost:).*/$$1 schweikhardt.net/;' \
|
|
||||||
-e 's,^#*\s*(moderatormailer:).*,$$1 \%s\@moderators.isc.org,;' \
|
|
||||||
-e 's,^#*\s*(pathdb:\s*).*,$$1/share/news/db,;' \
|
|
||||||
-e 's,/usr/local/news/spool,/share/news/spool,;' \
|
|
||||||
/usr/local/news/etc/inn.conf
|
|
||||||
# 履歴が全く存在しなければ、空の履歴を作成する。
|
|
||||||
# /usr/ports/news/inn-stable/Makefile の post-install 参照。
|
|
||||||
cd /share/news/db; \
|
|
||||||
if test ! -f history; then \
|
|
||||||
touch history; \
|
|
||||||
chmod 644 history; \
|
|
||||||
chown news:news history; \
|
|
||||||
su -fm news -c "/usr/local/news/bin/makedbz -i"; \
|
|
||||||
for s in dir hash index; do \
|
|
||||||
mv history.n.$${s} history.$${s}; \
|
|
||||||
done; \
|
|
||||||
fi
|
|
||||||
# send-uucp を設定する。
|
|
||||||
echo shuttle:shuttle >/usr/local/news/etc/send-uucp.cf
|
|
||||||
# inncheck を満足させる。
|
|
||||||
cd /usr/local/news/etc; \
|
|
||||||
chown news:news *; \
|
|
||||||
chmod 640 control.ctl expire.ctl nntpsend.ctl readers.conf
|
|
||||||
/usr/local/news/bin/inncheck
|
|
||||||
# inn.conf が変更されていないか確認する。
|
|
||||||
@if ! cmp -s /usr/local/news/etc/inn.conf inn.conf; then \
|
|
||||||
echo "ATTENTION: the inn.conf has changed. Please examine if"; \
|
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
|
||||||
diff -u /usr/local/news/etc/inn.conf inn.conf; \
|
|
||||||
fi
|
|
||||||
if ! test -f /usr/local/news/run/innd.pid; then \
|
|
||||||
/usr/local/etc/rc.d/innd.sh start; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_javaplugin:
|
|
||||||
# Mozilla Firefox:
|
|
||||||
cd /usr/X11R6/lib/firefox/lib/mozilla-1.6/plugins; \
|
|
||||||
ln -fs /usr/local/jdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so
|
|
||||||
# Plain Mozilla:
|
|
||||||
#cd /usr/X11R6/lib/mozilla/plugins; \
|
|
||||||
#ln -fs /usr/local/jdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so
|
|
||||||
|
|
||||||
# nullplugin を邪魔にならないように削除する。また、.mozilla/*/*/prefs.js に
|
|
||||||
# 次の項目を追加する。
|
|
||||||
# user_pref("plugin.display_plugin_downloader_dialog", false);
|
|
||||||
# これで入手できないプラグイン (flash 等) についてポップアップダイアログが
|
|
||||||
# 出ないようになる。
|
|
||||||
config_nullplugin:
|
|
||||||
find /usr/X11R6/lib -name libnullplugin.so -exec mv {} {}.orig \;
|
|
||||||
|
|
||||||
config_privoxy:
|
|
||||||
install -C -o root -g wheel -m 644 conf/privoxy/config \
|
|
||||||
/usr/local/etc/privoxy
|
|
||||||
install -C -o root -g wheel -m 755 conf/privoxy/privoxy.sh \
|
|
||||||
/usr/local/etc/rc.d
|
|
||||||
/usr/local/etc/rc.d/privoxy.sh restart
|
|
||||||
|
|
||||||
config_smartd:
|
|
||||||
cp smartd.sh /usr/local/etc/rc.d/smartd.sh
|
|
||||||
cp smartd.conf /usr/local/etc/smartd.conf
|
|
||||||
|
|
||||||
config_sudo:
|
|
||||||
if ! grep -q schweikh /usr/local/etc/sudoers; then \
|
|
||||||
echo 'schweikh ALL = (ALL) NOPASSWD: ALL' >> /usr/local/etc/sudoers; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_TeX:
|
|
||||||
# textproc/docproj では、FreeBSD ハンドブックを JadeTeX で
|
|
||||||
# タイプセットするには、次の値を設定するよう指示されている
|
|
||||||
perl -pi \
|
|
||||||
-e 's/^% original texmf.cnf/% texmf.cnf/;' \
|
|
||||||
-e 's/^(hash_extra\s*=\s*).*/$${1}60000/;' \
|
|
||||||
-e 's/^(pool_size\s*=\s*).*/$${1}1000000/;' \
|
|
||||||
-e 's/^(max_strings\s*=\s*).*/$${1}70000/;' \
|
|
||||||
-e 's/^(save_size\s*=\s*).*/$${1}10000/;' \
|
|
||||||
/usr/local/share/texmf/web2c/texmf.cnf
|
|
||||||
# texmf.cnf が変更されていないか確認する。
|
|
||||||
@if ! cmp -s /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; then \
|
|
||||||
echo "ATTENTION: the texmf.cnf has changed. Please examine if"; \
|
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
|
||||||
diff -u /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_tin:
|
|
||||||
# tin が設定したファイルを読むように設定
|
|
||||||
printf "%s\n%s\n%s\n" \
|
|
||||||
"activefile=/share/news/db/active" \
|
|
||||||
"newsgroupsfile=/share/news/db/newsgroups" \
|
|
||||||
"spooldir=/share/news/spool/articles" \
|
|
||||||
>/usr/local/etc/tin.defaults
|
|
||||||
|
|
||||||
config_uucp:
|
|
||||||
cd /etc/mail; make install SENDMAIL_MC=/etc/mail/hal9000.mc
|
|
||||||
# su(1) が動作するように uucp ユーザのシェルを正しい uucico にする。
|
|
||||||
chpass -s /usr/local/libexec/uucp/uucico uucp
|
|
||||||
# UUCP が /usr/bin/rnews を見つけられるようにする
|
|
||||||
cd /usr/bin; ln -fs ../local/news/bin/rnews .
|
|
||||||
# 実際の UUCP の設定
|
|
||||||
echo nodename js2015 > /usr/local/etc/uucp/config
|
|
||||||
echo shuttle js2015 `cat uucp` > /usr/local/etc/uucp/call
|
|
||||||
printf 'port tcp\ntype tcp\n' > /usr/local/etc/uucp/port
|
|
||||||
printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n" \
|
|
||||||
"call-login *" \
|
|
||||||
"call-password *" \
|
|
||||||
"time any" \
|
|
||||||
"system shuttle" \
|
|
||||||
"address mail.s.shuttle.de" \
|
|
||||||
"commands rmail rnews" \
|
|
||||||
"port tcp" \
|
|
||||||
>/usr/local/etc/uucp/sys
|
|
||||||
cd /usr/local/etc/uucp; chown uucp:uucp *; chmod o-rwx *
|
|
||||||
# 起動後に uucico を実行する
|
|
||||||
mkdir -p /usr/local/etc/rc.d; cp uucp.sh /usr/local/etc/rc.d
|
|
||||||
|
|
||||||
# vim: tabstop=4:
|
|
||||||
# EOF $RCSfile: stage_3.mk,v $
|
|
|
@ -23,7 +23,6 @@ SUBDIR+= geom-class
|
||||||
SUBDIR+= gjournal-desktop
|
SUBDIR+= gjournal-desktop
|
||||||
SUBDIR+= hubs
|
SUBDIR+= hubs
|
||||||
SUBDIR+= ipsec-must
|
SUBDIR+= ipsec-must
|
||||||
SUBDIR+= laptop
|
|
||||||
SUBDIR+= linux-comparison
|
SUBDIR+= linux-comparison
|
||||||
SUBDIR+= mailing-list-faq
|
SUBDIR+= mailing-list-faq
|
||||||
SUBDIR+= mh
|
SUBDIR+= mh
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# The FreeBSD Russian Documentation Project
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/laptop/Makefile,v 1.3 2005/12/20 11:38:53 gad Exp $
|
|
||||||
#
|
|
||||||
# Original revision: r39631
|
|
||||||
#
|
|
||||||
# Article: FreeBSD on Laptops
|
|
||||||
#
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,301 +0,0 @@
|
||||||
<?xml version="1.0" encoding="koi8-r"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
||||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
||||||
<!--
|
|
||||||
The FreeBSD Russian Documentation Project
|
|
||||||
|
|
||||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/laptop/article.xml,v 1.15 2007/05/15 07:58:44 gad Exp $
|
|
||||||
|
|
||||||
Original revision: r43184
|
|
||||||
-->
|
|
||||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
|
|
||||||
<info><title>FreeBSD на лэптопах</title>
|
|
||||||
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para><literal>Перевод на русский язык Виталий Богданов</literal></para>
|
|
||||||
<para>FreeBSD, за некоторым исключением, прекрасно работает на
|
|
||||||
большинстве лэптопов. Далее обсуждаются вопросы, специфичные для
|
|
||||||
работы FreeBSD на лэптопах, которые касаются аппаратных требований,
|
|
||||||
отличающихся от настольных компьютеров.</para>
|
|
||||||
</abstract>
|
|
||||||
|
|
||||||
<legalnotice xml:id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.linux;
|
|
||||||
&tm-attrib.microsoft;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>FreeBSD часто воспринимается как операционная система для серверов, но
|
|
||||||
она прекрасно работает и на настольных компьютерах, а если вы захотите
|
|
||||||
использовать ее на вашем лэптопе, то вы получите все обычные преимущества:
|
|
||||||
строгое распределение дискового пространства, простота администрирования и
|
|
||||||
обновления, система портов/пакаджей для установки программного обеспечения
|
|
||||||
и так далее. (Ее остальные преимущества, такие, как стабильность, высокая
|
|
||||||
производительность сетевых операций и производительность при большой
|
|
||||||
нагрузке, конечно, могут быть необычными для лэптопа.) Однако при ее
|
|
||||||
установке на лэптопы часто возникают проблемы, которых нет на настольных
|
|
||||||
машинах и редко обсуждаются (лэптопы, гораздо чаще, чем настольные машины,
|
|
||||||
тонко настроены под µsoft.windows;). Эта статья предназначена для
|
|
||||||
обсуждения этих проблем. Есть люди, которые задокументировали свой опыт
|
|
||||||
работы с &os; на отдельных моделях лэптопов на web страничках, не являющихся
|
|
||||||
частью &os; документации. Вы наверняка найдете некоторую информацию, если
|
|
||||||
воспользуйтесь вашим любимым поисковиком, введя в нём модель лэптопа и слово
|
|
||||||
<quote>&os;</quote>. Дополнительно существует специфичная для &os; база
|
|
||||||
данных, цель которой давать информацию по аппаратным вопросам, связанным
|
|
||||||
с лэптопами, <link xlink:href="http://laptop.bsdgroup.de/freebsd/">Список
|
|
||||||
лэптопов, совместимых с &os;</link>.</para>
|
|
||||||
|
|
||||||
<para>Если вы хотите пообщаться с другими пользователями &os; на лэптопах,
|
|
||||||
используйте список рассылки &a.mobile.name;. Вы также можете получить
|
|
||||||
дополнительную информацию о использовании лэптопов во &os; по адресу
|
|
||||||
<uri xlink:href="http://tuxmobil.org/mobile_bsd.html">http://tuxmobil.org/mobile_bsd.html</uri>.</para>
|
|
||||||
|
|
||||||
<sect1 xml:id="xorg">
|
|
||||||
<title>&xorg;</title>
|
|
||||||
|
|
||||||
<para>Последние версии <application>&xorg;</application> работают с большинством графических
|
|
||||||
адаптеров, применяемых в лэптопах в настоящее время. Ускорители могут не
|
|
||||||
поддерживаться, но обычная конфигурация для SVGA будет работать.</para>
|
|
||||||
|
|
||||||
<para>Обратитесь к документации по вашему лэптопу для выяснения того, какой
|
|
||||||
адаптер используется и к документации по <application>&xorg;</application> для
|
|
||||||
определения, поддерживается ли этот адаптер. Если он не
|
|
||||||
поддерживается, используйте стандартное устройство (не пытайтесь
|
|
||||||
использовать название, которое просто выглядит похожим). Вы можете попытать счастья с командой
|
|
||||||
<userinput>Xorg -configure</userinput>, которая автоматически
|
|
||||||
распознает много конфигураций.</para>
|
|
||||||
|
|
||||||
<para>Часто проблема заключается в настройке монитора. Доступные источники
|
|
||||||
информации по <application>&xorg;</application> посвящены CRT-мониторам, подбор подходящего режима
|
|
||||||
работы для LCD-монитора может оказаться не простым занятием. Вам может
|
|
||||||
повезти и вам не придется указывать режим, или будет достаточно указать
|
|
||||||
подходящие параметры <literal>HorizSync</literal> и <literal>VertRefresh</literal>. Если это не сработает,
|
|
||||||
лучше всего обратиться к ресурсам Интернет, посвященным настройке X на
|
|
||||||
лэптопах (часто это сайты, ориентированны на Linux, но это не имеет
|
|
||||||
значения, так как в обеих системах используется <application>&xorg;</application>) и скопировать
|
|
||||||
режим, опубликованный кем-то с похожим оборудованием.</para>
|
|
||||||
|
|
||||||
<para>Большинство лэптопов поставляются с двумя кнопками на позиционирующем
|
|
||||||
устройстве, что достаточно проблематично в X (так как средняя кнопка
|
|
||||||
часто используется для вставки текста); вы можете поставить в
|
|
||||||
соответствие одновременное нажатие на левую и правую кнопки в вашей
|
|
||||||
конфигурации X нажатию на среднюю кнопку строчкой</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
Option "Emulate3Buttons"
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>в файле <filename>xorg.conf</filename> в разделе
|
|
||||||
<literal>InputDevice</literal>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="modems">
|
|
||||||
<title>Модемы</title>
|
|
||||||
|
|
||||||
<para>Лэптопы обычно поставляются со встроенными (интегрированными на
|
|
||||||
плате) модемами. К сожалению, это практически всегда означает, что это
|
|
||||||
<quote>winmodem</quote>ы, функциональность которых реализована программно, и для них
|
|
||||||
обычно имеются драйверы только для &windows; (хотя начали появляться
|
|
||||||
некоторые драйверы и для других операционных систем; например, если у вашего
|
|
||||||
модема Lucent LT чипсет, то он будет поддерживаться портом
|
|
||||||
<package>comms/ltmdm</package>). Если это ваш случай вам нужно
|
|
||||||
приобрести внешний модем; самым компактным решением, наверное, является
|
|
||||||
модем стандарта PC Card (PCMCIA), что обсуждается ниже, но модемы с
|
|
||||||
последовательным интерфейсом или интерфейсом USB могут оказаться дешевле.
|
|
||||||
В общем, обычные (не-winmodem) модемы должны работать нормально.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="pcmcia">
|
|
||||||
<title>Устройства PCMCIA (PC Card)</title>
|
|
||||||
|
|
||||||
<para>Большинство лэптопов поставляются с разъемами PCMCIA (также
|
|
||||||
называемые PC Card); они прекрасно поддерживаются во FreeBSD.
|
|
||||||
Просмотрите (при помощи &man.dmesg.8;) сообщения, выдаваемые при загрузке, и
|
|
||||||
определите, были ли они правильно распознаны (слоты должны распознаваться
|
|
||||||
как <filename>pccard0</filename>, <filename>pccard1</filename> и
|
|
||||||
так далее на устройствах типа <filename>pcic0</filename>).</para>
|
|
||||||
|
|
||||||
<para>&os; 4.X поддерживает 16-разрядные карты PCMCIA, а &os; 5.X
|
|
||||||
поддерживает как 16-разрядные, так и 32-разрядные (<quote>CardBus</quote>).
|
|
||||||
База данных поддерживаемых карт находится в файле <filename>/etc/defaults/pccard.conf</filename>.
|
|
||||||
Просмотрите его, и при покупке старайтесь выбрать карты, перечисленные
|
|
||||||
здесь. Карты, не указанные здесь, могут также работать как <quote>стандартные</quote>
|
|
||||||
устройства: в частности, большинство модемов (16-битных) должны работать
|
|
||||||
нормально, при условии, что это не win-модем (они существуют и в варианте
|
|
||||||
PC-карт(PC Cards), так что будьте внимательны). Если ваша карта распознается как
|
|
||||||
обычный модем, заметьте, что по умолчанию в файле <filename>pccard.conf</filename> задана
|
|
||||||
пауза в 10 секунд (во избежание зависания некоторых модемов); это может
|
|
||||||
оказаться излишним для вашего модема, так что вы можете изменить это
|
|
||||||
значение, уменьшим его или убрав совсем.</para>
|
|
||||||
|
|
||||||
<para>Некоторые разделы <filename>pccard.conf</filename> могут потребовать редактирования.
|
|
||||||
Проверьте строчку с irq и обязательно удалите любые значения, которые
|
|
||||||
уже используются: в частности, если у вас есть встроенный звуковой
|
|
||||||
адаптер, уберите irq 5 (в противном случае вы получите сбой при попытке
|
|
||||||
вставить карту). Проверьте также наличие доступных слотов для памяти;
|
|
||||||
если ваша карта не распознана, попробуйте изменить значение на одно из
|
|
||||||
других разрешенных (они перечислены на справочной странице
|
|
||||||
&man.pccardc.8;).</para>
|
|
||||||
|
|
||||||
<para>Запустите даемон &man.pccardd.8;, если он еще не запущен. Для запуска его
|
|
||||||
при загрузке добавьте в файл <filename>/etc/rc.conf</filename> строчку
|
|
||||||
<programlisting>pccard_enable="YES"</programlisting> Теперь ваши карты
|
|
||||||
должны обнаруживаться, когда вы их вставляете и вытаскиваете, и вы должны
|
|
||||||
получать диагностические сообщения о появлении новых устройств.</para>
|
|
||||||
|
|
||||||
<para>Перед релизом &os; 4.4 в коде pccard произошли большие изменения
|
|
||||||
(включая перенаправление прерываний ISA для тех машин, с PCI BIOS которых
|
|
||||||
&os; работать не может). Если у вас возникли проблемы, попробуйте
|
|
||||||
обновить вашу систему.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 xml:id="power-management">
|
|
||||||
<title>Управление электропитанием</title>
|
|
||||||
|
|
||||||
<para>К сожалению, оно не очень надежно поддерживается во FreeBSD. Если
|
|
||||||
вам повезло, то некоторые функции могут работать нормально; либо они не
|
|
||||||
будут работать вовсе.</para>
|
|
||||||
|
|
||||||
<para>Чтобы сделать вещи немножко сложнее, существует два стандарта по
|
|
||||||
управлению электропитанием: APM и ACPI, последний заменяет собой первый
|
|
||||||
и включает больше возможностей, но также вносит больше проблем.</para>
|
|
||||||
|
|
||||||
<para>Некоторые лэптопы поддерживают и APM и ACPI (в разной степени),
|
|
||||||
другие поддерживают только один из них, поэтому возможно вам придётся
|
|
||||||
поэкспериментировать с обоими для получения надёжного управления
|
|
||||||
питанием на вашем лэптопе.</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>Вы не можете иметь одновременно включенными APM и ACPI, даже
|
|
||||||
если если ваш лэптоп поддерживает и тот и другой стандарты.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>APM</title>
|
|
||||||
|
|
||||||
<para>The APM (Advanced Power Management) BIOS предоставляет
|
|
||||||
поддержку различных возможностей по управлению электропитанием,
|
|
||||||
таких как ожидание (standby), приостановление (suspend),
|
|
||||||
режим пониженного электропотребления (hibernation), замедление
|
|
||||||
тактовых импульсов CPU (CPU clock) и так далее, и доступен во
|
|
||||||
&os; 4.X и &os; 5.X.</para>
|
|
||||||
|
|
||||||
<para>Чтобы включить поддержку APM, вы можете скомпилировать
|
|
||||||
ядро с поддержкой управления электропитанием
|
|
||||||
(<literal>device apm0</literal> во &os; 4.X и
|
|
||||||
<literal>device apm</literal> во &os; 5.X).
|
|
||||||
Во &os; 5.X имеется модуль ядра для APM. Чтобы
|
|
||||||
загрузить модуль ядра поддержки APM во время загрузки
|
|
||||||
добавьте строчку <literal>apm_load="YES"</literal> в
|
|
||||||
<filename>/boot/loader.conf</filename>.</para>
|
|
||||||
|
|
||||||
<para>Во &os; 5.X, вам также нужно установить
|
|
||||||
<literal>hint.apm.0.disabled="0"</literal> в
|
|
||||||
<filename>/boot/device.hints</filename>.</para>
|
|
||||||
|
|
||||||
<para>Вы можете запустить APM во время загрузки посредством
|
|
||||||
добавления <literal>apm_enable="YES"</literal> в файл
|
|
||||||
<filename>/etc/rc.conf</filename>. Вы возможно также
|
|
||||||
захотите запустить даемон &man.apmd.8;, добавив
|
|
||||||
<literal>apmd_enable="YES"</literal> в <filename>/etc/rc.conf</filename>,
|
|
||||||
который позаботится о различных событиях APM, посылаемых к
|
|
||||||
BIOS, так чтобы вы могли иметь на вашем лэптопе
|
|
||||||
приостановление/продолжение работы с помощью нажатия некой
|
|
||||||
функциональной клавиши на клавиатуре или с помощью
|
|
||||||
закрытия/открытия крышки.</para>
|
|
||||||
|
|
||||||
<para>Команды APM перечислены в справочной странице &man.apm.8;.
|
|
||||||
К примеру, <command>apm -b</command> выдаёт статус батарей
|
|
||||||
(или 255, если не поддерживается), <command>apm -Z</command>
|
|
||||||
переводит лэптоп в режим ожидания, <command>apm -z</command> (или
|
|
||||||
<command>zzz</command>) приостановит его. Для выключения и
|
|
||||||
отключения машины от питания, воспользуйтесь командой
|
|
||||||
<command>shutdown -p</command>. И снова, некоторые или все эти
|
|
||||||
функции могут не работать нормально или не работать вовсе.</para>
|
|
||||||
|
|
||||||
<para>Вы можете обнаружить, что переключение режимов suspension/standby
|
|
||||||
лэптопа работает в режиме консоли, но не работает в режиме X
|
|
||||||
(то есть экран не восстанавливается); если вы используйте
|
|
||||||
&os; 5.X, то возможным решением может быть добавление
|
|
||||||
<literal>options SC_NO_SUSPEND_VTYSWITCH</literal> в ваш конфигурационный
|
|
||||||
файл ядра и перекомпилирование ядра. Другое решение - это
|
|
||||||
переключение на виртуальную консоль (при помощи
|
|
||||||
<keycombo action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
|
|
||||||
или другой функциональной клавиши) и запуск &man.apm.8;.
|
|
||||||
Если вы используйте &man.apmd.8;, вы можете автоматизировать это
|
|
||||||
с помощью &man.vidcontrol.1;. Просто отредактируйте
|
|
||||||
<filename>/etc/apmd.conf</filename> и измените его на:</para>
|
|
||||||
|
|
||||||
<programlisting>apm_event SUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "/etc/rc.suspend";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event USERSUSPENDREQ {
|
|
||||||
exec "vidcontrol -s 1 < /dev/console";
|
|
||||||
exec "sync && sync && sync";
|
|
||||||
exec "sleep 1";
|
|
||||||
exec "apm -z";
|
|
||||||
}
|
|
||||||
|
|
||||||
apm_event NORMRESUME, STANDBYRESUME {
|
|
||||||
exec "/etc/rc.resume";
|
|
||||||
exec "vidcontrol -s 9 < /dev/console";
|
|
||||||
}</programlisting>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>ACPI</title>
|
|
||||||
|
|
||||||
<para>ACPI (Advanced Configuration and Power Management
|
|
||||||
Interface) предлагает не только управление электропитанием, но и
|
|
||||||
платформенное обнаружение оборудования (platform hardware
|
|
||||||
discovery) (вытесняющее PnP и PCI BIOS). ACPI доступен только
|
|
||||||
в &os; 5.X и включён по умолчанию,
|
|
||||||
поэтому вам не нужно ничего специально делать чтобы включить
|
|
||||||
его. Вы можете контролировать поведение ACPI с помощью
|
|
||||||
&man.acpiconf.8;.</para>
|
|
||||||
|
|
||||||
<para>К сожалению, поставщики часто поставляют лэптопы
|
|
||||||
с некорректной реализацией ACPI, и поэтому наличие включённого
|
|
||||||
ACPI иногда вызывает больше проблем, чем приносит пользы,
|
|
||||||
вплоть до того, что вы не можете даже загрузить &os; на некоторых
|
|
||||||
машинах со включённым ACPI.</para>
|
|
||||||
|
|
||||||
<para>Если ACPI вызывает проблемы, проверьте, не выпустил ли
|
|
||||||
поставщик вашего лэптопа новую версию BIOS, устраняющую некоторые
|
|
||||||
ошибки. Так как реализация ACPI в &os; до сих пор быстро
|
|
||||||
развивающийся код, вы также можете обновить вашу систему, поэтому
|
|
||||||
есть шансы, что ваши проблемы исправлены.</para>
|
|
||||||
|
|
||||||
<para>Если вы хотите отключить ACPI, добавьте
|
|
||||||
<literal>hint.acpi.0.disabled="1"</literal> в файл
|
|
||||||
<filename>/boot/device.hints</filename>. Вы можете временно
|
|
||||||
отключить ACPI на стадии загрузчика, набрав команду
|
|
||||||
<literal>unset acpi_load</literal>, если у вас имеются проблемы с
|
|
||||||
загрузкой машины со включённым ACPI. &os; 5.1-RELEASE и
|
|
||||||
последующие релизы содержат загрузочное меню, с помощью которого
|
|
||||||
можно контролировать загрузку &os;. Одна из предлагаемых опций -
|
|
||||||
это отключение ACPI. Итак, чтобы выключить ACPI, просто выберите
|
|
||||||
пункт <guimenuitem>2. Boot &os; with ACPI disabled</guimenuitem>
|
|
||||||
в меню.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Управление электропитанием дисплея</title>
|
|
||||||
|
|
||||||
<para>X window system (<application>&xorg;</application>) также включает в себя систему управления
|
|
||||||
электропитанием дисплея (обратитесь к справочной странице по &man.xset.1;
|
|
||||||
и поищите там ключевое слово <quote>dpms</quote>). Вы можете захотеть
|
|
||||||
поэкспериментировать с этой функцией. Однако это также на лэптопах
|
|
||||||
работает нестабильно; часто дисплей выключается не полностью.</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
Loading…
Reference in a new issue