Another great RocketTheme Joomla Template brought to you by the RocketTheme Joomla Template Club.


Faqe: [1] 2   Shko poshtë
PërgjigjjaDërgojeni këtë temëPrintojeni faqen
Autori Temë: Udhezues për Linux!  (E lexuar 1026 herë)
0 anëtarë dhe 1 Vizitor po shikojnë këtë temë.
M A X
Gjinia: Mashkull


Shiko profilin WWW
« më: 27-08-2005, 20:11:20 »
Citojeni

Materialet qe do venden janë marrë nga www.alblinux.net



Të konfigurosh një sistem Debian chroot


Shpesh, duke qenë një zhvillues Debian, dëshiroj të provoj pakot e krijuara përpara se të kryej upload e tyre. Por, mund të qëllojë që pakot e mia të kenë bug të rëndë që provokojnë ekuivalenten e rm -rf /, prandaj do të ishte një veprim i parekomanduar kryerja e provave tek instalimi im i prodhimit.

Falë kombinimit të programeve chroot dhe debootstrap, na jepet mundësia e instalimit të një sistemi Debian të izoluar në të cilin mund të futemi dhe të instalojmë pakot e krijuara, pa patur rrezik të shkatërroj sistemin tim stabël. Aktualisht, jam duke përdorur një zgjidhje të tillë për të patur si GNOME 2 ashtu dhe GNOME 1 të instaluar me anë të pakove Debian në 2 chroots të veçantë, ku mund të eksperimentoj script-et për tranzicionin GNOME 1 --> GNOME 2.

çfarë na nevoitet
chroot (bën pjesë tek pako coreutils në Debian sarge dhe sid)
debootstrap
login
(me dëshirë) gdm
Të krijojmë chroot
Duke përdorur debootsrap, mund të krijohen ambiente chroot për woody, sarge, apo sid. Në vazhdim të këtij dokumenti do të trajtojmë krijimin e një chroot sid.

Krijojmë një directory, për shembull /sid/. Po të vendosësh të zgjedhësh një emër tjetër, mos harro të zevëndësosh /sid/ me emrin e zgjedhur në vazhdim të këtij dokumenti.

mkdir /sid/
Aktualisht na duhet të instalojmë fillimisht woody dhe më pas të kryejmë upgrade në sid. sid ndryshon tepër shpesh për të qenë me efikasitet debootstrapues (është hera e parë që shikon këtë fjalë!). Pra, lëshojmë debootstrap:

debootstrap woody /sid/ http://ftp.debian.org/debian/
Konfigurojmë file /etc/fstab të sistemit tonë stabël për të kryer mount e filesystem /proc të sistemit chroot.

echo proc-sid /sid/proc proc none 0 0 >> /etc/fstabmount /sid/proc
Konfigurojmë networking tek sistemi chroot.

echo 127.0.0.1 localhost $(hostname) > /sid/etc/hosts
Tani jemi gati për të përdorur chroot! Përdorim programin chroot për tu futur tek sistemi i ri.

chroot /sid/ /bin/sh
Tani mund të kryejmë upgrade e instalimit të sapokryer woody në sid. Kush dëshironte thjesht vetëm një woody tjetër mund të kapërcejë këtë hap.

