I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
387 lines
21 KiB
Text
387 lines
21 KiB
Text
---
|
|
title: FreeBSD gyorstalpaló Linux® felhasználók számára
|
|
authors:
|
|
- author: Ferrell, John
|
|
copyright: 2008 A FreeBSD Dokumentációs Projekt
|
|
releaseinfo: "$FreeBSD$"
|
|
trademarks: ["freebsd", "intel", "redhat", "linux", "unix", "general"]
|
|
---
|
|
|
|
= FreeBSD gyorstalpaló Linux(R) felhasználók számára
|
|
:doctype: article
|
|
:toc: macro
|
|
:toclevels: 1
|
|
:icons: font
|
|
:sectnums:
|
|
:sectnumlevels: 6
|
|
:source-highlighter: rouge
|
|
:experimental:
|
|
:toc-title: Tartalom
|
|
:table-caption: Táblázat
|
|
:figure-caption: Ábra
|
|
:example-caption: Példa
|
|
|
|
include::shared/hu/urls.adoc[]
|
|
|
|
[.abstract-title]
|
|
Kivonat
|
|
|
|
Ez a cikk azért íródott, hogy röviden megismertesse a FreeBSD alapjait a középhaladó-haladó Linux(R) felhasználókkal.
|
|
|
|
_Fordította: Páli Gábor, utolsó ellenõrzés: 2010.11.28._
|
|
|
|
'''
|
|
|
|
toc::[]
|
|
|
|
[[intro]]
|
|
== Bevezetés
|
|
|
|
Ebben a leírásban a FreeBSD és a Linux(R) közti alapvetõ eltéréseket igyekszünk szemléltetni, aminek révén a középhaladó és haladó Linux(R) felhasználók pillanatok alatt bepillantást nyerhetnek a FreeBSD alapjaiba. Ez egyszerûen csak egy szakmai jellegû bevezetés, és nem foglalkozik a két rendszer felépítése közti "filozófiai" különbségekkel.
|
|
|
|
A leírás feltételezi, hogy korábban már telepítettük a FreeBSD rendszert. Amennyiben ezt még nem tettük volna meg, vagy segítségre lenne szükségünk a telepítésben, akkor olvassuk el a FreeBSD kézikönyv link:{handbook}#install[A FreeBSD telepítése] címû fejezetét.
|
|
|
|
[[shells]]
|
|
== Parancsértelmezõk: hova tûnt a Bash?
|
|
|
|
A Linuxról áttérõ felhasználók gyakran meglepõdnek azon, hogy a FreeBSD-ben nem a Bash az alapértelmezett parancsértelmezõ. Sõt, a Bash még az alaprendszerben sem található meg. Helyette a man:tcsh[1] az alapértelmezett parancsértelmezõ a FreeBSD-ben. Természetesen a Bash, a többi szintén közkedvelt parancsértelmezõhöz hasonlóan megtalálható a FreeBSD <<SOFTWARE, Csomag- és Portgyûjteményében>>.
|
|
|
|
Ha más parancsértelmezõket is telepítettünk, akkor a man:chsh[1] parancs segítségével tudjuk megváltoztatni az alapértelmezett parancsértelmezõnket. A `root` felhasználó alapértelmezett parancsértelmezõjének megváltoztatását azonban nem javasoljuk. Ennek oka, hogy azok a parancsértelmezõk, amelyek nem részei az alaprendszernek, általában a [.filename]#/usr/local/bin# vagy a [.filename]#/usr/bin# könyvtárakban találhatóak, és bizonyos vészhelyzetekben elõfordulhat, hogy ezeket az állományrendszereket nem tudjuk csatlakoztatni. Ilyen esetekben a `root` sem lesz képes elérni a saját alapértelmezett parancsértelmezõjét, amivel lényegében megakadályozzuk, hogy be tudjon jelentkezni. Erre a célra a `root` felhasználó egy alternatíváját, a `toor` felhasználót hozták létre, amelyet az alaprendszeren kívül található parancsértelmezõkkel is használhatunk. A link:{faq}#TOOR-ACCOUNT[toor hozzáférésérõl] a GYIK biztonsági kérdésekkel foglalkozó részében tudhatunk meg többet (angolul).
|
|
|
|
[[software]]
|
|
== Csomagok és portok: szoftverek telepítése FreeBSD alatt
|
|
|
|
A szoftverek telepítésének hagyományos UNIX(R)-os megoldásain (a forrás letöltésén, kitömörítésén, a forráskód módosításán és lefordításán) túl az alkalmazások telepítésének további két módját is felkínálja a FreeBSD: ezek a csomagok és a portok. A rendszerhez elérhetõ összes port és csomag teljes listáját http://www.freebsd.org/ports/[ezen] a címen érhetjük el.
|
|
|
|
[[packages]]
|
|
=== Csomagok
|
|
|
|
A csomagok lényegében elõre lefordított alkalmazások, amelyek megfelelnek a Debian/Ubuntu rendszerekben megtalálható [.filename]#.deb#, vagy a Red Hat/Fedora rendszerekben megtalálható [.filename]#.rpm# állományoknak. A csomagok a man:pkg_add[1] segítségével telepíthetõek. Például az alábbi parancs az Apache 2.2 alkalmazást rakja fel:
|
|
|
|
[source,bash]
|
|
....
|
|
# pkg_add /tmp/apache-2.2.6_2.tbz
|
|
....
|
|
|
|
Az `-r` kapcsolóval arra utasítjuk a man:pkg[add] programot, hogy magától töltse le és telepítse a csomagot, valamint annak függõségeit:
|
|
|
|
[source,bash]
|
|
....
|
|
# pkg_add -r apache22
|
|
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done.
|
|
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/expat-2.0.0_1.tbz... Done.
|
|
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/perl-5.8.8_1.tbz... Done.
|
|
[nyissz]
|
|
|
|
To run apache www server from startup, add apache22_enable="YES"
|
|
in your /etc/rc.conf. Extra options can be found in startup script.
|
|
....
|
|
|
|
[NOTE]
|
|
====
|
|
Ha a FreeBSD valamelyik kiadását használjuk (6.2, 6.3, 7.0 stb., tehát CD-rõl telepítettük), akkor a `pkg_add -r` az adott kiadáshoz tartozó csomagokat fogja letölteni. Ezek a csomagok azonban _nem feltétlenül_ az alkalmazás legújabb verziójához tartoznak. Ezt az alapértelmezett viselkedést felül tudjuk bírálni, ha a `PACKAGESITE` környezeti változót az link:ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/[ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/] értékre állítjuk, és így például a 6.X sorozathoz készült legfrissebb csomagokat tölthetjük le.
|
|
|
|
A FreeBSD különbözõ változatairól a link:{version-guide}[Válasszuk ki a nekünk igazán megfelelõ FreeBSD verziót!] címû cikkben olvashatunk bõvebben.
|
|
====
|
|
|
|
A csomagok használatával kapcsolatban a FreeBSD kézikönyvében kaphatunk részletesebb felvilágosítást, lásd link:{handbook}#packages-using[A csomagrendszer használata].
|
|
|
|
[[ports]]
|
|
=== Portok
|
|
|
|
A FreeBSD-ben az alkalmazások telepítésének másik módja a Portgyûjtemény használata. A Portgyûjtemény lényegében [.filename]#Makefile# állományok és javítások gyûjteménye, amelyek a különféle alkalmazások forráskódját készítik fel arra, hogy a FreeBSD-n is használhatóak legyenek. Amikor telepítünk egy portot, akkor a rendszer elõször letölti az alkalmazás forráskódját, elvégzi a szükséges módosításokat, lefordítja a forrást és végül telepíti az alkalmazást (valamint mindezt megteszi az összes függõsége esetében).
|
|
|
|
A Portgyûjtemény, vagy gyakran egyszerûen csak a "portfa", a [.filename]#/usr/ports# könyvtárban található. Itt nyilván feltételezzük, hogy a Portgyûjteményt is kiválasztottuk a FreeBSD telepítése során. Amennyiben a Portgyûjteményt még nem telepítettük volna, a man:sysinstall[8] segítségével feltehetjük a telepítõlemezrõl, vagy esetleg a man:csup[1], illetve man:portsnap[8] használatával letölthetjük a FreeBSD Projekt valamelyik szerverérõl. A Portgyûjtemény telepítésének részletes bemutatása megtalálható a kézikönyv link:{handbook}#ports-using[4.5.1. szakaszában].
|
|
|
|
A telepítéshez (általában) csak be kell lépnünk az adott port könyvtárába és el kell indítanunk a fordítást. A következõ példában az Apache 2.2 alkalmazást telepítjük a Portgyûjteménybõl:
|
|
|
|
[source,bash]
|
|
....
|
|
# cd /usr/ports/www/apache22
|
|
# make install clean
|
|
....
|
|
|
|
A portok alkalmazásának egyik legnagyobb elõnye, hogy a szoftverek telepítése során testre tudjuk szabni azok beállításait. Például amikor az Apache 2.2 alkalmazást portként telepítjük, a `WITH_LDAP` man:make[1] változó megadásával engedélyezhetjük a mod_ldap használatát:
|
|
|
|
[source,bash]
|
|
....
|
|
# cd /usr/ports/www/apache22
|
|
# make WITH_LDAP="YES" install clean
|
|
....
|
|
|
|
A Portgyûjteménnyel kapcsolatos további információk tekintetében olvassuk el a FreeBSD kézikönyv link:{handbook}#ports-using[A Portgyûjtemény használata] címû szakaszát.
|
|
|
|
[[which]]
|
|
=== Portok vagy csomagok, mégis melyiket használjam?
|
|
|
|
A csomagok tulajdonképpen elõre lefordított portok, ezért igazából csak abban van köztük különbség, hogy forrásból (portok) vagy binárisan telepítjük-e az alkalmazásokat. Mindegyik módszernek megvannak a maga elõnyei:
|
|
|
|
.Csomagok (bináris)
|
|
* Gyorsabb telepítés (a nagyobb alkalmazások lefordítása viszont nagyon sokáig is eltarthat).
|
|
* Nem szükséges megértenünk a szoftverek lefordításának mikéntjét.
|
|
* Nem kell fordítóprogramokat telepítenünk a rendszerünkre.
|
|
|
|
.Portok (forrás)
|
|
* A telepítés beállításait tetszõlegesen szabályozhatjuk. (A csomagok általában szabványos beállításokkal készülnek. A portok esetében azonban lehetõségünk van ezeket kedvünk szerint megváltoztatni, mint például további modulok fordítását kérni, vagy átállítani a telepítés alapértelmezett helyét.)
|
|
* Ha késztetést érzünk, akkor akár a saját javításainkat is beletehetjük a forráskódba.
|
|
|
|
Ha nincsenek különös igényeink, akkor a csomagok minden bizonnyal tökéletesen megfelelnek számunkra. Amikor viszont valamit külön be szeretnénk állítani, akkor ahhoz a portokat érdemes választanunk. (Ne felejtsük el azonban, hogy ha elsõsorban a csomagokhoz ragaszkodunk, de mégis módosítanunk kell valamit bennük, akkor a `make package` parancs kiadásával a portokból is tudunk csomagot készíteni, majd átmásolni azokat más szerverekre.)
|
|
|
|
[[startup]]
|
|
== A rendszer indítása: hova lettek a futási szintek?
|
|
|
|
A Linux(R) a SysV rendszerindítási sémáját alkalmazza, miközben a FreeBSD a hagyományos BSD típusú man:init[8] megoldást. A BSD típusú man:init[8] esetén nincsenek futási szintek és nem létezik [.filename]#/etc/inittab# állomány. Helyette az man:rc[8] vezérli a rendszer indítását. Az [.filename]#/etc/rc# szkript beolvassa az [.filename]#/etc/defaults/rc.conf# és [.filename]#/etc/rc.conf# állományokat, amelyekbõl megállapítja, hogy milyen szolgáltatásokat indítson el. A megadott szolgáltatásokat ezután az [.filename]#/etc/rc.d# és a [.filename]#/usr/local/etc/rc.d# könyvtárakban található megfelelõ indítószkriptek segítségével indítja el. Ezek a szkriptek hasonlóak a Linux(R) rendszereken az [.filename]#/etc/init.d# könyvtárban található szkriptekhez.
|
|
|
|
****
|
|
_A szolgáltatások indításáért felelõs szkriptek miért két különbözõ helyen találhatóak?_ Az [.filename]#/etc/rc.d# könyvtárban található szkriptek az "alaprendszer" részei (mint például a man:cron[8], man:sshd[8], man:syslog[3] és a többi). A [.filename]#/usr/local/etc/rc.d# könyvtárban pedig a felhasználó által telepíthetõ alkalmazások, például az Apache, Squid stb. szkriptjei találhatóak.
|
|
|
|
_Mi a különbség az "alaprendszerben" található és a felhasználó által telepített alkalmazások között?_ A FreeBSD-t egy összefüggõ operációs rendszerként fejlesztik. Ezt másképpen úgy lehetne fogalmazni, hogy a rendszermagot, a rendszerszintû függvénykönyvtárakat és a hozzájuk tartozó programokat (mint például a man:ls[1], man:cat[1], man:cp[1] stb.) együtt fejlesztik és adják ki. Ezt nevezzük az "alaprendszernek". A felhasználó által telepíthetõ alkalmazások lényegében azok, amelyek nem részei ennek az "alaprendszernek", például az Apache, X11, Mozilla Firefox stb. Ezek általában a FreeBSD <<SOFTWARE, Csomag- és Portgyûjteményébõl>> telepíthetõek. Mivel a felhasználók által telepített alkalmazásokat igyekszünk elkülöníteni az "alaprendszertõl", ezért ezek a [.filename]#/usr/local/# könyvtárba kerülnek. Ennek következtében a felhasználók által telepített binárisok a [.filename]#/usr/local/bin# könyvtárban, míg a hozzájuk tartozó konfigurációs állományok a [.filename]#/usr/local/etc# könyvtárban találhatóak, és így tovább.
|
|
****
|
|
|
|
A szolgáltatásokat az [.filename]#/etc/rc.conf# állományban (lásd man:rc.conf[5]) tudjuk engedélyezni a `SzolgáltatásNév_enable="YES"` sor megadásával. A rendszer alapértelmezett beállításait az [.filename]#/etc/defaults/rc.conf# állományban találhatjuk meg, ezeket az [.filename]#/etc/rc.conf# állományban tudjuk felülbírálni. Az alkalmazásokhoz tartozó szolgáltatások engedélyezésének lépéseihez pedig a telepítésük után ne felejtsük el átolvasni a hozzájuk tartozó dokumentációt.
|
|
|
|
Az [.filename]#/etc/rc.conf# állományból származó most következõ rövid kódrészlet az man:sshd[8] és Apache 2.2 szolgáltatásokat engedélyezi, valamint az Apache számára beállítja az SSL használatát.
|
|
|
|
[.programlisting]
|
|
....
|
|
# az SSHD engedélyezése
|
|
sshd_enable="YES"
|
|
# az Apache és benne az SSL támogatásának engedélyezése
|
|
apache22_enable="YES"
|
|
apache22_flags="-DSSL"
|
|
....
|
|
|
|
Miután az [.filename]#/etc/rc.conf# állományban engedélyeztük a szolgáltatásokat, a parancssorból el is tudjuk indítani ezeket (a rendszer újraindítása nélkül):
|
|
|
|
[source,bash]
|
|
....
|
|
# /etc/rc.d/sshd start
|
|
....
|
|
|
|
Ha egy szolgáltatást nem engedélyeztünk, akkor a parancssorból a `forcestart` paraméter megadásával tudjuk elindítani:
|
|
|
|
[source,bash]
|
|
....
|
|
# /etc/rc.d/sshd forcestart
|
|
....
|
|
|
|
[[network]]
|
|
== A hálózat beállítása
|
|
|
|
[[interfaces]]
|
|
=== Hálózati interfészek
|
|
|
|
A hálózati csatolófelületekre a Linux esetén alkalmazott általános _ethX_ alakú azonosítók helyett a FreeBSD az adott hálózati kártya meghajtójának nevével és utána egy sorszámmal hivatkozik. Az man:ifconfig[8] itt látható kimenetében két Intel(R) Pro 1000 hálózati kártya jelenik meg (em0 és em1):
|
|
|
|
[source,bash]
|
|
....
|
|
% ifconfig
|
|
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
|
|
options=b<RXCSUM,TXCSUM,VLAN_MTU>
|
|
inet 10.10.10.100 netmask 0xffffff00 broadcast 10.10.10.255
|
|
ether 00:50:56:a7:70:b2
|
|
media: Ethernet autoselect (1000baseTX <full-duplex>)
|
|
status: active
|
|
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
|
|
options=b<RXCSUM,TXCSUM,VLAN_MTU>
|
|
inet 192.168.10.222 netmask 0xffffff00 broadcast 192.168.10.255
|
|
ether 00:50:56:a7:03:2b
|
|
media: Ethernet autoselect (1000baseTX <full-duplex>)
|
|
status: active
|
|
....
|
|
|
|
[[ipaddress]]
|
|
=== Az IP-cím beállítása
|
|
|
|
Az interfészekhez az man:ifconfig[8] paranccsal tudunk IP-címet rendelni. Az IP-címek beállítása azonban csak akkor marad meg az újraindítást követõen is, ha felvesszük az [.filename]#/etc/rc.conf# állományba. A most következõ példában megadunk egy hálózati nevet, IP-címet és egy alapértelmezett átjárót:
|
|
|
|
[.programlisting]
|
|
....
|
|
hostname="szerver1.minta.com"
|
|
ifconfig_em0="inet 10.10.10.100 netmask 255.255.255.0"
|
|
defaultrouter="10.10.10.1"
|
|
....
|
|
|
|
DHCP esetén használjuk a következõt:
|
|
|
|
[.programlisting]
|
|
....
|
|
hostname="szerver1.minta.com"
|
|
ifconfig_em0="DHCP"
|
|
....
|
|
|
|
[[firewall]]
|
|
== Tûzfalak
|
|
|
|
Hasonlóan a Linuxban található IPTABLES megoldáshoz, a FreeBSD is kínál fel rendszermagszintû tûzfalazást. A FreeBSD jelen pillanatban három tûzfalat támogat:
|
|
|
|
* link:{handbook}#firewalls-ipfw[IPFIREWALL]
|
|
* link:{handbook}#firewalls-ipf[IPFILTER]
|
|
* link:{handbook}#firewalls-pf[PF]
|
|
|
|
Az IPFIREWALL, avagy IPFW (az IPFW szabályrendszereit az man:ipfw[8] paranccsal tudjuk kezelni) a FreeBSD fejlesztõi által készített és karbantartott tûzfal. A forgalomszabályozás megvalósításához és különbözõ típusú hálózati kapcsolatok szimulációjához az IPFW kiegészíthetõ a man:dummynet[4] használatával.
|
|
|
|
Ez az IPFW szabály engedélyezi a beérkezõ SSH-kapcsolatokat:
|
|
|
|
[.programlisting]
|
|
....
|
|
ipfw add allow tcp from any to me 22 in via $ext_if
|
|
....
|
|
|
|
Az IPFILTER tûzfalat Darren Reed dolgozta ki. Nem csak FreeBSD alatt találkozhatunk vele, több operációs rendszerre is portolták, többek közt NetBSD-re, OpenBSD-re, SunOS-re, HP/UX-ra és Solarisra.
|
|
|
|
Ez az IPFILTER parancs engedélyezi a beérkezõ SSH-kapcsolatokat:
|
|
|
|
[.programlisting]
|
|
....
|
|
pass in on $ext_if proto tcp from any to any port = 22
|
|
....
|
|
|
|
Az utolsó tûzfal, a PF, az OpenBSD Projekt fejlesztése. A PF eredetileg az IPFILTER leváltására készült. Emiatt a PF szabályainak megadási módja nagyon hasonlít az IPFILTER esetében megismertekhez. A minõségalapú (QoS) forgalomszabályozás létrehozásához a PF az man:altq[4] megoldásával egészíthetõ ki.
|
|
|
|
Ez a PF parancs engedélyezi a beérkezõ SSH-kapcsolatokat:
|
|
|
|
[.programlisting]
|
|
....
|
|
pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
|
|
....
|
|
|
|
[[updates]]
|
|
== A FreeBSD frissítése
|
|
|
|
A FreeBSD rendszer háromféleképpen frissíthetõ: forráskódból, binárisan és telepítõlemezek használatával.
|
|
|
|
A forráskódon keresztüli frissítés ugyan a legbonyolultabb ezek közül, azonban ez kínálja fel egyben a legnagyobb rugalmasságot is. Ennek során szinkronizálnunk kell a FreeBSD forráskódjának nálunk levõ (helyi) másolatát a FreeBSD CVS (Concurrent Versioning System) szervereivel. Miután ez megtörtént, le tudjuk fordítani a rendszermagot és a hozzá tartozó programokat. A források frissítésével kapcsolatban olvassuk el a FreeBSD kézikönyv link:{handbook}#updating-upgrading[frissítésrõl szóló fejezetét].
|
|
|
|
A bináris frissítés a Linux(R) típusú rendszereken elérhetõ `yum` vagy `apt-get` parancsok esetén megszokottakhoz hasonló. A man:freebsd-update[8] parancs letölti a frissítéseket és telepíti ezeket. Ez a frissítési folyamat a man:cron[8] használatával ütemezhetõ.
|
|
|
|
[NOTE]
|
|
====
|
|
Amikor a man:cron[8] segítségével ütemezzük a frissítéseket, a man:crontab[1] állományban lehetõség szerint a `freebsd-update cron` parancsot használjuk, ezáltal igyekezzünk csökkenteni annak valószínûségét, hogy egyszerre több számítógép is ugyanakkor terhelje a szervert.
|
|
|
|
[.programlisting]
|
|
....
|
|
0 3 * * * root /usr/sbin/freebsd-update cron
|
|
....
|
|
|
|
====
|
|
|
|
Az utolsó frissítési módszer, a telepítõlemezek használata lényegében egy egyértelmû folyamat. Indítsuk el számítógépünket a telepítõlemezrõl, és a telepítõben válasszuk a frissítés (upgrade) opciót.
|
|
|
|
[[procfs]]
|
|
== procfs: eltûnt, de nem nyomtalanul
|
|
|
|
A Linux(R) alatt a [.filename]#/proc/sys/net/ipv4/ip_forward# használatával tudjuk megmondani, hogy az IP-csomagok továbbítása engedélyezett-e rendszerünkben. Mivel a man:procfs[5] a FreeBSD jelenlegi verzióiban már elavultnak számít, ezért ezt a man:sysctl[8] paranccsal nézhetjük meg a rendszer egyéb beállításai mellett. (A `sysctl` viszont Linux(R) alatt is egyaránt megtalálható.)
|
|
|
|
Ha az IP-csomagok továbbításáról szóló példánál maradunk, akkor az alábbi módon kérdezhetjük le, hogy engedélyezett-e a FreeBSD rendszerünkön:
|
|
|
|
[source,bash]
|
|
....
|
|
% sysctl net.inet.ip.forwarding
|
|
net.inet.ip.forwarding: 0
|
|
....
|
|
|
|
Az `-a` paraméter megadásával a rendszer összes jelenlegi beállítását le tudjuk kérdezni:
|
|
|
|
[source,bash]
|
|
....
|
|
% sysctl -a
|
|
kern.ostype: FreeBSD
|
|
kern.osrelease: 6.2-RELEASE-p9
|
|
kern.osrevision: 199506
|
|
kern.version: FreeBSD 6.2-RELEASE-p9 0: Thu Nov 29 04:07:33 UTC 2007
|
|
root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
|
|
|
|
kern.maxvnodes: 17517
|
|
kern.maxproc: 1988
|
|
kern.maxfiles: 3976
|
|
kern.argmax: 262144
|
|
kern.securelevel: -1
|
|
kern.hostname: server1
|
|
kern.hostid: 0
|
|
kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
|
|
kern.posix1version: 200112
|
|
...
|
|
....
|
|
|
|
[NOTE]
|
|
====
|
|
Bizonyos `sysctl`-értékek írásvédettek.
|
|
====
|
|
|
|
Adódhatnak olyan alkalmak, amikor mégis szükségünk lehet a procfs használatára, mint például régi szoftverek futtatása, a rendszerhívások nyomkövetése a man:truss[1] segítségével, vagy a link:{handbook}#linuxemu[bináris Linux kompatibilitás] használata. (Noha a bináris Linux kompatibilitás egy saját procfs állományrendszert, egy man:linprocfs[5] rendszert használ.) A procfs típusú állományrendszerek csatlakoztatásához a következõt kell megadnunk az [.filename]#/etc/fstab# állományban:
|
|
|
|
[source,bash]
|
|
....
|
|
proc /proc procfs rw,noauto 0 0
|
|
....
|
|
|
|
[NOTE]
|
|
====
|
|
A `noauto` beállítás megadásával megakadályozzuk, hogy a [.filename]#/proc# a rendszerindítás során magától csatlakoztatódjon.
|
|
====
|
|
|
|
A procfs típusú állományrendszereket így lehet csatlakoztatni:
|
|
|
|
[source,bash]
|
|
....
|
|
# mount /proc
|
|
....
|
|
|
|
[[commands]]
|
|
== Gyakori parancsok
|
|
|
|
[[packageCommands]]
|
|
=== A csomagok kezelése
|
|
|
|
[.informaltable]
|
|
[cols="1,1,1", frame="none", options="header"]
|
|
|===
|
|
| Linuxos parancs (Red Hat/Debian)
|
|
| A FreeBSD-s megfelelõje
|
|
| Leírás
|
|
|
|
|`yum install csomag` / `apt-get install csomag`
|
|
|`pkg_add -r csomag`
|
|
|A _csomag_ telepítése egy távoli számítógéprõl
|
|
|
|
|`rpm -ivh csomag` / `dpkg -i csomag`
|
|
|`pkg_add -v csomag`
|
|
|Csomag telepítése
|
|
|
|
|`rpm -qa` / `dpkg -l`
|
|
|`pkg_info`
|
|
|A telepített csomagok megjelenítése
|
|
|===
|
|
|
|
[[systemCommands]]
|
|
=== A rendszer kezelése
|
|
|
|
[.informaltable]
|
|
[cols="1,1,1", frame="none", options="header"]
|
|
|===
|
|
| Linuxos parancs
|
|
| A FreeBSD-s megfelelõje
|
|
| Leírás
|
|
|
|
|`lspci`
|
|
|`pciconf`
|
|
|A PCI-os eszközök megjelenítése
|
|
|
|
|`lsmod`
|
|
|`kldstat`
|
|
|A betöltött rendszermagmodulok felsorolása
|
|
|
|
|`modprobe`
|
|
|`kldload` / `kldunload`
|
|
|Modulok betöltése és eltávolítása
|
|
|
|
|`strace`
|
|
|`truss`
|
|
|A rendszerhívások nyomkövetése
|
|
|===
|
|
|
|
[[conclusion]]
|
|
== Lezárás
|
|
|
|
Bízunk benne, hogy ez a leírás eleget mutatott be ahhoz, hogy elkezdjünk ismerkedni a FreeBSD-vel. Ha az érintett témák még jobban érdekelnek minket, vagy olyanról szeretnénk többet megtudni, ami itt nem szerepelt, akkor mindenképpen olvassunk bele a link:{handbook}[FreeBSD kézikönyvbe].
|