Romanian PC Forum Sabitech Media - web design, gazduire web, promovare, seo, logo design si branding


Go Back   Romanian PC Forum > Software > Unix - Linux - BSD > BSD-uri

BSD-uri Totul despre BSD-uri, FreeBSD, etc


Reply
 
Thread Tools
Old 27.09.2017, 15:23   #1
AnbuBlack
*nix enthusiast
 
AnbuBlack's Avatar
 
Join Date: 20.04.2011
Location: 127.0.0.1
Posts: 3,939
Thanks: 4,654
Thanked 6,202 Times in 2,978 Posts
Arrow Tutorial instalare FreeBSD 11.1 ca workstation/home pc

_ Intro:
FreeBSD este un sistem de operare liber Unix-like descendent din AT&T UNIX prin ramura Berkeley Software Distribution (BSD), mai exact provine din sistemele de operare 386BSD și 4.4BSD. Rulează pe calculatoare cu procesoare compatibile cu familia Intel x86, dar și pe procesoare DEC Alpha, UltraSPARC (al firmei Sun Microsystems), Itanium (IA-64), AMD64, PowerPC, PC-98, ARM și MIPS.
FreeBSD este un sistem de operare complet, dezvoltat unitar. Nucleul, driverele pentru dispozitive și utilitarele din spațiul utilizatorului, cum ar fi interpretorul de comenzi sau shell-ul, sunt ținute în același arbore de urmărire a revizuirilor codului sursă (CVS). Această metodă de dezvoltare vine în contrast cu cea folosită pentru GNU/Linux, unde nucleul (Linux) este dezvoltat de o echipă de dezvoltatori, utilitarele din spațiul utilizator și aplicațiile sunt dezvoltate de alte echipe (GNU), iar apoi toate acestea sunt împachetate împreună și publicate de alte echipe sub formă de distribuții GNU/Linux.

_ Instalarea:

Instalarea sistemului se face relativ ușor cu ajutorul installerului bsdinstall:
00.png
- alegem tipul tastaturi (recomand ca tipul acesteia să fie cel default US);
01.png
- alegem un nume pentru PC-ul nostru;
02.png
- selectăm "pachetele" software care vor fi instalate pe sistemul nostru; o idee bună la acest pas este selectarea pentru instalare a surselor sistemului.
03.png
- partiționăm hard diskul/ssd-ul. Eu am ales tablă de partiții de tip GPT și partiționare atât normală cât și Uefi;
04.png 06.png05.png
07.png 07a.png 07b.png
07c.png 07d.png
- după ce am termiat cu partiționare, installerul va instala pachetele selectate la pasul anterior pe hdd/ssd;
08.png
- introducem parola pentru administratorul sistemului (root);
09.png
- configurăm placa de rețea (ethernet sau wireless);
10.png
- alegem regiunea în care ne aflăm;
11.png 12.png
- setăm data și ora;
13.png
- alegem ce procese să pornească automat la fiecare bootare a sistemului;
14.png
- și ce procese să nu pornească;
15.png
- mai departe installerul vă va întreba dacă doriți să adaugați un utilizator. Dacă nu vă interesează un anumit shell puteți urma pași din installer, eu unul prefer zsh pentru utilizatorul meu, așa că voi ieși din instaler pentru a configura managerul de pachete (pkg) și pentru a instala zsh.
16.png 17.png 18.png
19.png 20.png
- după ce am configurat pkg și am instalat zsh adaugăm un utilizator pentru sistemul nostru. Destinația acestei instalări fiind pentru un home pc/workstation, vom adauga userul nostru în grupurile wheel (grupul utiliztorilor privilegiați) și operator.
21.png 22.png
- ieșim din bsdinstall (exit), urmăm procesul de reboot și demontăm cd/dvd/stick-ul usb pe care a fost imaginea de instalare FreeBSD;
23.png
- după restart sistemul de opeare va fi încărcat pe hdd/ssd;
24.png
- felicitări rulați sistemul de operare FreeBSD pe calculatorul dvs.
25.png

_ Configurarea sistemuliui:
Partea cea mai ușoară a trecut acum urmează partea migăloasă: configurarea sistemului (instalarea de aplicații, a mediului desktop, fonturi, configurare sunet/video,etc.)
Să le luăm pe rând:
- după instalare sistemului un lucru bun este să rulăm următoarele comenzi:
Code:
 freebsd-update fetch && freebsd-update install