(echo deb http://ftp.debian.org/debian/ sid main; echo deb-src http://ftp.debian.org/debian/ sid main) > /etc/apt/sources.listapt-get updateapt-get dist-upgrade
Tani, në këtë pikë, kemi në dispozicion një sistem të plotë krejtësisht funksionues, ku mund të kryejmë të gjitha provat dhe rrëmujat që dëshirojmë pa patur rrezik të dëmtojmë sistemin tonë bazë stabël Debian.
Konfigurimi i login
Të japësh thjesht një chroot /sid/ është e lehtë, por kështu konservohen të gjitha të ndryshueshmet e ambientit që ndoshta nuk na duhen, etj... Një zgjidhje më e mirë është lëshimi i një procesi tjetër login në një terminal virtual, nga i cili të lidhemi direkt në directory chroot.

Kërko rreshtat në vazhdim tek /etc/inittab (sistemi yt bazë):

# Ki parasysh që në shumë sisteme Debian tty7 përdoret nga X Window System,# prandaj këshillohet të mos ti modifikoni pjesën relative.#1:2345:respawn:/sbin/getty 38400 tty12:23:respawn:/sbin/getty 38400 tty23:23:respawn:/sbin/getty 38400 tty34:23:respawn:/sbin/getty 38400 tty45:23:respawn:/sbin/getty 38400 tty56:23:respawn:/sbin/getty 38400 tty6
Shtojmë një rresht si më poshtëë:

8:23:respawn:chroot /sid/ /sbin/getty 38400 tty8
"8" tregon terminalin virtual nga ku duhet të kryejmë login e ri. Mund të zgjedhësh një tjetër po të duash.

Ringarkojmë init:

init q
Konfigurimi i gdm
Dëshiron të lëshosh X dhe GNOME nga chroot yt? Krejtësisht e mundur! Shembulli në vazhdim mundëson funksionimin e GDM në një terminal virtual 8; duhet të zgjedhësh një tjetër (9, për shembull) nëse, si në shembullin e mësipërm, ke përcaktuar vt8 për login. Sidoqoftë, ja çfarë duhet të bëjmë:

(kalo tek chroot yt, o me chroot /sid/ ose duke përcaktuar login si më sipër)

apt-get install gdm gnome x-window-system
Kopjo /etc/X11/XF86Config-4 tënd nga sistemi bazë në chroot:

cp /etc/X11/XF86Config-4 /sid/etc/X11/XF86Config-4
Lidhu edhe njëherë në chroot, dhe ndrysho /etc/gdm/gdm.conf. Tek seksioni [servers] do të gjesh një rresht si ky:

0=Standard vt7
Ndryshoje si në vazhdim:

0=Standard vt8
Sikurse shikuam më sipër, mund të zëvëndësosh sipas dëshirës çdo terminal në vend të "8".

Gjithmonë nga chroot, lësho:

/etc/init.d/gdm start
Tani mund të kalohet me lehtësi nga X Window System i chroot tek ai i sistemit bazë, duke kaluar thjesht nga një terminal virtual tek tjetri; për shembull duke shtypur Ctrl-Alt-F7 apo Ctrl-Alt-F8. Argëtohuni!
E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #1 më: 27-08-2005, 20:14:38 »
Citojeni

Të instalojmë GNOME nga CVS me ndihmën e Jhbuild


Projekti GNOME afron dy gjëra: Ambientin desktop GNOME, një desktop tërheqës dhe të lehtë për përdoruesit, dhe piataformën e zhvillimit GNOME, një koleksion të pasur instrumentësh, librerish dhe komponentësh për të zhvilluar programe të fuqishëm dhe kompleksë, që integrohet me pjesën tjetër të desktop. Gjithashtu GNOME është ambienti i vetëm i punës që, në momentin e shkrimit të këtij udhëzuesi, është përshtatur krejtësisht në shqip.

JHbuild nuk është gjë tjetër veç një instrumenti që u jep mundësinë zhvilluesve të testojnë versionin në CVS të GNOME (pra versionin që pasqyron ndryshimet në kohë reale).

Në vazhdim do të shohim se si të shfrytëzojmë fuqinë e Jhbuild për të instaluar/rifreskuar versionin më të fundit të GNOME.

Shpërndarja GNU/Linux e përdorur është Debian, në versionin Unstable. Megjithatë, Jhbuild mund të përdoret pa problem në shpërndarje të ndryshme Linux apo piataforma të tjera (sigurisht, jo Windows).

Dedikim
Ky udhëzues i shkurtër i kushtohet grupit të punës për përshtatjen në shqip të ambientit të punës GNOME, si dhe të gjithë zhvilluesve apo përdoruesve të thjeshtë që dëshirojnë të provojnë versionet beta (në zhvillim) të GNOME.

  Shënim
Ky është një udhëzues Jozyrtar dhe Praktik për zhvilluesit dhe testuesit e GNOME nën Debian GNU/Linux (unstable).

Konfigurimet që do të afrohen në vazhdim janë provuar shpeshherë dhe kanë dhënë rezultate të kënaqshme për arritjen e qëllimit (instalimi rezultues është plotësisht i përdorshëm).

Komandat e ndryshme duhen zbatuar gjithmonë në një terminal.

Për të zvogëluar mundësitë e gabimeve në shkrim mund të kopjoni dhe ngjisni në terminal komandat apo konfigurimet e dhëna.

"apt-get" kërkon që ju të keni një lidhje të vazhdueshme në internet për të instaluar / rifreskuar / shkarkuar programet.

"jhbuild" gjithashtu kërkon një lidhje të qëndrueshme internet.
 

Kushdo mund të kontribojë në korrigjimin/përmirësimin e këtij udhëzuesi.

Le të fillojmë
Me qëllim që jhbuild të funksionojë me korrektësi shpërndarja jonë në përdorim duhet të jetë sa më e përditësuar.

Përgatisim shpërndarjen
Kryejmë rifreskimin:

apt-get update
apt-get upgrade
Instalojmë disa paketa shtesë, që i nevoiten ambientit:

apt-get install build-essential docbook docbook-utils docbook-xsl \
docbook2x doxygen bison flex libpopt-dev cvs
Nëse lind nevoja e instalimit të pakove të tjera shtesë, mjafton të bllokoni proçesin e jhbuild dhe të instaloni gjithmonë me # apt-get pakon e kërkuar (zakonisht versionet "-dev").

Shkarkojmë dhe instalojmë jhbuild
Për lehtësi dhe, për të mos krijuar probleme me ambientet e përdoruesve ekzistues, unë krijoj një përdorues të ri; pra japim komandën:

adduser gnome212
Krijojmë kartelën e instalimit
  Unë po përdor /opt , të cilit i kam dedikuar një particion të veçantë të bollshëm.

mkdir -p /opt/app/gnome2
Krijojmë kartelën e punës
Marrim të drejtat e përdoruesit të sapokrijuar gnome212

su - gnome212
mkdir ~/cvs
Marrin jhbuild nga CVS
Futemi tek CVS e GNOME:

cvs -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login

nuk ka nevojë për fjalëkalim -- thjesht shtyp [Enter]
Shkarkojmë modulin jhbuild:

cvs -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome checkout
jhbuild
Kryejmë instalimin
Instalojmë modulin e saposhkarkuar:

cd jhbuild
make && make install
Konfigurojmë Jhbuild
Për këtë qëllim do të marrim shembullin e gatshëm që gjendet tek kartela e jhbuild sample.jhbuildrc

cp sample.jhbuildrc ~/.jhbuildrc
E ndryshojmë sipas nevojave tona:

vim ~/.jhbuildrc
Nëse keni ndjekur pozicionet që kam dhënë deri tani, mund të përdorni konfigurimin që po jap në vazhdim si shembull:

Example: Konfigurimi i .jhbuildrc
# -*- mode: python -*-

# information about cvs server
#cvsroots['gnome.org'] = ':ext:jamesh@cvs.gnome.org:/cvs/gnome'
#cvsroots['cairo.freedesktop.o rg'] = ':ext:james@cvs.freedesktop.org:/cvs/cairo'

# modules to build (deps are also built)
moduleset = 'gnome-2.12'
modules = ['glitz', 'pango', 'gtk+', 'dbus', 'meta-gnome-desktop', 'meta-gnome-devel-tools' ]

skip = [ 'mozilla' ]

# the prefix to install things to (user must have write access)
prefix = '/opt/app/gnome2'

# where the sources are checked out to
checkoutroot = '/home/gnome212/cvs'
bindir = '/home/gnome212/bin'
# where to put downloaded tarballs.
tarballdir = os.path.join(checkoutroot, 'pkgs')

# the Netscape Security Service directory
nssdir = '/include/mozilla-1.7.10/nss'

# the Netscape Portable Runtime directory
nsprdir = '/include/mozilla-1.7.10/nspr'

# arguments to pass to autogen script
autogenargs='--enable-maintainer-mode --disable-static --disable-gtk-doc'

#os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')

#branches['libglade'] = 'libglade-gobject-support-branch'
module_autogenargs['gnome-vfs'] = autogenargs + ' --enable-hal'
module_autogenargs['gimp'] = autogenargs + ' --disable-print --enable-python'
module_autogenargs['planner'] = autogenargs + ' --enable-database'

module_autogenargs['evolution-data-server'] = autogenargs \
        + ' --enable-nss=yes --with-nss-includes=' + prefix + nssdir \
        + ' --with-nspr-includes=' + prefix + nsprdir

module_autogenargs['evolution'] = autogenargs \
        + ' --enable-nss=yes --with-nss-includes=' + prefix + nssdir \
        + ' --with-nspr-includes=' + prefix + nsprdir \
        + ' --enable-exchange=no --disable-exchange'

module_autogenargs['dbus'] = autogenargs + ' --enable-glib --enable-python --enable-checks --enable-docs'

#module_autogenargs['howl'] = autogenargs.replace('--disable-static', '')
module_autogenargs['totem'] = autogenargs + ' --disable-gstreamer'

# set CFLAGS:
os.environ['CFLAGS'] = '-g -O2'
os.environ['INSTALL'] = os.path.join(bindir, 'install-check')
os.environ['ACLOCAL_FLAGS'] = "-I /usr/share/aclocal -I " + prefix + "/share/aclocal"
os.environ['PKG_CONFIG'] = prefix + "/bin/pkg-config"
os.environ['PKG_CONFIG_PATH'] = prefix + "/lib/pkgconfig:/usr/lib/pkgconfig"
os.environ['LD_LIBRARY_PATH'] = prefix + "/lib:/lib:/usr/local/lib:/usr/lib:/usr/share/lib"
addpath('XDG_DATA_DIRS', '/usr/share')
  Kujdes konfigurimin e nss, nspr: mund të ndryshojë në varësi të versionit të mozilla.

Krijojmë file e përgjithshëm të konfigurimit:

cd ~
grep -i 'prefix' ~/.jhbuildrc > jhbuild.conf
Fillojmë "ndërtimin" e GNOME
Kush ka durim të rrijë afër ekranit, të përgatisë një sasi të mjaftueshme kafeje, të tjerët, të japin komandat në vazhdim e të dalin të marrin ajër të pastër smile

cd ~/bin
./jhbuild bootstrap
./jhbuild sanitycheck
./jhbuild build
  Nëse komanda e dytë e mësipërme ju jep probleme, rikontrolloni me kujdes file e konfigurimit të jhbuild

  Nëse Jhbuild ndesh në ndonjë problem, ju jep mundësinë të hapni një konsolë për të korrigjuar/sistemuar çfarë nuk shkon.

Mbasi gjithçka të ketë përfunduar, jemi gati për të kaluar në fazën tjetër: futja në ambientin e ri të sapo krijuar.

Krijimi i seancës së re GNOME
Veprimet në vazhdim kërkojnë të drejtat e root

Kthehemi në root
su root
Krijojmë një file të ri seance:

vi /usr/bin/jhbuild-session
me përmbajtje si në vazhdim

#!/bin/sh
exec /home/gnome212/bin/jhbuild --file=/home/gnome212/jhbuild.conf run
gnome-session
Bëjmë të ekzekutueshëm file e sapokrijuar:

chmod a+x /usr/bin/jhbuild-session
Krijojmë file jhbuild.desktop:

vim /usr/share/xsessions/jhbuild.desktop
me përmbajtjen si në vazhdim:

[Desktop Entry]
Encoding=UTF-8
Name=GNOME me Jhbuild
Comment=Kjo seancë do t'ju lidhë në GNOME CVS
Exec=/usr/bin/jhbuild-session
Icon=
Type=Application
Sigurohemi që edhe ky file të jetë i ekzekutueshëm:

chmod a+x /usr/share/xsessions/jhbuild.desktop
Futja në seancën e re të GNOME
Tashmë mund të futemi tek seanca e re e GNOME thjesht duke zgjedhur GNOME me Jhbuild nga menuja e seancave të GDM. Sigurisht, për t'u futur duhet të përdorim përdoruesin e ri gnome212.

  Mund të futemi në seancën e re pa u shkëputur nga seanca aktuale e punës: mjafton të klikojmë tek menuja qendrore e GNOME Programe —> Vegla Sistemi —> Login i ri
E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #2 më: 27-08-2005, 20:19:20 »
Citojeni

Apache


Sot do të merremi me konfigurimin dhe instalimin e web server Apache në një sistem Linux; përsa i takon instalimit nën sistemin operativ Windows shikoni: Apache dhe Windows. Në këtë faqe do të flasim mbi instalimin e server-it në një pc stand-alone: do të thotë një makinë e vetme, asnjë skedë rrjeti, hub apo të ngjashëm, asnjë lloj dominio virtuale, etj,. Kush përdor një pc që funksionon si server nuk ka aspak nevojë të lexojë këtë faqe, prandaj do të flasim vetëm për instalimin e Apache në kompjuter të vetëm, si ai që secili prej jush ka në shtëpi.

Lë të fillojmë nga pakot e prekompiluara: .rpm dhe .deb.
Në fillim shohim pakot rpm, që instalohen në RedHat, Suse e Mandrake: siç mund t'a dini, këto pako janë gati për përdorim, prandaj mjafton thjesht t'i instalojmë me komandën e thjeshtë rpm -i Apache-xx.rpm. Dy x-at janë versioni i Apache: mund të zgjidhni versionin që dëshironi, megjithëse sa më i freskët të jetë aq më mirë është.( Pakot mund t'i shkarkoni nga www.apache.org , në versionin dhe sistemin që dëshironi) Mbasi të keni bërë këtë ( rpm -i Apache-xx.rpm ), Apache do të jetë instaluar, por nuk kemi mbaruar akoma: hapni një terminale, shkruani setup dhe do t'ju hapet një skermë që do t'ju ndihmojë në rregullimin e disa parametrave të sistemit; shkoni në pjesën që ka të bëjë me demonët dhe verifikoni që demoni httpd të niset në fazën e boot të sistemit: pa këtë Apache nuk do të ekzekutohet asnjëherë. Pasi të jeni siguruar që gjithshka është në rregull, hapni browser-in tuaj të preferuar dhe shkruani si adresë localhost(http://localhost): ajo që po shihni është skerma e "mirësevini" e Apache: n.q.s. e shikoni ( dhe do të mund t'a shikoni në se keni vepruar si më sipër), do të thotë që Apache është duke u ekzekutuar rregullisht në sistem. Për konfigurimin e tij do të flasim më poshtëë, kujtohuni vetëm që RedHat përmban një program të vogël për konfigurimin e Apache, të quajtur Comanche.

 



Ja këtu skerma e "mirëseardhjes" të Apache instaluar nëRedHat. Vini re adresën tek barra e titullit dhe tool comanche në të djathtë.

Kalojmë tani tek .deb, të përdorur në shpërndarjen Debian.
Edhe këtu veprimet janë pak a shumë të tjeshta: instaloni paketin me dpkg -i Apache-xx.deb dhe, se çdo gjë ka shkuar në rregull, pasi të keni hapur paketin, autamatikisht do të niset scripti apacheconf: ky do t'ju udhëheqë hap pas hapi në konfigurimin e server-it, dhe në përgjithësi ky do të jetë funksionues në mënyrë gati të përsosur. Edhe në këtë rast do ta shikojmë më me hollësi më poshtëë konfigurimin "manual". Testoni gjithçka duke shkruar 'localhost' në dritaren e adresës së browser-it dhe verifikoni. Faqja nuk do të jetë e njëjtë me atë të RedHat, por kjo nuk na intereson sepse së shpejti file /var/www/index.html do të ndryshohet. Ky file, në fakt, është file i "hapjes" të Apache, një lloj home page: e kush, për faqen e tij kryesore (edhe pse në lokale) do të linte skermën e Apache, sado e bukur të jetë ajo ?

Së fundi le të shohim tgz, ose më mirë buruesin: këtu puna do të jetë pak më e vështirë, por jo e pamundur: në fakt do të na duhet të kompilojmë gjithshka me dorë.
Të supozojmë se arkivin me buruesin e sapo shkarkuar nga siti i Apache e kemi vendosur në një directory, p.sh /usr/local.
Japim komandën:

$ gunzip Apache-xx.tar.gz

e më pas

$ tar xvf Apache-xx.tar

Në këtë pikë do të jetë krijuar directory Apache-xx, dhe është kjo directory në të cilën do të punojmë. Pra japim një

$ cd Apache-xx

dhe lexojmë mirë e mirë file REDME dhe INSTALL: të mos lexosh këto file do të thotë ti bësh punët për së mbrapshti, sepse gjatë fazës së kompilimit dhe pergatitjes mund të lindë nevoja e dhënies së ndonjë komande pa të cilën puna mund të rezultojë e kotë.
Lë fillojmë atëhere punën.

Ka shumë mundësi që të keni nëpër duar një version 1.3 të Apache, për të cilin ekzistojnë dy mundësi instalimi: procesi i ri, i ashtuquajtur APACI, është më i shpejtë dhe komod, sepse përdor të gjitha mundësitë 'standard' të instalimit të pakove në Linux; procesi më i vjetër është manual, i gjatë dhe i mërzitshëm..smile. Zgjedhim të...parin:-) : të shohim si bëhet gjithçka:

si fillim duhet të sigurohemi mbi disa gjëra: duhet të kemi rreth 12 Mb hapësirë të përkohshme në disk dhe 3 Mb të nevojitshëm për instalimin; na nuhet një kompilues, që normalisht duhet ta keni të preinstaluar: ju këshilloj GCC 2.7.2 apo superior. Duhet të kini interpretuesin perl5 (përndryshe do të jetë e pamundur të ekzekutoni CGI) dhe suportin DSO (Dynamic Shared Object, që në dy fjalë shërben për disa thirrje të sistemit për ngarkimin e moduleve);
lëshojmë skriptin ./configure, për të përgatitur kompilimin e buruesve; ky script pranon mundësi të ndryshme:
--prefix=PREFIX
 Është directory në të cilën dëshironi të instaloni Apache (sigurisht PREFIX duhet të ndërrohet me emrin e directory të zgjedhur): këshillohet /usr/local
 
--add-module=FILE
 Shërben për të kopjuar buruesin e një moduli në pemën e buruesve të Apache; sigurisht në vend të FILE duhet të shkruani path-in për buruesin e modulit
 
--activate-module=FILE
 Shton në fluturim një entry për një modul në file të konfigurimit të Apache
 
--enable-module=NAME
 Shërben për të bërë të mundur abilitimin (apo disabilitimin, duke përdorur --disable-module) një modul të veçantë
 
--with-perl=FILE
 Shërben për të impostuar interpretorin perl të përdorur nga Apache (edhe pse zakonisht Apache e kërkon vetë interpretuesin)
 



Sigurisht mundësitë që i kalohen ./configure nuk janë të gjitha këtu: këto janë më të nevojshmet (për qëllimin tonë). Për të njohur të gjitha mundësitë, lëshoni './configure --help'
Fillojmë kompilimin duke shkruajtur 'make'. Në kompjuterin modern nuk do të duhet shumë kohë, por gjithmonë do t'ju duhet të prisni disa minuta përpara se operacioni të mbarojë;
Tani instalojmë gjithshka: lëshojmë 'make install' dhe presim që gjithçka të mbarojë.
Në këtë pikë Apache është instaluar por nuk është akoma aktiv: lëshojmë 'PREFIX/sbin/apachectl start' dhe do të mund t'i kërkojmë Apache-it URL e parë , që do të jetë http://localhost. N.q.s. doni të ndaloni Apache, lëshoni komandën 'PREFIX/sbin/apachectl stop'.
Dhe kjo është gjithshka përsa i takon instalimit të Apache duke u nisur nga buruesit.

Arritëm kështu tek pjesa më e rësishme: konfigurimi: file kryesor është /etc/apache/httpd.conf , por ju mund t'a keni në ndonjë vend tjetër, sidomos po të keni kryer instalimin duke u nisur nga buruesit. Sido që të jetë, bëni një kërkim dhe gjeni pozicionin e këtij file.
Të shohim konstruktin e këtij file: duhet të dini që çdo zë, është i komentuar hollësisht, për t'ju dhënë mundësinë të kuptoni se çfarë jeni duke bërë dhe në çfarë shërben ajo çfarë po bëni. Sigurisht, një minimum njohurish të gjuhës teknike është i nevojshëm për t'a konfiguruar sa më mirë.

Zërat më të rëndësishëm janë:

ServerType
 Vendoseni tek 'standalone', duhet të mjaftojë.
 
Port
 Default është 80, si fillim mos e ndërroni
 
HostnameLookups
 Log emrat e klient (on) apo vetëm numurin e tyre IP (off); mund ta lini off
 
ServerAdmin
 Nuk hyn në punë në një server lokal, por nëse doni shkruani adresën tuaj e-mail e kështu, për çdo error, mund të mburreni që jeni parë nga Apache si administartor.
 
ServerRoot
 Directory ku Apache konservon log, erroret dhe file të konfigurimit; zakonisht është directory ku gjendet file httpd.conf
 
LoadModule
 I rëndësishëm: i tregon Apache çfarë modulesh duhet të ngarkojë, n.q.s. doni të jetë i sigurtë, ngarkohini të gjithë (edhe pse në nisje Apache do të jetë më i ngadalshëm, por flitet për disa sekonda). Të domosdoshëm për qëllimet tona janë të gjithë modulet për CGI, për Perl dhe mime
 
ErrorLog
 File ku Apache shkruan gabimet. /var/log/apache/error.log mund të shkojë mirë.
 
ServerName
 Emri i server-it tuaj. N.q.s. nuk e keni ndryshuar, do të jetë localhost.localdoma in por, m.q.s. është jo komod, lëshoni (nga root) hostname dhe ndryshoni emrin e host-it tuaj
 



Një file tjetër i rëndësishëm është srm.conf, që duhet të jetë në të njëjtën directory me httpd.conf. Le ta shohim nga afër:

DocumentRoot
 Directory në të cilën vendosen file html për faqen lokale. Normalisht /var/www : d.m.th. së në atë directory vendosni një index.html tuajin, se shkruani 'localhost' si adresë të browser, do të shihni tamam atë faqe. Dhe nga kjo do të nisen të gjitha faqet e tjera.
 
DirectoryIndex
 Emri i faqes që do të shihet si e parë; zakonisht index.html por mund të jetë edhe default..etj.
 
ScriptAlias
 Dhe ja mbërritëm tek CGI: është mirë ta quani këtë zë si : ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ . çfarë do të thotë? thjesht, që ju mund të fusni CGI tuaj në /usr/lib/cgi-bin/, por këto do të thërriten nëpërmjet http://localhost/cgi-bin/nome_cgi.cgi
 

Arritëm në fund, e ju duhet të keni tani në dispozicion një server local plotësisht funksionues. N.q.s. ndonjë gjë nuk do të ketë shkuar siç duhet, lexoni dokumentet që përfshihen në arkivin që keni shkarkuar nga internet dhe që normalisht mund ta kërkoni në kartelën /usr/doc/apache:, futuni dhe lexoni gjithçka që mund t'ju nevojitet.
E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #3 më: 27-08-2005, 20:20:37 »
Citojeni

Q-MAIL. Serveri ynë i postës.

Një nga problemet e para të përdoruesve linux është përdorimi dhe kontrolli i postës elektronike. Aq më i komplikuar bëhet ky problem për përdoruesit që nuk kanë një lidhje fikse në internet. Problemi kryesor qëndron në vënien në rrjesht të të gjithë postës që duhet të dërgojmë dhe, sa po të aktivohet lidhja me internetin, ta dërgojmë me anë të SMTP server të provedier-it tonë. Gati të gjitha shpërndarjet linux përdorin si MTA( Mail Transfer Agent) Sendmail. Asgjë kundër Sendmail, por për pordoruesit fillestarë të linux, konfigurimi dhe përdorimi është një problem jo i vogël. Procedura është e gjatë dhe në dokumentet që e shoqërojnë jo gjithçka shpjegohet hollësisht. Sendmail në përgjithësi e kryhen funksionin në mënyrë të shkëlqyer , por përsa i takon lidhjeve dial-up ekzistojnë programe që ja kalojnë në thjeshtësi përdorimi dhe siguri.

Në rastin tonë do të marrim në shqyrtim qmail, që për mendimin tim është një nga zgjedhjet më të mira që mund të bëni ( Sot po përdoret gjithnjë e më tepër për shkak të thjeshtësisë, efikasitetit dhe siguresës-1000$ për atë që arrin ti gjejë një "vrimë" smile ).

Atëhere le të fillojmë.

Hapi i parë është shkarkimi i paketit qmail nga adresa:

http://pobox.com/~djb/qmail.html

Për përdoruesit që kanë lidhje dial-up shërbejnë dhe dy programet që vijojnë:

Serialmail: http://pobox.com/~djb/serialmail.html

Tcpserver dhe tcpclient: http://pobox.com/~djb/ucspi-tcp.html

Instalimi.

Supozojmë që dëshirojmë të instalojmë paketin qmail në /var/qmail dhe që do të përdorim emrat e zakonshëm për përdoruesit dhe grupet me të cilët do të punojë qmail. Veprojmë në këtë menyrë:

Hapim paketin në një dir të përkohëshme (/tmp):

tar xvfz qmail-1.03.tar.gz

Krijojmë dir ku do të instalojmë qmail:

mkdir /var/qmail

Shtojmë përdoruesit dhe grupet për qmail:

groupadd nofiles

useradd –g nofiles –d /var/qmail/alias

alias

useradd –g nofiles –d /var/qmail qmaild

useradd –g nofiles –d /var/qmail qmaill

useradd –g nofiles –d /var/qmail qmailp

groupadd qmail

useradd –g qmail –d /var/qmail qmaild

useradd –g qmail –d /var/qmail qmaill

useradd –g qmail –d /var/qmail qmailp

Kompilojmë programet:

make setup check

I tregojmë qmail-it se në cilin host ndodhet:

./config-fast hostname.tld

(kush ka një hostname dinamik këshilloj të përdorë si hostname atë që duket në /etc/hosts)

Krijojmë disa alias të thjeshtë për postën dhe rregullojmë të drejtat:

cd ~alias

touch .qmail-postmaster

touch .qmail-mailer-daemon

touch .qmail-root

chmod 644 ~alias/.qmail*

Kopjojmë njërin nga scriptet e gatshëm për të bërë të mundur nisjen e qmail në boot, p.sh.:

cp /var/qmail/boot/home

/var/qmail/rc

Bëjmë të mundur nisjen e script në fazën e boot duke shtuar diçka të ngjashme me :

/var/qmail/rc &

për njërin nga scriptet që ndodhen në /etc/rc.d/

Në këtë pikë duhet të vendosim se në çfarë formati duhet t'a shpëtojmë postën. Zgjidhja për shumicën e MTA qëndron në krijimin e një file me emër të njëjtë me username për çdo kuti poste ekzistuese dhe ti mbajmë këto file në dir /var/spool/mail . Sapo në kutinë tonë të postës arrin një mesazh i ri thjesh i shtohet të vjetrit ekzistues duke e ndarë me një CR. Në server-et e mëdhenj kjo zgjidhje nuk është efikase dhe është e pasigurtë.

Qmail përdor një rrugë të dytë: shpëton postën e çdo përdoruesi në dir e tij home me emrin ./Mailbox . Zgjidhet kështu problemi i ekzistencës së një dir /var/spool/mail me përmasa tepër të mëdha, por jo problemi i korruptimit të Mailbox në rastin e një crash të sistemit. Në qoftëse do të ndodhte një gjë e tillë gjatë shkrimit në disk të një mesazhi të ri, mesazhi mund të ndërpritet në mes të një rrjeshti dhe mund të konsiderohet gabimisht nga klienti i leximit të postës elektronike si pjesa fillestare e mesazhit që vijon.

Për të shmangur këto probleme është krijuar formati Maildir. Duke përdorur Maildir çdo mesazh shpëtohet në një file të veçantë dhe shkrimi kryhet duke kaluar ndërmjet një dir të përkohshme. Në këtë menyrë, n.q.s. sistemi shkon në crash, mesazhi i korruptuar, duke qenë i veçuar, mund të ripërtërihet pa problem. Maildir është një standart që kalon provën e krash dhe është një zgjedhje e detyrueshme në qoftë se posta duhet shpëtuar në një dir të montuar NFS që, siç dihet, është pak e qëndrueshme.

