OpenBSD Diğer Bilgi Kaynakları
From OpenBSD Belgeleme Projesi
Contents |
Web Sayfaları
Projenin yürültüldüğü resmi web sitesi: http://www.OpenBSD.org.
OpenBSD hakkında tüm yönleriyle bilgiler bulabileceğiniz OpenBSD projeleri
[OpenBSD Günlüğü OpenBSD hakkında haberlerin ve görüşlerin olduğu bir site
[OpenBSDsupport.org] “kullanıcıların oluşturduğu” değişik kalite de belgelerin olduğu bir sitedir , bu belgeler SSS ya da diğer resmi belgelerin içinde yer almazlar.
Birçok kullanıcı tarafından OpenBSD hakkında bilgiler içeren siteler yapmıştır. Bunları internette iyi bir arama motoru yardımıyla bulabilirsiniz.
E-posta Listeleri
OpenBSD projesinde kullanıcıların üye olup takip edebilecek birçok e-posta listesi vardır. E-posta listesine katılmak için [majordomo@openbsd.org majordomo@openbsd.org] bir e-posta göndermeniz gerekir. Bu adres otomatik katılım hizmetini barındırır. Mesajınız içinde sizin katılmak istedeğiniz listeyi tanımlayan tek satırlık bir komut bulunur. Örneğin:
subscribe announce
Listeye katılabilmeniz için sizden bir onay e-postası istenir. Size gönderilen mesaj birçok talimatı içerir, bu içeriği onaylamak için bağlı bulunan sunucu listesi web sayfasını kullanabilirsiniz, ya da majordomo@openbsd.org adresini kullabilirsiniz.. Sizin için hangi yöntem uygunsa onu kullanın. Size gönderilen üç gruplu sayıyı bir yere not edin, A56D-70D4-52C3 gibi ve bu kimlik numarası zaman sınırlıdır.
Onaylama işlemi tamamlandıktan sonra hemen listeye ekleneceksiniz ve listeye başarılı bir şekilde eklediğinize dair bir mesaj alacaksınız.
Listeden çıkmak için de majordomo@openbsd.org adresine mesaj göndermeniz gerekir. Örneğin:
unsubscribe announce
Eğer e-posta listeleriyle ilgili bir zorlukla karşılaşırsanız, lüften ilk önce yardım dosyalarını okuyun ya da yaşadığınızı sorunu içeren bir e-postayı majordomo@openbsd.org adresine “help” başlığı ile birlikte gönderin.
OpenBSD e-posta listeleri ile işlemlerin yürütüldüğü web arayüzü için: http://lists.openbsd.org
Popüler OpenBSD e-posta listelerinden bazıları:
- announce – Önemli duyuruları içindir.
- security-announce – Güvenlik duyuruları içindir..
- misc – Genel soru ve cevaplar içindir. En aktif listelerden biridir ve birçok soru için “Varsayılan” listedir.
- bugs – Hataların gönderildiği ve tartışıldığı listedir..
- source-changes - CVS kaynak ağacındaki değişiklikleri otomatik listeler. Bir geliştirici değişikliği her zaman OpenBSD kaynak ağacında yapar.Bu değişiklikler CVS gönderilerek kopyalanır ve listeye mesaj olarak geçilir.
- ports – Uyarlamaların tartışıldığı listedir.
- ports-changes - CVS kaynak ağacındaki uyarlama değişikliklerini otomatik listeler.
- advocacy – OpenBSD taraftarlarının tartıştığı listedir ve çeşitli konuları içebilir.
Bir soru sormadan önce misc listesini ya da diğer listeleri inceleyin, lüften arşivleri de kontrol edin. Aradığınız cevap daha önce sorulmuş ve cevaplanmış olabilir. Yaşadığınız sorunun cevabını bulamıyorsanız. Sorunuzu sorarken gerekli bilgileri ayrıntılı olarak vermeyi unutmayın. Kullandığınız OpenBSD sürümü, program sürümü ve donanımız hakkındaki bilgiler gibi dmesg(8)! ...
Liste arşivlerini, diğer e-posta listesi rehberlerini ve daha fazla bilgiyi e-posta listesi sayfasında bulabilirsiniz.
OpenBSD ve Unix'e yeni başlayanlar resmi olmayan diğer e-posta listelerinden biri olan OpenBSD Yeni başlayanlar listesine de üye olabilirler.
Manual Pages
Kılavuz sayfaları OpenBSD ile birlikte gelir. Uygulamaların anlatıldığı uzun belgeleri içerir. Bu belgeler OpenBSD hakkında bilgiler içerir ve programı yazan kişi tarafından hazırlanır. Program güncellemelerin de bu sayfalar da güncellenir.
Kılavuz sayfalarına ve diğer belgelere erişebilirsiniz, bunlar man38.tgz ve misc38.tgz dosya grubu olarak yüklenmiştir.
Yeni kullanıcılar için faydalı olabilecek birkaç kılavuz:
Başlarken
- afterboot(8) – kurulumdan sonra yapılması gerekenleri içerir.
- help(1) – yeni kullanıcılar ve yöneticiler için yardımı içerir.
- hier(7) – dosya sistemi düzeni.
- man(1) – kılavuz sayfalarını gösterir.
- intro(1) – Genel komutlar, alt kılavuz sayfaları da vardır: intro(2), intro(3), intro(4) (not: intro(4) platformları içerir. ), intro(5), intro(6), intro(7), intro(8), and intro(9).
- adduser(8) – Yeni kullanıcı eklemek için komut.
- vipw(8) – Ana parola dosyasını düzenle
- disklabel(8) – Disk etiketi okuma ve yazma.
- reboot, halt(8) – Sistemi başlatma ve yeniden başlatma.
- shutdown(8) – Sistemi kapatma.
- dmesg(8) – Kernel başlatma mesajlarını tekrar gösterir.
- sudo(8) – root haklarını almak için komut, root olarak giriş yapmayın.
- mg(1) – emacs benzeri metin düzenleyici.
Uzman kullanıcılar için
- boot(8) – Sistem açılış süreci.
- boot_config(8) – Başlangıç yapılandırması ve değiştirilmesi.
- gcc_local(1) – OpenBSD için gcc(1) değişiklikleri
- ifconfig(8) – Ağ yapılandırması ve parametleri.
- login.conf(5) – Giriş yapılandırma dosyası ve biçimi.
- netstat(1) – Ağ durumunu gösterir..
- release(8) – OpenBSD sürümünü gösterir.
- sendbug(1) – OpenBSD hakkında bir sorunu raporlamnızı sağlar.
- style(9) – OpenBSD çekirdek kaynak kodu rehberi.
- sysctl(8) – Çekirdek durumu.
Bunları http://www.openbsd.org/cgi-bin/man.cgi sayfasından ve bilgisayarınızda yüklemiş iseniz man38.tgz dosya grubunda bulabilirsiniz.
Genel olarak bu sayfalara erişmek için “man komut” biçimi kullanılır. Örneğin “man vi” komutu vi düzenleyici hakkındaki bilgileri gösterir. Eğer bu komut yapısını kullanarak bir sonuca ulaşamıyorsanız. Veritabanını aratarak ilgili olabilecek diğer kılavuzları bulabilirsiniz. Bunun için “apropos anahtar-kelime” ya da “man -k anahtar-kelime” komut biçimini kullanabilirsiniz. Örneğin;
# apropos "time zone" tzfile (5) - time zone information zdump (8) - time zone dumper zic (8) - time zone compiler
Parantez içinde yer alan sayılar kılavuz içindeki bölümü gösterir. Bazen aynı kılavuz içinde aynı isimle adlandırılmış farklı bölümler yer alabilir. Örneğin, cron programının yapılandırma dosyalarının biçimi açıklamak için yapılmıştır. Kılavuz sayfaları bölümleri bu biçimde görüntülemek için “man n komut” komut biçimini kullanabilirsiniz. “n” kılavuz bölüm numarasını göstermektedir.
# man -k cron cron (8) - clock daemon crontab (1) - maintain crontab files for individual users crontab (5) - tables for driving cron
# man 5 crontab
UNIX kılavuz sayfalarına ek olarak, gruplanmış başka belge grupları da vardır (misc38.tgz dosya grubu). Bunların bulunduğu dizin /usr/share/doc 'dur. Bu belgelerin her birini alt dizinlere ayırmak için “make” yi kullanabilirsiniz. PSD (Programmer's Supplementary Documents) alt dizini programcının ek olarak dağıttığı belgelerdir. Smm (System Manager's Manual.) alt dizini de sistem yöneticisinin kılavuzudur. Usd ( UNIX User's Supplementary Documents) alt dizini de UNIX kullanıcılarının ek belgeleridir. Bu üç alt dizini “make” kullanarak ayırabilirsiniz, ya da “make” dağıtım bölümlerini seçebilirsiniz.
Bazen bu alt dizinler boş olabilir. Öntanımlı olarak belge biçimleri PostScript çıktısı ve yazdırma için uygundur. PostScript çıktılarında %250-300 oranında büyük çıktılar alabilmek mümkündür. Eğer PostScript yazıcınıza erişemiyorsanız ya da görünmüyorsa, bu biçimde belgeleri okumak için terminal ekranını kullanabilirsiniz. Her bir alt dizini make(1) ile dönüştürerek ASCII kopyalarını elde edebilirsiniz. Örneğin;
# cd /usr/share/doc/usd/04.csh # make paper.txt # more paper.txt
Bu işlemleri yaparken süper kullanıcı (root) haklarına sahip olmanız gerekir ve oluşturduğunuz belgeleri kaldırmak için make clean komutunu kullanabilirsiniz. Bu konu da daha fazla bilgiye ulaşmak için /usr/share/doc/README dosyasını okuyabilirsiniz.
UNIX kılavuz sayfaları diğer belgelere göre daha güvenilirdirler ve daha ayrıntılı bilgiler barındırırlar.
Çoğu zaman kılavuz sayfalarının bir kopyası rehberler içine yazdırılabilir biçimde yerleştirilir.
Kılavuz sayfası kaynak dosyasını nasıl görebilirim?
Her birinin kaynak ağacı bulunur. Biçimlendirilmemiş ağaç içinde bulunan kılavuz sayfaları zaman zaman CVS 'de güncellenir. Bu sayfaları kolayca görmek için:
# nroff -Tascii -mandoc <file> | more
Kılavuz sayfalarının biçimlendirilmiş düz halini ya da kontrol karaktersiz halini nasıl alırım?
Kılavuz sayfalarını düz biçimde yazdırılmayan karakterlerle alabilmek için bu komut size yardımcı olabilir.
Örnek:
# man <command> | col -b
Bilgi dosyası nedir?
Some of the documentation for OpenBSD comes in the form of info files, typically contained in /usr/share/info. This is an alternative form of documentation provided by GNU. Many of these files are more up to date than the manual pages provided by GNU, and can be accessed with the info(1) command. For example, to view information about the GNU compiler, gcc(1), type:
# info gcc
After using info, you will really appreciate our man pages! How do I get color man pages on XTerm?
The default configuration file for xterm(1) does not display color man pages. In order to get color output, copy the file /etc/X11/app-defaults/XTerm-color to your home directory, and rename it ".Xdefaults". Be careful not to overwrite any current settings in ".Xdefaults". This file contains all the settings you need to enable color in XTerm. However, three lines need to be uncommented before this can work:
!*VT100*colorULMode: on !*VT100*underLine: off !*VT100*colorBDMode: on
The rest of this file allows you to choose colors for various settings. The relevant ones to the man pages are:
*VT100*colorUL: yellow *VT100*colorBD: white
That produces rather hellish looking man pages, so customise as necessary: may we suggest red for "colorUL" and magenta for "colorBD"? There is also a man page viewer for X11 available, xman(1), which provides an alternative (graphical) interface to the manual pages. See the manual pages for xterm and xman for more information.
Kendi kılavuz sayfalarımı nasıl yazarım?
Yazmış olduğunuz bir uygulama için kılavuz sayfası yazmak için mdoc.örneğinden (7) yararlanabilirsiniz. Mdoc(7) içinde size kılavuz edecek referans bilgiler bulunmaktadır.
Hata Raporlama
Before crying "Bug!", please make sure that is really what you are dealing with. If instead, you are not understanding how something is done in OpenBSD or how it works, and can't find out how to resolve the problem using the manual pages or the OpenBSD website, use the mail lists (usually misc@openbsd.org) to request help. If this is your first OpenBSD experience, be realistic: you probably did not discover an unknown bug. Also note that faulty hardware can mimic a software bug, please verify the current condition of your hardware before deciding you have found a "bug".
Finally, before submitting any bug report, please read http://www.openbsd.org/report.html.
Proper bug reporting is one of the most important responsibilities of end users. Very detailed information is required to diagnose most serious bugs. Developers frequently get bugs reports via e-mail such as this:
From: joeuser@example.com To: bugs@openbsd.org Subject: HELP!!! I have a PC and it won't boot!!!!! It's a 486!!!!!
Hopefully most people understand why such reports get summarily deleted. All bug reports should contain detailed information. If Joe User had really expected someone to help find this bug, he or she would have supplied more information... something like this:
From: smartuser@example.com
To: bugs@openbsd.org
Subject: 3.3-beta panics on a SPARCStation2
OpenBSD 3.2 installed from an official CD-ROM installed and ran fine
on this machine.
After doing a clean install of 3.3-beta from an FTP mirror, I find the
system randomly panics after a period of use, and predictably and
quickly when starting X.
This is the dmesg output:
OpenBSD 3.3-beta (GENERIC) #9: Mon Mar 17 12:37:18 MST 2003
deraadt@sparc.openbsd.org:/usr/src/sys/arch/sparc/compile/GENERIC
real mem = 67002368
avail mem = 59125760
using 200 buffers containing 3346432 bytes of memory
bootpath: /sbus@1,f8000000/esp@0,800000/sd@1,0
mainbus0 (root): SUNW,Sun 4/75
cpu0 at mainbus0: CY7C601 @ 40 MHz, TMS390C602A FPU; cache chip bug
- trap page uncached
cpu0: 64K byte write-through, 32 bytes/line, hw flush cache enabled
memreg0 at mainbus0 ioaddr 0xf4000000
clock0 at mainbus0 ioaddr 0xf2000000: mk48t02 (eeprom)
timer0 at mainbus0 ioaddr 0xf3000000 delay constant 17
auxreg0 at mainbus0 ioaddr 0xf7400003
zs0 at mainbus0 ioaddr 0xf1000000 pri 12, softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at mainbus0 ioaddr 0xf0000000 pri 12, softpri 6
zskbd0 at zs1 channel 0: reset timeout
zskbd0: no keyboard
zstty2 at zs1 channel 1: mouse
audioamd0 at mainbus0 ioaddr 0xf7201000 pri 13, softpri 4
audio0 at audioamd0
sbus0 at mainbus0 ioaddr 0xf8000000: clock = 20 MHz
dma0 at sbus0 slot 0 offset 0x400000: rev 1+
esp0 at sbus0 slot 0 offset 0x800000 pri 3: ESP100A, 25MHz, SCSI ID 7
scsibus0 at esp0: 8 targets
sd0 at scsibus0 targ 1 lun 0: <SEAGATE, ST1480 SUN0424, 8628> SCSI2 0/direct fixed
sd0: 411MB, 1476 cyl, 9 head, 63 sec, 512 bytes/sec, 843284 sec total
sd1 at scsibus0 targ 3 lun 0: <COMPAQPC, DCAS-32160, S65A> SCSI2 0/direct fixed
sd1: 2006MB, 8188 cyl, 3 head, 167 sec, 512 bytes/sec, 4110000 sec total
le0 at sbus0 slot 0 offset 0xc00000 pri 5: address 08:00:20:13:10:b9
le0: 16 receive buffers, 4 transmit buffers
cgsix0 at sbus0 slot 1 offset 0x0: SUNW,501-2325, 1152x900, rev 11
wsdisplay0 at cgsix0
wsdisplay0: screen 0 added (std, sun emulation)
fdc0 at mainbus0 ioaddr 0xf7200000 pri 11, softpri 4: chip 82072
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
root on sd0a
rootdev=0x700 rrootdev=0x1100 rawdev=0x1102
This is the panic I got when attempting to start X:
panic: pool_get(mclpl): free list modified: magic=78746572; page 0xfaa93000;
item addr 0xfaa93000
Stopped at Debugger+0x4: jmpl [%o7 + 0x8], %g0
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
pool_get(0xfaa93000, 0x22, 0x0, 0x1000, 0x102, 0x0) at pool_get+0x2c0
sosend(0x16, 0xf828d800, 0x0, 0xf83b0900, 0x0, 0x0) at sosend+0x608
soo_write(0xfac0bf50, 0xfac0bf70, 0xfac9be28, 0xfab93190, 0xf8078f24, 0x0)
at soo_write+0x18
dofilewritev(0x0, 0xc, 0xfac0bf50, 0xf7fff198, 0x1, 0xfac0bf70) at
dofilewritev+0x12c
sys_writev(0xfac87508, 0xfac9bf28, 0xfac9bf20, 0xf80765c8, 0x1000, 0xfac0bf70)
at sys_writev+0x50
syscall(0x79, 0xfac9bfb0, 0x0, 0x154, 0xfcffffff, 0xf829dea0) at syscall+0x220
slowtrap(0xc, 0xf7fff198, 0x1, 0x154, 0x1, 0xfac87508) at slowtrap+0x1d8
ddb> ps
PID PPID PGRP UID S FLAGS WAIT COMMAND
27765 8819 29550 0 3 0x86 netio xconsole
1668 29550 29550 0 3 0x4086 poll fvwm
15447 29550 29550 0 3 0x44186 poll xterm
8819 29550 29550 35 3 0x4186 poll xconsole
1238 29550 29550 0 3 0x4086 poll xclock
29550 25616 29550 0 3 0x4086 pause sh
1024 25523 25523 0 3 0x40184 netio XFree86
*25523 25616 25523 35 2 0x44104 XFree86
25616 30876 30876 0 3 0x4086 wait xinit
30876 16977 30876 0 3 0x4086 pause sh
16977 1 16977 0 3 0x4086 ttyin csh
5360 1 5360 0 3 0x84 select cron
14701 1 14701 0 3 0x40184 select sendmail
12617 1 12617 0 3 0x84 select sshd
27515 1 27515 0 3 0x184 select inetd
1904 1 1904 0 2 0x84 syslogd
9125 1 9125 0 3 0x84 poll dhclient
7 0 0 0 3 0x100204 crypto_wa crypto
6 0 0 0 3 0x100204 aiodoned aiodoned
5 0 0 0 3 0x100204 syncer update
4 0 0 0 3 0x100204 cleaner cleaner
3 0 0 0 3 0x100204 reaper reaper
2 0 0 0 3 0x100204 pgdaemon pagedaemon
1 0 1 0 3 0x4084 wait init
0 -1 0 0 3 0x80204 scheduler swapper
Thank you!
See report.html for more information on creating and submitting bug reports. Detailed information about your hardware is necessary if you think the bug could be in any way related to your hardware or hardware configuration. Usually, dmesg(8) output is sufficient in this respect. A detailed description of your problem is necessary. You will note that the dmesg described the hardware, the text explained why Smart User thought the system was not broken, (ran 3.2 properly), how this crash was caused (starting X), and the output of the debugger's "ps" and "trace" commands. In this case, Smart User provided output captured on a serial console; if you can not do that, you will have to use paper and pencil to record the crash. (This was a real problem, and the information in the above report helped lead to a repair of this issue which impacted Sun4c systems.)
If Smart User had a working OpenBSD system from which he wanted to submit a bug report, he would have used the sendbug(1) utility to submit his bug report to the GNATS problem tracking system. Obviously you can't use sendbug(1) when your system won't boot, but you should use it whenever possible. You will still need to include detailed information about what happened, the exact configuration of your system, and how to reproduce the problem. The sendbug(1) command requires that your system be able to send electronic mail successfully on the Internet. Note that the mail server uses spamd(8) based greylisting, so it may take half an hour or so before the mail server accepts your bug report, so please be patient.
After submitting a bug report via sendbug(1), you will be notified by e-mail about the status of the report. You may be contacted by developers for additional information or with patches that need testing. You can also monitor the archives of the bugs@openbsd.org mailing list, details on the mailing list page, or query the bug report database status at the on-line Bug Tracking System.
More on getting useful info for developers
Here are a few additional tips:
Lost the "Panic message"? Under some circumstances, you may lose the very first message of a panic, stating the reason for the panic. This is a very important message, so you want to report it, as well. You can get this back by using the "show panic" command in ddb> like this:
ddb> show panic 0: kernel: page fault trap, code=0 ddb>
In this case, the panic string was "Kernel: page fault trap, code=0"
Special note for SMP systems:
You should get a "trace" from each processor as part of your report:
ddb{0}> trace
pool_get(d05e7c20,0,dab19ef8,d0169414,80) at pool_get+0x226
fxp_add_rfabuf(d0a62000,d3c12b00,dab19f10,dab19f10) at fxp_add_rfabuf+0xa5
fxp_intr(d0a62000) at fxp_intr+0x1e7
Xintr_ioapic0() at Xintr_ioapic0+0x6d
--- interrupt ---
idle_loop+0x21:
ddb{0}> machine ddb 1
Stopped at Debugger+0x4: leave
ddb{1}> trace
Debugger(d0319e28,d05ff5a0,dab1bee8,d031cc6e,d0a61800) at Debugger+0x4
i386_ipi_db(d0a61800,d05ff5a0,dab1bef8,d01eb997) at i386_ipi_db+0xb
i386_ipi_handler(b0,d05f0058,dab10010,d01d0010,dab10010) at i386_ipi_handler+0x
4a
Xintripi() at Xintripi+0x47
--- interrupt ---
i386_softintlock(0,58,dab10010,dab10010,d01e0010) at i386_softintlock+0x37
Xintrltimer() at Xintrltimer+0x47
--- interrupt ---
idle_loop+0x21:
ddb{1}>
Repeat the "machine ddb x" followed by "trace" for each processor in your machine.