comenzi ce ne asigură că sistemul este actualizat la zi cu ultimele patch-uri de securitate. Dacă tot suntem la capitolul freebsd-update, această comandă poate fi folosită și pentru trecerea la o versiune superioară FreeBSD. Exemplu: Pentru a trece de la FreeBSD 11.0 la FreeBSD 11.1 rulăm următoare comandă:
Code:
freebsd-update upgrade -r 11.1-RELEASE
Trecerea de la o versiune la altă nu se face decât dacă respectivele RELEASE-uri sunt consecutive, adică nu se poate trece de la 10.3 la 12.0 direct, prima dată se face trecerea la 11.x, apoi se upgradează sistemul la versiunea 12. După ce s-a făcut trecerea de la o versiune la alta, mai ales când se trece de la o versiune minoră (ex 11.x la 12.0) se rulează obligatoriu urmatoarea comandă:
Code:
pkg-static upgrade -f
sau pentru porturi
Code:
portmaster -af
pentru a reconstrui toate pachetele instalate pe sistem, deoarece asta sunt construite în RELEASE-ul major (12.) la care se face trecerea cu un alt ABI (Application Binary Interfaces). Când se face trecerea între versiunii minore (11.1 la 11.2) nu este neapărată nevoie de reconstrucția tuturor pachetelor, deoarece ABI-ul (librăriile sistemului) nu se schimbă, dar este de preferat să o faceți, nu strică. După reconstuirea tutoror pachetelor de pe sistem mai rulăm o dată freebsd-update install pentru a fi siguri că suntem la zi cu actualizările.

Dacă nu am instalat colecția de porturi în timpul instalari sistemului o putem face acum:
Code:
 portsnap fetch extract
Personal prefer să instalez aplicații din porturi, sunt mai noi decât pachetele, dar acest lucru este consumator de timp, iar dacă mașina pe care se face instalul nu este una foarte performantă, compilarea din porturi poate dura pentru anumite aplicați gen KDE câteva zile.
- configurarea sistemului pentru a afișa mediul desktop în limba română. Acest lucru se poate face global sau per user. Eu prefer metoda per user, adică existenă unui fișier numit .login_conf în folderul utilizatorului, fișier ce conține următoarele:
Code:
  me:\
     :charset=UTF-8:\
     :lang=ro_RO.UTF-8:
29.png
Pentru toți utilizatori se editează /etc/login.conf. După editarea acestui fișier nu uitați să refaceți baza de date de logare:

Code:
 cap_mkdb /etc/login.conf
Mai multe detalii despre configurarea localelor gășiți în manualul FreeBSD.

- pentru a ne fi mai ușor să configurăm sistemul, instălăm un mediu desktop. Pentru acest tutorial eu voi instala xfce.

Code:
pkg install xorg xfce
Pentru a porni mediul grafic copiem fișierul xinitrc din /usr/local/etc/X11/xinit în folderul utilizatorului
Code:
cp /usr/local/etc/X11/xinit/xinitrc ~/.xinitrc
Editam acest fisier și daugam la final:
Code:
exec startxfce4
Dacă tot suntem la capitolul Xorg/mediu grafic, edităm fișierul /usr/local/bin/startx și înlocuim enable_xauth=1 cu enable_xauth=0 pentru a nu mai primi mesaje de eroare gen: xauth file....does not exist și pentru a avea un X care se încarcă mai rapid.
Ca sa putem porni mediul grafic trebuie să avem servicul dbus pornit și adaugat în fisierul config al sistemului (/etc/rc.conf)
Code:
service dbus start
echo 'dbus_enable="YES"' > /etc/rc.conf
Anumite aplicați necesită și servicul hald (hald_enable="YES") însă numărul acestora este tot mai mic deoarece hald este cosiderat un daemon învechit.
Cu un simplu startx în consolă intrăm în noul nostru mediu grafic.
26.png
Pentru a putea folosi restart/shutdown în xfce trebuie să adaugăm câteva linii în /usr/local/etc/polkit-1/rules.d/50-edfault.rules:
Code:
 polkit.addRule(function (action, subject) {
  if ((action.id == "org.freedesktop.consolekit.system.restart" ||
      action.id == "org.freedesktop.consolekit.system.stop")
      && subject.isInGroup("wheel")) {
    return polkit.Result.YES;
  }
});
30.png
Versiunile recente FreeBSD nu mai necesită rularea comenzi Xorg -configure. Instalarea driverului grafic (intel& nvidia) se face în felul următor:
Code:
pkg install xf86-video-intel
pkg install nvidia-driver
Pentru driverul nvidia adaugăm în fișierul /boot/loader.conf următoarele:
Code:
nvidia_load="YES"
nvidia-modeset_load="YES"
Pentru placa video Intel, fișierul de configurare se găsește în /usr/local/etc/X11/xorg.conf.d/ și conține următoarele:
driver-intel.conf:
Code:
Section "Device"
	Identifier "Card0"
	Driver     "intel"
	Option     "DRI"  "3"
	Option     "AccelMethod" "SNA"
	Option     "TearFree"    "tru"
	Option     "Backlight"   "intel_backlight"