Me Maildir zgjidhet gjithashtu problemi i hyrjes së njëkohshme në kutinë e postës së dy programeve të ndryshëm.

Në bazë të formatit të zgjedhur bëhet dhe nisja e qmail (me parametra të ndryshëm):

Formati Mailbox:

Duhet të shkruajmë në file /var/qmail/rc , duke e ndryshuar në këtë menyrë:

#!/bin/sh

exec env –

PATH="/var/qmail/bin:$PATH"

qmail-start './Mailbox'splogger

qmail

Këshillohet krijimi i një file

~/.qmail

për çdo përdorues, në të cilin i tregohet qmail si duhet të sillet me postën që i arrin:

su lor –c "echo ./Mailbox >

~lor/.qmail

Me qenë se klientët e postës zakonisht vazhdojnë ta kërkojnë postën në /var/spool/mail mund të jetë i nevojshëm krijim i një symlink që synon Mailbox-in përkatës për çdo file. P.sh.:

ln –s ~lor/Mailbox

/var/spool/mail/lor

Pjesa më e madhe e klientëve të postës e kërkon Mailbox-in nga ku do të lexojë mesazhet në PATH e caktuar nga variabli i ambientit MAIL. Prandaj mund të jetë e mjaftueshme të shtojmë diçka të tipit:

export MAIL=./Mailbox

në file /etc/profile, kështu që çdo përdorues që hyn në server e gjen këtë variabël të impostuar në mënyrë korrekte.

Formati Maildir.

Është i nevojshme shkrimi i file /var/qmail/rc , në këtë menyrë:

#!/bin/sh

exec env –

PATH="/var/qmail/bin:$PATH"

qmail-start './Maildir/'splogger

qmail


Për çdo përdorues (në shembullin tonë lor) duhet të ndjekim komandat:

su lor –c "maildirmake

~lor/Maildir"

su lor –c "echo ./Maildir/ >

~lor/.qmail"

Përpara se të vazhdojmë më tej, në qoftë se jeni duke përdorur akoma sandmail, duhet ta hiqni.

Gjëja e parë është gjetja e script që lëshon sendmail gjatë fazës së boot. Si zakonisht do të jetë një nga file që ndodhen në /etc/rc.d. Rrjeshti që duhet të komentojmë është:

/usr/sbin/sendmail –bd –q15m

Proçeset relativë sendmail duhet të killohen(në qoftëse jeni duke marrë postën mesazhi humbet). Kontrolloni që nuk keni postë në pritje në /var/spool/mqueue . Prishni binaret e sendmail dhe hiqni setuid bit nga sendmail. Futuni në dir ku keni binaret e sendmail dhe jepni komandat:

chmod 0 sendmail

mv sendmail sendmail.bak

Për t'i dhënë mundësinë programeve që përdornin sendmail të mos e kuptojnë mungesën e tij dhe të vazhdojnë të punojnë si zakonisht duhet të krijojmë një symlink (duke supozuar që sendmail i juaj ishte installuar në /usr/sbin/ )

ln –s /var/qmail/bin/sendmail

/usr/sbin/sendmail

Në këtë rast /var/qmail/bin/sendmail nuk është gjë tjetër se një wrapper për sendmal që do të kujdeset t'i kalojë postën qmail-inject

Në këtë pikë mund të vendosim se ta nisim qmail-smtpd nga inetd apo në menyrë standalone.

Në qoftë se parashikoni të keni trafik (të madh) është e këshillueshëm mënyra standalone, duke përdorur programin tcpserver, që na jep edhe mundësinë e "loggimit" të lidhjeve me server-in tuaj. Prandaj duhet të instalojmë edhe paketin ucspi-tcp:

tar xvfz ucspi-tcp-x.xx.tar.gz

cd ucspi-tcp-x.xx/

make

make setup check

më pas:

grep –i qmaild /etc/passwd

qmaild:x:1005:103::/var/qmail:

grep –i nofile /etc/group

nofiles:x:103:

Në rastin tim uid i përdoruesit qmaild është 1005 dhe gid i përdoruesit nofile është 103.

Tani duhet të veprojmë në menyrë të tillë që qmail-smtpd të lëshohet në çdo boot. Duhet të shtojmë në njërin nga script që ndodhen në /etc/rc.d rrjeshtin e mëposhtëëm:

tcpserver –u 1005 –g 103 0 smtp

/var/qmail/bin/qmail-smtpd &

(Ndryshoni 1005 e 103 me uid dhe gid që keni gjetur me komandat e mësipërme)

Në qoftë se doni të loggoni lidhjet që kryhen në smtpd, ndryshoheni rrjeshtin në këtë menyrë:

tcpserver –u 1005 –g 103 0 smtp

/var/qmail/bin/qmail-smtpd 2>&1

| /var/qmail/bin/splogger smtpd 3 &

Përndryshe për ta lëshuar nga inetd mjafton të shtoni rrjeshtin e mëposhtëëm në /etc/inetd.conf :

smtp stream tcp nowait qmail

/var/qmail/bin/tcp-env tcp-env

/var/qmail/bin/qmail-smtpd

Kjo ishte e gjitha!....

Harrova smile ) Për të nisur qmail mjafton të bëni një reboot, ose më thjesht dërgojini një HUP drejt inetd dhe lëshoni qmail-start në mënyrën e mëposhtme:

killall –HUP inetd

/var/qmail/rc &

P.S.

Paketi qmail është shkruar nga D.J. Bernstein. Siti zyrtar është:

http://pobox.com/~djb/qmail.html
E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #4 më: 27-08-2005, 20:21:29 »
Citojeni

Në një ambient të sigurtë multi përdorues siç është Linux, të drejtat e hyrjes në files janë të përcaktuara në menyrë tepër precize. Por këto të drejta hyrje mund të krijojnë probleme për përdoruesit e rinj të Linux që vijnë/janë mësuar me sistemin e hyrjes të lirë në files të DOS/Windows.

Ky udhëzues i shkurtër i drejtohet pikërisht përdoruesve të rinj dhe kërkon të shpjegojë konceptet më thelbësore dhe komandat e përdorura për të kontrolluar dhe administruar këto të drejta. Linux është një sistem operaivo me të vërtetë multi përdorues. Në një sistem multi përdorues, siguria e të dhënave dhe të përdoruesve është tepër e rëndësishme.Hyrja në të dhënat duhet t'i lejohet vetëm kujt ka nevojë. Me qenë se Linux është një sistem operativ orientuar kryesisht për përdorim në server, ai parashikon një sistem efikas për kontrollin dhe sigurimin e files krejtësisht të integruar në brendësinë e tij. Sigurisht një sistem i tillë mund të tu krijojë probleme përdoruesve, në menyrë të veçantë kujt është në kontaktet e para me Linux. Shumica e pyetjeve të përdoruesve të rinj janë shkak i të drejtave të hyrjes në files të gabuara ose edhe nga fakti që përdoruesi injoron faktin që sistemi i të drejtave nuk i lejon të futen në files të caktuar.

Para se gjithash kontrollojmë të drejtat e files. Të drejtat (ose lejet) ndahen për : përdorues, grupe dhe të tjerë. Përdorues është username me të cilin keni kryer login (jeni futur në sistem). Përveç kësaj shumë përdorues mund të organizohen në grupe për një kontroll më të mirë. çdo përdorues bën pjesë, në default, në të paktën një grup. Kategoria e të "tjerëve" përfshin ata që nuk bëjnë pjesë në kategoritë e sipër përmendura.

Ja rezultati i një 'ls -l'



drwxr-x--- 2 mayank freeos 4096 Dec 28 04:09 tmp

-rw-r--r-- 1 mayank freeos 969 Dec 21 02:32 foo

-rwxr-xr-x 1 mayank freeos 345 Sep 1 04:12 somefile



Një informacion i rëndësishëm këtu, në kollonën e parë, është tipi i file, ndjekur nga të drejtat e hyrjes. Kollona e tretë dhe e katërt na trgojnë pronarin e file dhe grupin ku bën pjesë.

Rrjeshti i parë këtu është tmp.Gërma e parë në kolonën e parë është 'd', që do të thotë që tmp është një directory. Rrjeshtat e tjerë këtu janë files, të shënuar nga karakteri '-'.



d rwx r-x ---

tipi i file | përdorues | grupe të tjerë



Nëntë karakteret që ndjekin përcaktojnë të drejtat e hyrjes në files. Këto të drejta specifikohen nga grupe prej tre karakteresh secili. Tre të parët janë të drejtat pë pronarin e file apo directory. Tre të dytët janë të drejtat e grupit nga i cili file kontrollohet dhe tre karakteret e fundit tregojnë të drejtat për kë nuk bën pjesë në grup. Kemi tre atribute të mundshëm që përbëjnë të drejtat e hyrjes në file.

r - E drejta e leximit. File mund të lexohet. Në qoftë se kemi të bëjmë me një directory kjo do të thotë që mund të listojmë files ( apo directory ) që bëjnë pjesë në të.

w - E drejta e shkrimit. File mund të shkruhet apo modifikohet. Në rastin e një directory ky atribut përcakton në se është e mundur kryerja e ndryshimeve në përbërjen e directory. Në qoftë se e drejta e shkrimit mungon, atëhere nuk do të jeni në gjendje të fshini, ndryshoni emrin apo të krijoni files.

x - E drejta e ekzekutimit. Ky atribut specifikon që një file mund të ekzekutohet. Përsa i takon një directory, do të thotë që keni të drejtën të futeni, të kryeni një kërkim apo të ekzekutoni një program.

Të konsiderojmë të drejtat e tmp, që janë drwxr-x---. Pronari i kësaj directory është përdoruesi mayank dhe grupi pronar është freeos.

Tre të drejtat e para janë rwx. Ato i lejojnë një hyrje të plotë në lexim, shkrim dhe ekzekutim përdoruesit mayank. Kështu, mayank këtu ka hyrje të plotë. Lejet e grupit janë r-x. Nuk është dhënë e drejta e shkrimit, prandaj anëtarët e grupit freeos mund të futen në directory dhe të shohin përbërjen e saj, por nuk mund të krijojnë files të rinj apo sub-directories. Ata nuk munden as të fshijnë ndonjë file apo të ndryshojnë në asnjë menyrë përbërjen e directory.Asnjë tjetër nuk ka të drejtën e hyrjes, sepse mungojnë atributet (---). Për foo të drejtat janë -rw-r--r--. Po të aplikojmë sa shpjeguar më sipër shohim që pronari i file (mayank) mund ta lexojë dhe modifikojë (Hyrje në lexim dhe shkrim). Anëtarët e grupit freeos mund ta lexojnë por jo ta modifikojnë. Të gjithë të tjerë munden vetëm ta lexojnë por në asnjë menyrë ta ndryshojnë.

Tani që besoj që jeni në gjendje të kuptoni të drejtat, duhet të mësoni si ti jepni apo ndryshoni këto të drejta. Për të bërë këtë na vjen në ndihmë programi chmod. Për të ndryshuar të drejtat e files duhet të jeni përdoruesi pronar ose root. Sintaksa e komandës chmod është pak a shumë e thjeshtë. Të drejtat duhen dhënë për përdoruesit (u), grupet (g) dhe të tjerët (o).

Një shembull i thjeshtë i komandës chmod mund të jetë:

chmod u-x,g+w,o+rw emrifile

Po të ekzekutojmë komandën e mësipërme do ti heqim përdoruesit të drejtën e ekzekutimit, i japim të drejtën e shkrimit grupit dhe i japim të të drejtën e leximit dhe shkrimit të gjithë të tjerëve. Të drejtat e hyrjes në file përpara ekzekutimit të kësaj komande janë:

-rwxr-xr-.

Ndërsa pas ekzekutimit janë:

-rwxrwx---.

Para së gjithash përdorni 'u','g' apo 'o' ndjekur nga një '+' për të shtuar një të drejtë, '-' për ta hequr dhe një '=' për të eleminuar të drejtat ekzistente dhe për t'i dhënë të drejta të reja. Mund edhe të përdorni 'a' për ti dhënë një të drejtë të gjithëve.

Marrim në konsideratë të drejtat e një file, për shembull -rwxrwxrwx, dhe i ndryshojmë.

chmod g-wx emrifile

Po heqim grupit të drejtën e shkrimit dhe ekzekutimit. File tani do të ketë të drejtat:

-rwxr-rwx.

Mund edhe të specifikoni të drejtat për përdoruesit, grupet dhe të tjerët në të njëjtën kohë, me të njëjtë komandë, thjesht duke i ndarë me një presje.

chmod g+wx,o-rwx emrifile

Anëtarëve të grupit i dhamë të drejtën e shkrimit dhe ekzekutimit, por hoqëm të gjitha të drejtat për përdoruesit që nuk bëjnë pjesë në këtë grup. Të drejtat e hyrjes në file tani janë:

-rwxrwx---.

chmod a+x emrifile

Kjo komandë i jep të gjithëve të drejtën e ekzekutimit. Të drejtat tani janë:

-rwxrwx-x

Specifikimi i 'a' nuk është esencial; mund edhe të shkruani thjesht '+x' në këtë rast sepse në default komanda ndiqet për të gjithë. D.m.th. komanda chmod +x emrifile është ekuivalente me të parën.

chmod go-rx emrifile

N.q.s të njëjtat të drejta duhen dhënë apo hequr për përdoruesit, grupet apo të tjerët, mund ti përmblidhni si në shembullin e mësipërm. Të drejtat tani janë:

-rwx-w----.

chmod ug=rwx emrifile

Kjo komandë i jep të drejtat file tamam siç është specifikuar. Tani të drejtat në fakt do të jenë:

-rwxrwx---.

chmod o=g emrifile

Kjo komandë i jep të drejtat e hyrjes në file të tjerëve njësoj si të drejtat e dhëna grupit. Të drejtat tani do të jenë:

-rwxrwxrwx.

Sa më poshtëë është një menyrë tjetër për të ndryshuar të drejtat e hyrjes të një file. Bits që specifikojnë të drejtat e hyrjes r,w, dhe x shprehen në numëra.



r = 4

w = 2

x = 1



Tani mund të përdorni numrat për të dhënë të drejtat, që janë shuma e bits të ndryshëm.

Për shembull:

- rwx

do të jetë 4+3+1 = 7. rx do të bëhet4+1 = 5. komanda chmod tani kthehet në

chmod xyz emrifile

x,y dhe z janë numra që përfaqësojnë të drejtat e ndryshme të përdoruesit, grupit dhe të tjerëve përkatësisht. çdo numër është shuma e të drejtave për tu dhënë dhe llogaritet si më sipër.

Chmod 644 emrifile

6 = 4 + 2 = rw

4 = r

4 = r

Si shikoni , të drejtat për emrifile janë ndryshuar në:

-rwr-r--

Ky është dhe sistemi më i thjeshtë dhe i shpejtë për të ndryshuar të drejtat. Bëni riferiment tabelës së mëposhtme:



0 - ---

1 - --x

2 - -w-

3 - -wx

4 - r--

5 - r-x

6 - rw-

7 - rwx

Përveç të drejtave të hyrjes në file, është i mundur dhe ndryshimi i pronarit dhe grupit të file.

Programi chown është ai që përdoret në shembullin që ndjek, dhe sintaksa e tij është shumë e thjeshtë. Edhe në këtë rast duhet të jeni pronari i file ose përdoruesi root.

chown pronari-i ri emrifile

chown newbie emrifile

Për të ndryshuar grupin përdoret komanda chgrp. Sintaksa është e ngjashme me chown. Duhet të jeni pronari i file dhe të bëni pjesë në të njëjtin grup të file ose, edhe në këtë rast, duhet të jeni root.

chgrp grupi-i ri emrifile

Sa më sipër ishte vetëm një panoramë e shpejtë në sistemin e të drejtave të hyrjes në files nën ambientin Linux. Në qoftë se do t'ju qëlloi të keni probleme për tu futur në ndonjë file, kontrolloni të drejtat. Si do që të jetë nuk mund ta mënjanoni njohjen me to smile. Është një njohuri thelbësore, asnjë përdorues Linux nuk mund të veprojë pa të. Por kini kujdes të përdorni të drejtat korrekte. Mundohuni mos ti jepni hyrje të gjithëve të files tuaj. Edhe në një desktop monopërdorues mos e lini pa përdorur këtë rregull të mirë sigurimi.

E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #5 më: 27-08-2005, 20:23:12 »
Citojeni

Si të krijojmë një minishpërndarje Linux në rast emergjence
Mund të ndodhë që për arsye të ndryshme, si për shembull një kernel i ri apo dëmtimi i një disku, të mos arrijmë të nisim dot në menyrë korrekte sitemin tonë Linux.

Për të rivënë në funksion sistemin përdorim, zakonisht, CD e boot të shpërndarjes në përdorim, si p.sh. Slakware apoo Debian, por shpesh këto CD nuk përmbajnë aplikativët me të cilët jemi mësuar të punojmë. Ky është motivi kryesor për të cilin është mirë të kesh në dispozicin një sistem Linux minimum të paisur me të gjithë ato programe që ndihmojnë në ndreqjen e sistemit tonë.

Ekzistojnë script që automatizojnë pjesën më të madhe të punës, si p.sh.:

· Bootkit – ftp://sunsite.unc.edu/pub/Linux/system/Recovery/

· CatRescue – ftp://gd.cs.csufresno.edu/pub/sun4bin/src/

· Search and Rescue – ftp://ftp.icce.tug.nl/pub/unix/

Të gjithë pakot e përmendura më sipër mund t'i gjeni edhe tek http://freshmeat.net duke bërë një kërkim të vogël.

Në qoftë se dëshironi të keni kontrollin total zgjidhja është të krijojmë vetë disketat e boot.

Një sistem Linux minimum (apo minishpërndarje Linux) duhet të përmbajë një kernel dhe një BootManager (p.sh. Lilo) për të nisur në menyrë korrekte sistemin, dhe një filesystem minimum, por të paisur me të gjithë funksionet në menyrë që t'i japë mundësi përdoruesit të punojë. Një minishpërndarje e tillë mund të qëndrojë:

1. në një disketë (floppy), që do të përmbajë instruksionet për të nisur sistemin dhe një filesystem minimum. Një disketë e tillë quhet Boot/Root;

2. në dy disketa, ku e para (e quajtur Boot) do të përmbajë vetëm instruksionet për të kryer boot, dhe e dyta (e quajtur Root) do të ketë vetëm një filesystem minimum;

3. në një CD, që natyrisht do të përmbajë si instruksionet për kryerjen e boot ashtu dhe filesystem e root.

Zgjidhja e parë prezanton avantazhin e mos qënies së nevojshme të ndërrimit të disketës në nisje, por hapsira do të rezultojë sigurisht e pamjaftueshme për të shtuar të gjithë programet e nevojshëm; zgjidhja e fundit ka avantazhin e zvogëlimit në minimum të kohëzgjatjes së fazës së nisjes, por nga ana tjetër ka svantazhin e madh të pamundësisë së kryerjes së provave të shumta. Prandaj këtu do të studiojmë zgjidhjen e dytë, duke i shtuar po të ketë nevojë një disketë të tretë minishpërndarjes sonë (të quajtur Utility) me programe suplementarë.

Disketa e Boot

Procesi i boot fillon me leximin dhe ekzekutimin e kodit që fillon në sektorin 0, cilindri 0 të dispozitivit të zgjedhur për kryerjen e boot. Në këtë rast ky kod mund të jetë vetë kerneli i kopjuar si më poshtëë në diskun floppy të futur në lexuesin e parë:
shembull# cp /boot/vmlinuz /dev/fd0

Në këtë menyrë kemi kopjuar kernel-in, që ndodhet në directory /boot, me anë të 'raw device'direkt në floppy. Një menyrë tjetër për të bërë një floppy boot-abël është përdorimi i një boot loader (p.sh. Lilo). Gati të gjithë sistemet Linux përdorin Lilo për të nisur sistemin nga disku fiks, por gati të gjithë shpërndarjet përdorin SysLinux, sepse ky i fundit mundëson një kontroll shumë më të thjeshtë të imagjinatave të kompresuara: po të përdorej një filesystem i kopjuar thjesht në disketën e root hapësira e afruar nga një floppy i thjeshtë nuk do të mjaftinte për të kopjuar të gjithë programet; zgjidhja afrohet nga komprimi i filesystem të root në një disketë në menyrë që në nisje ky të lexohet dhe të riformohet në një disk RAM të krijuar posaçërisht.

Gjëja e parë që duhet bërë është kompilimi i një kernel në menyrë të tillë që të jetë sa më i vogël, meqenëse duhet të kopjohet në një disketë: po të jetë e mundur lini jashtë suportin për rrjetet dhe pjesën multimediale; gjithashtu është mirë të evitoni të përdorni modulë, me përjashtim të rastit kur nuk jeni të shtërnguar t'i përdorni. Lista e mëposhtme sjell konfigurimin e kernel të përdorur si shembull:

CONFIG_X86=y

CONFIG_ISA=y

CONFIG_UID16=y

CONFIG_MODULES=y

CONFIG_KMOD=y

CONFIG_M386=y

CONFIG_X86_L1_CACHE _SHIFT=4

CONFIG_NOHIGHMEM=y

CONFIG_MTRR=y

CONFIG_X86_UP_IOAPI C=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_LOCAL_AP IC=y

CONFIG_NET=y

CONFIG_PCI=y

CONFIG_PCI_GOANY=y

CONFIG_PCI_BIOS=y

CONFIG_PCI_DIRECT=y

CONFIG_PCI_NAMES=y

CONFIG_HOTPLUG=y

CONFIG_SYSVIPC=y