EndSection
Fișierul de configurare pentru placa video nvidia este relativ asemănător.
- Sunet
Cu ajutorul comenzi pciconf -lv listăm toate dispozitivele hardware de pe mașina noastră și identificăm placa de sunet. În cazul acestui tutorial placa de sunet este AC'97.
27.png
Încărcăm driverul pentru aceasta:
Code:
kldload snd_driver
și adaugăm în fișierul /boot/loader.conf:
Code:
snd_driver_load="YES"
sound_load="YES"
iar în /etc/rc.conf:
Code:
mixer_enable="YES"
Verificăm dacă placa a fost detectată corect:
Code:
  cat /dev/sndstat
28.png
Cum pc-ul din acest tutorial este un Vbox, nu a detectat decât un singur canal audio, pe un pc modern cu siguranță va găsi mai multe canale audio. Pentru a avea sunet pe mai multe canale sau pe o anumită ieșier trebuie editat fișierul /etc/sysctl.conf. Mai multe despre configurarea acestuia găsiți în manual.

- Rețea
Detectarea plăcilor de rețea se face cu comanda ifconfig. În cazul de față placa de retea este em0 (intel).
Configurarea rețelei se face dupa tipul IP-ului (static/dinamic).
_ conexiune prin cablu (ethernet):
Pentru ip dinamic adaugăm în /etc/rc.conf următoarele:
Code:
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
Pentru ip static adaugăm în /etc/rc.conf:
Code:
ifconfig_em0="inet 192.168.1.25" netmask  255.255.255.0 broadcast 192.168.1. 255"
defaultrouter="192.168.1.1"
_ conexiune wireless:
Pentru ip dinamic adaugam în /etc/rc.conf:
Code:
 wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
create_arg_wlan0="country RO regdomain NONE"
iar în /etc/wpa_supplicant.conf adaugăm:
Code:
network={
      ssid="network"
      scan_ssid=0
      psk="x0x01kiG*Lkhm087"
      priority=5
      key_mgmt=WPA-PSK
      }
Atât pentru conexiune prin cablu cât și pentru cea wireless se poate folosi un utilitar grafic dezvoltat de către cei de la GhostBSD care seamnă cu networkmanger din GNU/Linux, și anume networkmgr. Instalarea și configurarea acestuia se face ușor; mai multe detalii găsiți în manualul aplicatiei.

- Firewall
FreeBSD vine cu unul dintre cele mai puternice firewall-uri; fișierul config se găsește în /etc/pf.conf. Acest fișier poate conține următoarele regulii:
Code:
# The name of our network interface as seen in `ifconfig`
ext_if="em0"
# Macros to define the set of TCP and UDP ports to open.
# Add additional ports or ranges separated by commas.
# UDP 60000-60010 is mosh control http://mosh.mit.edu/
tcp_services = "{ssh, https}"
udp_services = "{60000:60010}"

# If you block all ICMP requests you will break things like path MTU
# discovery. These macros define allowed ICMP types. The additional
# ICMPv6 types are for neighbor discovery (RFC 4861)
icmp_types = "{echoreq, unreach}"
icmp6_types="{echoreq, unreach, 133, 134, 135, 136, 137}"

# Modulate the initial sequence number of TCP packets.
# Broken operating systems sometimes don't randomize this number,
# making it guessable.
tcp_state="flags S/SA keep state"
udp_state="keep state"

# Don't send rejections. Just drop.
set block-policy drop

# Exempt the loopback interface to prevent services utilizing the
# local loop from being blocked accidentally.
set skip on lo0

# all incoming traffic on external interface is normalized and fragmented
# packets are reassembled.
scrub in on $ext_if all fragment reassemble

# set a default deny policy.
block in log all

# This is a desktop so be permissive in allowing outgoing connections.
pass out quick modulate state