CONFIG_BSD_PROCESS_ ACCT=y

CONFIG_SYSCTL=y

CONFIG_KCORE_ELF=y

CONFIG_BINFMT_AOUT=y

CONFIG_BINFMT_ELF=y

CONFIG_BINFMT_MISC=y

CONFIG_PNP=y

CONFIG_BLK_DEV_FD=y

CONFIG_BLK_DEV_LOOP=y

CONFIG_BLK_DEV_RAM=y

CONFIG_BLK_DEV_RAM_ SIZE=16384

CONFIG_BLK_DEV_INIT RD=y

CONFIG_UNIX=y

CONFIG_IDE=y

CONFIG_BLK_DEV_IDE=y

CONFIG_BLK_DEV_IDED ISK=y

CONFIG_BLK_DEV_IDEC D=y

CONFIG_BLK_DEV_CMD6 40=y

CONFIG_BLK_DEV_CMD6 40_ENHANCED=y

CONFIG_BLK_DEV_RZ10 00=y

CONFIG_BLK_DEV_IDEP CI=y

CONFIG_BLK_DEV_IDED MA_PCI=y

CONFIG_BLK_DEV_IDED MA=y

CONFIG_IDE_CHIPSETS=y

CONFIG_BLK_DEV_IDE_ MODES=y

CONFIG_VT=y

CONFIG_VT_CONSOLE=y

CONFIG_UNIX98_PTYS=y

CONFIG_UNIX98_PTY_C OUNT=256

CONFIG_MOUSE=y

CONFIG_PSMOUSE=y

CONFIG_RTC=y

CONFIG_AUTOFS4_FS=y

CONFIG_FAT_FS=y

CONFIG_MSDOS_FS=y

CONFIG_VFAT_FS=y

CONFIG_ISO9660_FS=y

CONFIG_MINIX_FS=y

CONFIG_PROC_FS=y

CONFIG_DEVPTS_FS=y

CONFIG_EXT2_FS=y

CONFIG_MSDOS_PARTIT ION=y

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="cp437"

CONFIG_NLS_CODEPAGE _437=y

CONFIG_NLS_CODEPAGE _850=y

CONFIG_NLS_ISO8859_ 1=y

CONFIG_NLS_ISO8859_ 15=y

CONFIG_VGA_CONSOLE=y

CONFIG_VIDEO_SELECT=y

Tani duhet të formatojmë siç duhet një disketë:

superformat /dev/fd0 hd

dhe ta bëjmë boot-abël:

syslinux –s /dev/fd0

duhet t'a montojmë këtë disketë dhe të kopjojmë kernel-in:

mount /dev/fd0 /floppy

cp /usr/src/linux/arch/i386/boot/bzImage /floppy/vmlinuz

dhe të konfigurojmë siç duhet kernel-in:

rdev –R /floppy/vmlinuz 1

rdev –r /floppy/vmlinuz 0

rdev –v /floppy/vmlinuz –1

rdev /floppy/vmlinuz /dev/ram0

rdev është një utility për të ndryshuar 'në fluturim'disa parametra të kernel. Sipas rradhës kemi vendosur filesystem root vetëm në lexim, fiksuar në 0 madhësinë e diskut RAM, vendosur modalitetin video normale, dhe së fundi kemi ndryshuar filesystem di root që nuk do të jetë më disku fiks por një disk RAM.

Hapi i mëtejshëm është konfigurimi i SysLinux siç duhet. File i konfigurimit duhet të gjendet në root të disketës (pra në shembullin tonë në /floppy) dhe duhet të quhet syslinux.cfg:

DEFAULT vmlinuz

APPEND vga=normal noinitrd load_ramdisk=1 prompt_ramdisk=1 ramdisk_size=16384 root=/dev/fd0 disksize=1.44

TIMEOUT 0

DISPLAY boot.txt

PROMPT 1

F1 f1.txt

F2 f2.txt

Variabili DEFAULT specifikon emrin (dhe pozicionin eventual) të kernel që do të ngarkohet, APPEND lejon të specifikojmë disa mundësi: në veçanti load_ramdisk, prompt_ramdisk dhe ramdisk_size japin mundësinë të specifikojmë që kernel dhe particioni root do të ngarkohen në një disk RAM të madhësisë së specifikuar, dhe pasi të jetë ngarkuar kernel-i do të kërkohet një disketë e dytë (root=/dev/fd0) që përmban filesystem root që do të ngarkohet në kujtesë.

DISPLAY lejon specifikimin e një file me një mesazh përshëndetje, dhe F1 e F2 specifikojnë dy file të tjerë që do të hapen kur të shtypen pulsantët përkatës.

SysLinux lejon të specifikojmë konfigurime të mëtejshme, por për shpjegime dhe informacione është mirë të konsultoni file e tekstit syslinux.doc të përfshirë në pakon e SysLinux.

Kështu disketa e Boot u kompletua, më poshtëë lista e files që ndodhen në të:

-rwxr-xr-x 1 root root 647 Jan 22 10:45 boot.txt

-rwxr-xr-x 1 root root 405 Jan 22 10:47 f1.txt

-rwxr-xr-x 1 root root 325 Jan 22 10:50 f2.txt

-rwxr-xr-x 1 root root 9608 Jan 22 15:03 kernel.cfg

-r-xr-xr-x 1 root root 5860 Jan 22 14:58 ldlinux.sys

-rwxr-xr-x 1 root root 347 Jan 22 15:21 syslinux.cfg

-rwxr-xr-x 1 root root 537855 Jan 22 15:32 vmlinuz

Mbasi mbaron me ngarkimin e kernel sistemi monton filesystem kryesor në vetëm lexim dhe i kalon komandën init-it që kujdeset të kompletojë konfigurimin e sistemit: init monton filesystem virtuale /proc, rimonton filesystem kryesor me hyrje në lexim dhe shkrim, dhe konfiguron konsolet në dispozicion duke i kaluar kontrollin login-it për të autentikuar përdoruesit që duan të kenë një shell.
Edhe pse BusyBox vinte në dispozicion init, vendosëm të preferojmë programin origjinal, sepse gjatë fazës së boot ndeshëm me disa probleme. Shell i përdorur nga sistema është sh, që është një lidhje simbolike me shell-in e preferuar, në shembull Bash.

/dev

Directory /dev duhet të përmbajë të gjithë device që i nevoiten sistemit, në menyrë të veçantë nevoiten: ram0 (d.m.th. filesystem i root), tty? (konsole e sistemit) dhe konsole (që identifikon konsolën e parë të lirë, zakonisht tty1), core, kmem dhe null (për funksionimin korrekt të sistemit), si dhe disqet, floppy, cdrom dhe njësi me shirit mbi të cilët duam të punojmë.

crw--w--w- 1 root tty 5, 1 Jan 23 16:47 konsole

lrwxrwxrwx 1 root root 11 Jan 15 22:13 core -> /proc/kcore

brw-rw---- 1 root root 2, 0 Gu 5 2000 fd0

brw-rw---- 1 root root 3, 1 Gu 5 2000 hda1

brw-rw---- 1 root root 3, 2 Gu 5 2000 hda2

brw-rw---- 1 root root 3, 3 Gu 5 2000 hda3

brw-rw---- 1 root root 3, 4 Gu 5 2000 hda4

brw-rw---- 1 root root 3, 5 Gu 5 2000 hda5

brw-rw---- 1 root root 3, 6 Gu 5 2000 hda6

brw-rw---- 1 root disk 3, 65 Jan 25 22:18 hdb1

brw-rw---- 1 root disk 3, 66 Jan 25 22:18 hdb2

brw-rw---- 1 root disk 3, 67 Jan 25 22:18 hdb3

brw-rw---- 1 root disk 3, 68 Jan 25 22:18 hdb4

brw-rw---- 1 root disk 3, 69 Jan 25 22:18 hdb5

brw-rw---- 1 root disk 3, 70 Jan 25 22:18 hdb6

brw-rw---- 1 root disk 22, 1 Jan 25 22:18 hdc1

brw-rw---- 1 root disk 22, 2 Jan 25 22:18 hdc2

brw-rw---- 1 root disk 22, 3 Jan 25 22:18 hdc3

brw-rw---- 1 root disk 22, 4 Jan 25 22:18 hdc4

brw-rw---- 1 root disk 22, 5 Jan 25 22:18 hdc5

brw-rw---- 1 root disk 22, 6 Jan 25 22:18 hdc6

brw-rw---- 1 root disk 22, 65 Jan 25 22:19 hdd1

brw-rw---- 1 root disk 22, 66 Jan 25 22:19 hdd2

brw-rw---- 1 root disk 22, 67 Jan 25 22:19 hdd3

brw-rw---- 1 root disk 22, 68 Jan 25 22:19 hdd4

brw-rw---- 1 root disk 22, 69 Jan 25 22:19 hdd5

brw-rw---- 1 root disk 22, 70 Jan 25 22:19 hdd6

crw-r----- 1 root root 1, 2 Gu 5 2000 kmem

srw-rw-rw- 1 root root 0 Jan 25 00:54 log

crw-rw-rw- 1 root root 1, 3 Gu 5 2000 null

brw-rw---- 1 root root 1, 0 Gu 5 2000 ram0

crw------- 1 root root 4, 1 Jan 15 22:13 tty1

crw-rw-rw- 1 root tty 4, 10 Jan 29 12:43 tty10

crw-rw-rw- 1 root tty 4, 11 Jan 29 12:43 tty11

crw-rw-rw- 1 root tty 4, 12 Jan 29 12:43 tty12

crw------- 1 root root 4, 2 Jan 15 22:11 tty2

crw--w--w- 1 root root 4, 3 Jan 22 23:07 tty3

crw--w--w- 1 root root 4, 4 Jan 22 23:15 tty4

crw--w--w- 1 root root 4, 5 Jan 25 23:22 tty5

crw--w--w- 1 root root 4, 6 Jan 29 12:43 tty6

crw-rw-rw- 1 root root 4, 7 Jan 29 12:43 tty7

crw-rw-rw- 1 root tty 4, 8 Jan 29 12:43 tty8

crw-rw-rw- 1 root tty 4, 9 Jan 29 12:43 tty9

Files device duhet të kopjohen me:

cp –dpR /dev/file /mnt/file

ose mund të konfigurohen me mknod, duke ndjekur dokumetet që shoqërojnë kernel.

/etc

Në /etc arkivohen të gjithë files e konfigurimit të sistema, në veçanti:

-rw-r--r-- 1 root root 180 Jan 25 01:07 fstab

-rw-r--r-- 1 root root 13 Jan 25 23:17 group

-rw-r--r-- 1 root root 186 Jan 25 23:16 inittab

-rw-r--r-- 1 root root 31 Jan 23 16:23 issue

-rw-r--r-- 1 root root 546 Jan 22 23:09 ld.so.cache

-rw-r--r-- 1 root root 4500 Jan 23 19:06 login.defs

-r--r--r-- 1 root root 0 Jan 22 22:43 mtab

-rw-r--r-- 1 root root 149 Jan 23 19:57 pam.conf

-rw-r--r-- 1 root root 27 Jan 25 23:17 passwd

drwxr-xr-x 2 root root 4096 Jan 29 13:31 rc.d

/etc/inittab është file i konfigurimit të init:

id:2:initdefault:

si::sysinit:/etc/rc.d/rcS

st::once:/sbin/setup

1:2345:respawn:/sbin/getty 38400 tty1

2:23:respawn:/sbin/getty 38400 tty2

ca::ctrlaltdel:/sbin/shutdown -n -t5 -a -r now

Fusha e parë identifikon emrin e procesit, e dyta përcakton se mbi kë runlevel të operohet, fusha e tretë dhe e katërt përcaktojnë llojin e procesit. Në shembullin tonë id identifikon runlevel e default, zbatohet script-i i konfigurimit rcS, që gjendet në diretory rc.d, st zbaton një script të setup eventual, i nevojshëm po të duam të automatizojmë disa operacione, 1 dhe 2 inicializon dy konsolet e para dhe ca rifillon sistemin po të shtypim pulsantet Ctrl+Alt+Del.

Sscripti /etc/rc.d/rcS monton të gjithë particionet e përcaktuara në fstab (përfshirë esencialen /proc), pastaj rimonton filesystem / në lexim dhe shkrim, duke vënë në funksionim log e sistemit dhe duke shfaqur në konsolet 3,4 dhe 5 mesazhet e ndryshme:

#!/bin/sh

/bin/mount -av

/bin/mount -o remount,rw /dev/ram0 /

/bin/hostname shtëpi

/sbin/syslogd -K -m 0

/usr/bin/tail -f /var/log/messages > /dev/tty3 &

/bin/dmesg > /dev/tty4 &

/usr/bin/tail -f /proc/kmsg > /dev/tty5 &

exit 0

File /etc/fstab përcakton particionet dhe pikën e lidhjes me filesystem qendror :

/dev/ram0 / ext2 defaults,noauto 0 0

proc /proc proc defaults 0 0

/dev/fd0 /mnt/floppy auto defaults,user,noauto 0 0

/dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noauto 0 0

File /etc/issue është një file teksti dhe përmban mesazhin që shfaqet së bashku me login.

File /etc/mtab, i krijuar bosh sepse mirëmbahet automatikisht nga mount, përmban particionet e montuara.

Files /etc/passwd /etc/group /etc/login.defs dhe /etc/pam.conf mirëmbajnë (kontrollojnë) procedurë e login dhe autentikimin relativ. Zakonisht autentikimi në Linux kryhet me anë të PAM (Pluggable Autentication Modules) që janë disa libreri që kontrollojnë procedurën e login duke i rritur në menyrë të ndjeshme sigurinë. Me qenë se jemi duke krijuar një disk për boot, siguria nuk është problemi kryesor, prandaj do të disaktivojmë të gjitha këto opcione. Një alternativë është rikompilimi i login pa suportin PAM.

/etc/passwd përmban emrin e përdoruesit që do të përdoret për login pa password sepse kjo është disaktivuar:

root::0:0:root:/:/bin/bash

/etc/group përmban grupin në të cilin bë pjesë përdoruesi i pëcaktuar në /etc/passwd:

root::0:root

File /etc/pam.conf kontrollon konfigurimin e PAM:

other auth required pam_permit.so

other account required pam_permit.so

other password required pam_permit.so

other session required pam_permit.so

File /etc/login.defs kontrollon opcionet e tjera që nuk mirëmbahen nga PAM:

FAIL_DELAY 3

NOLOGIN_STR NOLOGIN

ENV_HZ HZ=100

ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin

ENV_PATH PATH=/bin:/usr/bin

TTYGROUP tty

TTYPERM 0600

ERASECHAR 0177

KILLCHAR 025

UMASK 022

LOGIN_RETRIES 3

LOGIN_TIMEOUT 60

PASS_MAX_LEN 8

DEFAULT_HOME no

CLOSE_SESSIONS no

/lib

Directory /lib përmban të gjithë libraritë e nevojshme për funksionimin e programeve. Për të parë çfarë librarish duhet të instalojmë shkruajmë:

ldd programi

Output do të na japë të gjithë libreritë e duhura për programin. Në menyrë të veçantë në /lib/security duhet të kopjojmë librerinë pam_permit.so e nevojshme për PAM. Megjithatë ja lista e librerive të nevojshme për shembullin:

-rwxr-xr-x 1 root root 83971 Jan 15 15:42 ld-2.1.3.so

lrwxrwxrwx 1 root root 11 Jan 25 00:38 ld-linux.so.2 -> ld-2.1.3.so

-rwxr-xr-x 1 root root 888596 Jan 15 15:42 libc-2.1.3.so

lrwxrwxrwx 1 root root 13 Jan 25 00:38 libc.so.6 -> libc-2.1.3.so

lrwxrwxrwx 1 root root 17 Jan 25 00:40 libcom_err.so.2 -> libcom_err.so.2.0

-rw-r--r-- 1 root root 5244 Jan 15 15:42 libcom_err.so.2.0

-rw-r--r-- 1 root root 20112 Jan 15 15:42 libcrypt-2.1.3.so

lrwxrwxrwx 1 root root 17 Jan 25 00:46 libcrypt.so.1 -> libcrypt-2.1.3.so

-rw-r--r-- 1 root root 9372 Jan 15 15:42 libdl-2.1.3.so

lrwxrwxrwx 1 root root 14 Jan 25 00:38 libdl.so.2 -> libdl-2.1.3.so

lrwxrwxrwx 1 root root 13 Jan 25 00:41 libe2p.so.2 -> libe2p.so.2.3

-rw-r--r-- 1 root root 12300 Jan 15 15:42 libe2p.so.2.3

lrwxrwxrwx 1 root root 16 Jan 25 00:40 libext2fs.so.2 -> libext2fs.so.2.4

-rw-r--r-- 1 root root 66000 Jan 15 15:42 libext2fs.so.2.4

lrwxrwxrwx 1 root root 17 Jan 25 00:38 libncurses.so.5 -> libncurses.so.5.0

-rw-r--r-- 1 root root 232780 Jan 15 15:42 libncurses.so.5.0

-rw-r--r-- 1 root root 31020 Jan 15 15:42 libnss_files-2.1.3.so

lrwxrwxrwx 1 root root 21 Jan 25 00:48 libnss_files.so.2 -> libnss_files-2.1.3.so

lrwxrwxrwx 1 root root 14 Jan 25 00:39 libpam.so.0 -> libpam.so.0.72

-rw-r--r-- 1 root root 27180 Jan 15 15:42 libpam.so.0.72

lrwxrwxrwx 1 root root 19 Jan 25 00:39 libpam_misc.so.0 -> libpam_misc.so.0.72

-rw-r--r-- 1 root root 6060 Jan 15 15:42 libpam_misc.so.0.72

lrwxrwxrwx 1 root root 14 Jan 25 00:40 libuuid.so.1 -> libuuid.so.1.2

-rw-r--r-- 1 root root 7752 Jan 15 15:42 libuuid.so.1.2

drwxr-xr-x 2 root root 4096 Jan 15 22:58 security

Libraria libnss_files.so.2 nuk rezultonte e nevojshme kur analizuam output e ldd, por rezultoi e domosdoshme për të kompletuar procedurën e login.

/mnt /proc /tmp

Directory /mnt përmban vetëm disa nëndirectory që nevoiten për të pasur hyrje në dispozitivët e tjerë të arkivimit, si floppy, një disk fiks apo një njësi backup.

Directory /proc dhe /tmp krijohen boshe, por janë të nevojshme: e para për kontrollin e proceseve, e dyta për të shpëtuar të dhëna të përkohëshme.

/var

Directory /var përmban dy directory /var/log dhe /var/run: e para përmban një file bosh (messages) ku do të arkivohen mesazhet e sistemit, ndërsa në directory e dytë do të shpëtohen PID e proceseve në ekzekutim.

Root

Për të përgatitur një filesystem root duhet të kemi në dispozicion një suport arkivues të pavarur nga pjesa tjetër e sistemit, si p.sh. një particion të lirë apo një disk fiks të papërdorur. Zgjidhja më e thjeshtë konsiston në përdorimin e një disku RAM.
Me qenëse kemi si qëllim krijimin e një imagjine sa më të vogël që të jetë e mundur, veprimi i parë që duhet të kryejmë është zbrazja e përmbajtjes së kujtesës që do të përdorim për diskun tonë të root:

dd if=/dev/zero of=/dev/ram0 bs=1k count=16384

ku count indikon madhësinë e diskut RAM (në këtë rast 16384, por zakonisht mjafton 4096, d.m.th.4 mega). Përpara se të montojmë diskun duhet të krijojmë një particion:

mke2fs –m 0 /dev/ram0

mount /dev/ram0 /mnt

Tani disku është gati për tu mbushur me një bashkësi minimum files dhe directory për funksionimin korrekt; një filesystem Linux përmban zakonisht direcory që vijojnë:

drwxr-xr-x 2 root root 4096 Jan 23 16:39 bin

drwxr-xr-x 2 root root 20480 Jan 29 12:43 dev

drwxr-xr-x 3 root root 4096 Jan 23 20:25 etc

drwxr-xr-x 3 root root 4096 Jan 25 00:48 lib

drwxr-xr-x 5 root root 4096 Jan 22 17:53 mnt

drwxr-xr-x 2 root root 4096 Jan 15 22:12 proc

drwxr-xr-x 2 root root 4096 Jan 25 23:17 sbin

drwxrwxrwx 2 root root 4096 Jan 22 14:21 tmp

drwxr-xr-x 4 root root 4096 Jan 29 12:44 usr

drwxr-xr-x 4 root root 4096 Jan 29 13:48 var

/bin /sbin /usr/bin /usr/sbin

Këto directory përmbajnë të gjithë të zbatueshmet e sistemit: në veçanti /sbin dhe /usr/sbin përmbajnë programet e zbatueshëm përgjithësisht vetëm nga përdoruesi root.

Ekzistojnë disa utility që përmbledhin në vetvete shumë nga programet që duhet të kopjojmë. Këtu do të përdorim BusyBox, që jep funksionin për programet e mëposhtëëm:

<komanda BusyBox>

Pra mund të krijojmë link simbolikë me BusyBox për çdo funksion të vetë BusyBox, duke arritur të kursejmë një hapsirë të madhe:

ln –s /bin/busybox emrilink

/bin

-rwxr-xr-x 1 root root 461400 Jan 15 22:36 bash

-rwxr-xr-x 1 root root 118204 Jan 22 12:09 busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:17 cat -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:18 chgrp -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:17 chmod -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:18 chown -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:20 cp -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:20 date -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:21 dd -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:21 df -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:21 dmesg -> busybox