# Enable antispoofing on the external interface
antispoof for $ext_if inet

# block packets that fail a reverse path check. we look up the routing
# table, check to make sure that the outbound is the same as the source
# it came in on. if not, it is probably source address spoofed.
block in from urpf-failed to any

# drop broadcast requests quietly.
block in quick on $ext_if from any to 255.255.255.255

# Allow the services defined in the macros at the top of the file
pass in on $ext_if inet proto tcp from any to any port $tcp_services $tcp_state
pass in on $ext_if inet6 proto tcp from any to any port $tcp_services $tcp_state

pass in on $ext_if inet proto udp from any to any port $udp_services $udp_state
pass in on $ext_if inet6 proto udp from any to any port $udp_services$udp_state

# Allow ICMP
pass inet proto icmp all icmp-type $icmp_types keep state
pass inet6 proto icmp6 all icmp6-type $icmp6_types keep state
După ce am adaugat regulile verificăm daca totul functionează OK cu ajutorul comenzii:
Code:
pfctl -f /etc/pf.conf
apoi pornim serviciul:
Code:
service pf start
Pentru ca acesta să porneasă automat la fiecare boot adaugăm în /etr/rc.conf urmatoarele:
Code:
# Firewall
pf_enable="YES"
pf_rules="/etc/pc.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
__________________
Doar Universul şi prostia umană sunt infinite, însă nu sunt sigur de primul. - Albert Einstein


_________________
Manuale:
_FreeBSD: FreeBSD Handbook | The Complete FreeBSD | Unix Toolbox | FAQ
_Arch GNU/Linux : ArchWiki

Last edited by AnbuBlack; 27.09.2017 at 18:09.
AnbuBlack is online now   Reply With Quote
The Following 3 Users Say Thank You to AnbuBlack For This Useful Post:
Alin99 (27.09.2017), XVanish (27.09.2017), yo9fah (01.10.2017)
Old 27.09.2017, 15:24   #2
AnbuBlack
*nix enthusiast
 
AnbuBlack's Avatar
 
Join Date: 20.04.2011
Location: 127.0.0.1
Posts: 3,939
Thanks: 4,654
Thanked 6,202 Times in 2,978 Posts
Default Re: Tutorial instalare FreeBSD 11.1 ca workstation/home pc

- Fonturi
Xorg nu vine cu foarte multe fonturi, iar cele cu care vine nu sunt tocmai grozave. Fonturi care trebuie instalate pe sistemul nostru:Cantarell, Droid, Doulos SIL, Ubuntu, Anonymous Pro, artwiz-aleczapka, DejaVu, Inconsolata, Terminus.
- Emulatorul Linux
Instalarea se face în felul următor:
Code:
pkg install linux_base-c7
și în /boot/loader.conf adaugăm:
Code:
linux_load="YES"
iar în /etc/fstab următoarele:
Code:
linprocfs   /compat/linux/proc   linprocfs   rw   0  0  
tmpfs     /compat/linux/dev/shm  tmpfs    rw,mode=1777 0  0
Tot în /etc/fstab mai adaugăm și sisteme de fișiere virtuale:
Code:
proc	/proc	procfs	rw	0	0
fdesc	/dev/fd	fdescfs	rw,auto,late	0	0
necesare de instalarea unor aplicații ale lui Gnome/KDE.

- Permise pentru dispozitive
Pentru a putea accesa anumite dispozitive hardware ale pc-ului cum sunt cdrom/dvd-ul, stick-uri usb, scanere, tv tunere, trebuie să adaugăm câteva reguli în /etc/devfs.conf:

Code:
# Permite utilizatorilor să acceseze unități optice
perm    /dev/acd0       0666
perm    /dev/acd1       0666
perm    /dev/cd0        0666
perm    /dev/cd1        0666
# Permite utilizatorilor să acceseze dispozitive de stocare usb
perm    /dev/da0        0666
perm    /dev/da1        0666
perm    /dev/da2        0666
perm    /dev/da3        0666
perm    /dev/da4        0666
perm    /dev/da5        0666
# Alte dispozitive
perm    /dev/pass0      0666
perm    /dev/xpt0       0666
perm    /dev/uscanner0  0666
perm    /dev/video0     0666
perm    /dev/tuner0     0666
perm    /dev/dvb/adapter0/demux0    0666
perm    /dev/dvb/adapter0/dvr       0666
perm    /dev/dvb/adapter0/frontend0 0666
și în /etc/devfs.rules:

Code:
[devfsrules_common=7]
add path 'ad[0-9]\*'	mode 666
add path 'ada[0-9]\*'	mode 666
add path 'da[0-9]\*'	mode 666
add path 'acd[0-9]\*'	mode 666
add path 'cd[0-9]\*'	mode 666
add path 'mmcsd[0-9]\*'	mode 666
add path 'pass[0-9]\*'	mode 666
add path 'xpt[0-9]\*'	mode 666
add path 'ugen[0-9]\*'	mode 666
add path 'usbctl'		mode 666
add path 'usb/\*'		mode 666
add path 'lpt[0-9]\*'	mode 666
add path 'ulpt[0-9]\*'	mode 666
add path 'unlpt[0-9]\*'	mode 666
add path 'fd[0-9]\*'	mode 666
add path 'uscan[0-9]\*'	mode 666
add path 'video[0-9]\*'	mode 666
add path 'tuner[0-9]*'      mode 666
add path 'dvb/\*'		mode 666
add path 'cx88*'            mode 0660
add path 'cx23885*'         mode 0660 
add path 'iicdev*'          mode 0660
add path 'uvisor[0-9]*'     mode 0660
Pentru ca aceste reguli să fie disponibile la fiecare bootare adaugăm o intrare în /etc/rc.conf:
Code:
devfs_system_ruleset="devfsrules_common"
- Pentru accesarea cardurilor SD/MMC adaugăm în /boot/loader.conf următoarele:
Code:
mmc_load="YES"
mmcsd_load="YES"
sdhci_load="YES"
- Pentru ca standardul Unicode să fie recunoscut atunci când accesăm dispozitive usb/cd/dvd, tot în /boot/loader.conf adaugăm:
Code:
libiconv_load="YES"
libmchain_load="YES"
cd9660_iconv_load="YES"
msdosfs_iconv_load="YES"
De final câteva mici ajustări ce îmbunătățesc performanta sistemului și nu numai:
/boot/loader.conf:

Code:
# Devil logo
loader_logo="beastie"
   
# Boot-time kernel tuning
kern.ipc.shmseg=1024
kern.ipc.shmmni=1024
kern.maxproc=100000

# Fuse
fuse_load="YES"
   
# In-memory filesystems
tmpfs_load="YES"
   
# Asynchronous I/O
aio_load="YES"
/etc/rc.conf:

Code:
# Mouse în consolă, trackpoint laptop
moused_enable="YES"
moused_flags="-VH"
moused_usm0_flags="-F 200 -A 2.0,1.5 -a 2.0 -r high"
   
# Conexiune ssh
sshd_enable="YES"
  
# Power
powerd_enable="YES"
powerd_flags="-a hiadaptive -b adaptive -i 75 -r 85 -p 500"
performance_cx+lowest="Cmax"
economy_cx_lowest="Cmax"
__________________
Doar Universul şi prostia umană sunt infinite, însă nu sunt sigur de primul. - Albert Einstein


_________________
Manuale:
_FreeBSD: FreeBSD Handbook | The Complete FreeBSD | Unix Toolbox | FAQ
_Arch GNU/Linux : ArchWiki

Last edited by AnbuBlack; 29.11.2017 at 21:57.
AnbuBlack is online now   Reply With Quote
The Following 3 Users Say Thank You to AnbuBlack For This Useful Post:
Alin99 (27.09.2017), XVanish (27.09.2017), yo9fah (01.10.2017)
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
FreeBSD-10 Instalare printer HP-1020 ono BSD-uri 34 09.03.2015 13:14
Instalare FreeBSD - video tutorial AnbuBlack BSD-uri 46 20.10.2012 09:46
Instalare FreeBSD 8.2 [metoda sysinstall] AnbuBlack BSD-uri 34 01.09.2012 20:32
Instalare FreeBSD 9.1 [metoda bsdinstall] AnbuBlack BSD-uri 10 31.08.2012 18:56
Instalare NetBSD - tutorial AnbuBlack BSD-uri 3 10.10.2011 00:10

 
Advertisement




camere foto digitale

aparate foto digitale


Partner Links
Sabitech Media - dezvoltare web, servicii media

RSP Forum - sateliti.info
Comunitate Satelitara






All times are GMT +2. The time now is 09:49.


Powered by vBulletin® - © Jelsoft Enterprises Ltd.
~ Copyright © 2007-2015 Romanian PC Forum ~
Toate drepturile rezervate

Romanian Sattelites Provider Wi-Fi Magazin