-rwxr-xr-x 1 root root 7148 Jan 15 15:42 echo

lrwxrwxrwx 1 root root 7 Jan 22 16:32 false -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:23 grep -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:34 gunzip -> busybox

-rwxr-xr-x 1 root root 10296 Jan 15 15:42 hostname

lrwxrwxrwx 1 root root 7 Jan 22 16:24 kill -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:25 ln -> busybox

-rwsr-xr-x 1 root root 36188 Jan 15 22:36 login

lrwxrwxrwx 1 root root 7 Jan 22 16:26 ls -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:26 mkdir -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:27 mknod -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:27 mktemp -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:27 more -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 15:57 mount -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:20 mv -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:28 ping -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:28 p.s. -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:28 pwd -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:29 rm -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:29 rmdir -> busybox

lrwxrwxrwx 1 root root 4 Jan 23 16:39 sh -> bash

lrwxrwxrwx 1 root root 7 Jan 22 16:29 sleep -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:29 sync -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:32 tar -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:32 true -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:38 tty -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:38 umount -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:38 uname -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:38 uptime -> busybox

lrwxrwxrwx 1 root root 7 Jan 22 16:39 zcat -> busybox

/sbin

-rwxr-xr-x 1 root root 75696 Shk 21 2000 e2fsck

-rwxr-xr-x 1 root root 87068 Jan 15 15:42 fdisk

-rwxr-xr-x 1 root root 13724 Jan 15 22:35 getty

-rwxr-xr-x 1 root root 27856 Jan 15 15:42 init

-rwxr-xr-x 1 root root 19536 Shk 21 2000 mke2fs

lrwxrwxrwx 1 root root 12 Jan 22 17:55 mkswap -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:55 reboot -> /bin/busybox

-rwxr-xr-x 1 root root 18 Jan 26 00:44 setup

-rwxr-xr-x 1 root root 14900 Jan 15 15:42 shutdown

lrwxrwxrwx 1 root root 12 Jan 22 17:55 swapoff -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:55 swapon -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:55 syslogd -> /bin/busybox

/usr/bin

lrwxrwxrwx 1 root root 12 Jan 22 17:56 chvt -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:47 clear -> /bin/busybox

-rwxr-xr-x 1 root root 11916 Jan 15 15:42 cut

lrwxrwxrwx 1 root root 12 Jan 22 17:56 du -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:56 find -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:56 head -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:56 id -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:56 killall -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:57 logger -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:57 logname -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:57 tail -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:57 touch -> /bin/busybox

/usr/sbin

lrwxrwxrwx 1 root root 12 Jan 22 17:56 chroot -> /bin/busybox

lrwxrwxrwx 1 root root 12 Jan 22 17:56 fbset -> /bin/busybox

Hapi i mëtejshëm është komprimimi i pasqyrës së diskut të sapo krijuar dhe kopjimi në disketë:
umount /mnt

dd if=/dev/ram0 bs=1k | gzip –v9 > root.gz

cp root.gz /dev/fd0

Nuk na ngelet tjetër veç rinisjes së sistemit dhe të provojmë disketat e sapokrijuara.


Files e shembullit janë krijuar duke përdorur shpërndarjen Debian 2.1 me kernel 2.4.0, duke u mbështetur tek How-To që ndodhen në http://www.pluto.linux.it/ në lidhje me boot dhe nga vetë disketat e nisjes së Debian. Kjo do të thotë që duke përdorur shpërndarje të ndryshme, programe dhe librari të versioneve të ndryshme mund të verifikohen gabime të ndryshme. Për të zgjidhur një pjesë të këtyre gabimeve pa qenë e nevojshme të rinisni sistemin këshillohet të përdorni:

chroot /mnt

ku /mnt është pika e lidhjes së /dev/ram0. Në këtë menyrë ndryshohet filesystem i root e nevojshme për të testuar p.sh. koerencën midis librarive dhe programeve. Ana negative qëndron në atë që kështu nuk mund të verifikohen gabimet e mundëshme që vijnë përpara fazës së login (p.sh. init).

Një gabim tjetër i zakonshëm është pamundësia e ekzekutimit të disa programeve (p.sh. shutdown): kjo ndodh sepse programet e tillë thërrasin programe të tjera. Për të zgjidhur këtë problem mund të përdoret:

strings emriprogramit

dhe të studiohet output për të kuptuar kush e bllokon ekzekutimin e atij programi.

Utility
Një disketë shtesë mund të hyjë në punë për të pasur programe apo modulë shtesë, që, p.sh., mundësojnë rekuperimin e një backup nga kaseta. Po të vendosni të përdorni modulët këta duhet të ndodhen në directory /lib/versione-kernel dhe duhet edhe të instaloni mod-utils.

E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #6 më: 27-08-2005, 20:24:29 »
Citojeni

Ky dokument shpjegon si të konfigurosh në menyrë të thjeshtë dhe të shpejtë mailer-in tekstual pine për unix/linux.

 

Pine është një program për kontrollin e postës elektronike dhe news; për t'a hapur mjafton të shkruani pine nga console dhe po të jetë hera e parë që hapet, programi do të krijojë në directory home të përdoruesit kartelën Mail të domosdoshme për funksionimin e tij.
Ky tekst nuk do të merret me shpjegimin e përdorimit të pine, meqenëse përdorimi është tepër i thjeshtë, të gjithë komandat janë të rrjeshtuara në pjesën inferiore të çdo dritare të hapur, por do të shpjegojë si t'a konfiguroni për të kontrolluar postën elektronike.
Pra hapim një konsolë dhe shkruajmë pine. Do të na hapet pine me një dritare dhe ashtu si shkruhet në pjesën e poshtme, shtypim S për të hyrë në skermatën e setup, pastaj shtypim C për tu futur në skermatën Config. Këtu mund të hapni edhe një help për çdo opcion duke seleksionuar opcionin që ju intereson dhe duke shkruar një pikëpyetje (?). Zërat që duhet të ndryshojmë me qëllim që të mund të na arrijë posta janë user-domain (opcioni i dytë), smtp-server dhe inbox-path. Mund të ndryshoni pastaj çfarë të doni dhe si të doni, por po të ndryshoni vetëm ato që sapo përmendëm gjithshka do të funksionojë siç duhet.
Tek user-domain duhet të shkruani dominion tuaj të postës elektronike (d.m.th.pjesën e shkruar nga e djathta e @, pra libero.it, albalinuxs.com, etj...); poshtëë, tek smtp-server duhet të shkruani server-in tuaj smtp (server i postës në dalje, pra popmail.domain_juaj, mail.domain_juaj, etj...). . Tek inbox-path duhet të shkruani diçka të ngjashme me këtë:

{server_imap/user=emri_përdoruesit}INBOX

Ku server_imap është server-i juaj i postës në hyrje, që ju ka dhënë kush ju jep shërbimin e-mail. Kini kujdes: server-i i postës në hyrje tek pine nuk është klasiku POP3, por është ai IMAP.
Një shembull: njëra nga adresat e-mail që kam unë është lentid@inwind.it. Atëhere unë kam shkruar:

user-domain= inwind.it

smtp-server= mail.inwind.it

inbox-path= {imapmail.inwind.it/user=lentid}INBOX

Po në këtë skermatë mund të plotësoni dhe fusha të tjera, si për shembull personal-name, ku mund të vendosni çfarë doni të shkruhet në fushën From kur dërgoni një mail (edhe pse në rastin tonë nuk duhet, më poshtëë do të shohim përse), ose më poshtëë mund të zgjidhni që kur t'i përgjigjeni një mesazhi duke shkruar R (Reply) të përfshihet në mesazhin tuaj të ri teksti i mesazhit që ju ka ardhur (include-text-in-reply), apo të zgjidhni frekuencën e kontrollit të postës në program duke modifikuar mail-check- interval. Ashtu siç mund të lexoni edhe në help lidhur me këtë opcion, duhet të tregoni kohën në sekonda (unë p.sh. kam vënë 300), dhe po të shkruani 0 disabilitoni kontrollin e mesazheve të rinj.
Tani që mbaruam me këtë seksion shtypim E për të dalë nga setup; do të na pyetet se dëshirojmë t'a shpëtojmë, natyrisht përgjigja do të jetë Y.
Tani shtypim S (gjithmonë setup) dhe pastaj R rules (rregulla). Në këtë pikë shtypim akoma R për t'u futur në nënseksionin e Rules të quajtur Role dhe krijojmë një rregull të re duke shtypur A. Në skermatën e re mjafton të tregojmë emrin e rregullit (mund t'a quani thjesht New), pastaj duhet të seleksiononi Any në Current-folder-type dhe Don't care, always matches në Message is important?, Message is new?, Message is deleted? dhe Message is answered?. Gjithë kjo lidh rregullin tonë të sapo krijuar me të gjithë mesazhet në çfarëdo kartelë të ndodhen.
Si gjë e fundit duhet të ndryshojmë përmbajtjen e zërit Set From, duhet të shkruani emrin që dëshironi të shfaqet (ja përse përpara ishte e kotë të ndryshonim përmbajtjen e zërit personal-name) dhe midis kllapave trkëndëshe (<>) adresën tuaj të postës elektronike. Në rastin tonë do të ishte:

Set From= Linux Lover <lentid@inwind.it>

Si gjithmonë shkruajmë E e pastaj Y për të shpëtuar konfigurimin e ri, e pastaj akoma E dhe Y për t'u kthyer tek menu-ja qëndrore. Tani gjithshka duhet të funksionojë siç duhet!
Provojmë t'i dërgojmë vetes një e-mail për të parë çfarë ndodh. Shtypim C (Compose) dhe shkruajmë prova pine dhe shkruajm5 si destinues adresën tonë e-mail; pasi të kemi mbaruar shtypim CTRL-X për t'a dërguar. Na drejtohet pyetja në se duam t'a dërgojmë mesazhin me rregullën e re, shtypim Y!

Kaq ishte e gjitha. Dy minuta dhe jeni gati të përdorni pine.
E identifikuar

M A X
Gjinia: Mashkull


Shiko profilin WWW
« Përgjigjja #7 më: 27-08-2005, 20:25:08 »
Citojeni

Një nga piataformat më të përhapura për krijimin e faqeve dinamike në web është padyshim ajo që parashikon bashkëekzistimin në ambientin Linux të Web Server Apache me interfaqen Php, të kompiluar nga ana e saj me suportin për të paktën një DBMS , në rastin tonë Mysql.

Në këtë udhëzues të shkurtër do të shohim hapat e nevojshëm për krijimin e një ambienti të tillë, duke në pas një instalimin e komponentëve që e përbëjnë.



-- HAPI 1: INSTALIMI I MYSQL --

Si gjë e parë duhet të kemi një kopje të shpërndarjes si burues të produktit , duke e shkarkuar nga siti zyrtar www.mysql.com; për momentin versioni më i freskët është versioni 3.23.36. Lidhuni në sistem si përdorues "root" dhe shkarkoni file nën një directory të