[[kategooria:gentoo]]
==Alustuseks==
Enamus Gentoo kasutajaid on kindlasti kokku puutunud erinevate conf failide uuendamistega. Seda eriti peale süsteemi uuendamist. Käesolev õpetus pole etc-update-i ja dispatch-conf-i õpetus vaid õpetus, kuidas muuta need programmid endale meelepärasemaks ja lihtsamaks. Et kontroll käiks lihtsamini.
==dispatch-confi seadistamine==
dispatch-conf on alternatiiv etc-update-ile. Tema tööpõhimõte on sama, mis etc-update-gi. Süsteem kontrollib üle conf failid, vastavalt eelnevalt pandud seadistustele vahetab juba mõned ära või näitab failide erinevust ja ootab kasutaja reageeringut.
Esiteks võtame lahti ''/etc/dispatch-conf.conf'' faili:
nano /etc/dispatch-conf.conf.
See peaks välja nägema Teil selline:
<pre><nowiki># Directory to archive replaced configs
archive-dir=/etc/config-archive
# Use rcs for storing files in the archive directory?
# (yes or no)
use-rcs=yes
# Diff for display
# %s old file
# %s new file
diff="diff -Nu %s %s"
# Automerge files comprising only CVS interpolations (e.g. Header or Id)
# (yes or no)
replace-cvs=yes
# Automerge files comprising only whitespace and/or comments
# (yes or no)
replace-wscomments=yes</nowiki></pre>
Nüüd muudame seal mõned read:
Kõigepealt vaadake, et
''use-rcs=yes'' oleks ka Teil '''yes'''. Sellega arhiveeritakse Teil kõik vanad conf failid.
Nüüd võtame ette rea diff. Muudame selle:
diff="colordiff -u %s %s | less"
Ehk lõpuks peaks Teil conf fail välja nägema järgmiselt:
<pre><nowiki># Directory to archive replaced configs
archive-dir=/etc/config-archive
# Use rcs for storing files in the archive directory?
# (yes or no)
use-rcs=yes
# Diff for display
# %s old file
# %s new file
diff="colordiff -u %s %s | less"
# Automerge files comprising only CVS interpolations (e.g. Header or Id)
# (yes or no)
replace-cvs=yes
# Automerge files comprising only whitespace and/or comments
# (yes or no)
replace-wscomments=yes </nowiki></pre>
salvestage tulemus.
Nüüd loome backup kataloogi ja paigaldame veel vajamineva tarkvara:
mkdir /etc/config-archive
emerge -av colordiff
Nüüd võite käivitada dispatch-confi
dispatch-conf
Nüüd peaksid kõik Teie uuendamist vajavad conf failid Teile ette ilmuma värvilisena (punane ja - on vanadest failidest, mis ära võetakse ja sinise ja + on need, mis lisatakse) ja kõik vanad failid arhiveeritakse.
==etc-update seadistamine==
etc-update on Gentoos configuratsiooni failide uendamiseks nagu dispatch-conf. Tema conf fail asub ''/etc/etc-update.conf''. Seega võtame tema ette:
nano /etc/etc-update.conf
See peaks Teil välja nägema:
<pre><nowiki># mode - 0 for text, 1 for menu (support incomplete)
# note that you need dev-util/dialog installed
mode="0"
# Whether trivial/comment changes should be automerged
eu_automerge="yes"
# arguments used whenever rm is called
rm_opts="-i"
# arguments used whenever mv is called
mv_opts="-i"
# arguments used whenever cp is called
cp_opts="-i"
# pager for use with diff commands (see NOTE_2)
pager="less"
#pager=""
# vim-users: you CAN use vimdiff for diff_command. (see NOTE_1)
diff_command="diff -uN %file1 %file2"
using_editor=0
#diff_command="vim -d %file1 %file2"
#using_editor=1
# vim-users: don't use vimdiff for merging (see NOTE_1)
merge_command="sdiff -s -o %merged %orig %new"
# EXPLANATION
#
# pager:
#
# Examples of pager usage:
# pager="" # don't use a pager
# pager="less -E" # less
# pager="more" # more
#
#
# diff_command:
#
# Arguments:
# %file1 [REQUIRED]
# %file2 [REQUIRED]
#
# Examples of diff_command:
# diff_command="diff -uN %file1 %file2" # diff
# diff_command="vim -d %file1 %file2" # vimdiff
#
#
# merge_command:
#
# Arguments:
# %orig [REQUIRED]
# %new [REQUIRED]
# %merged [REQUIRED]
#
# Examples of merge_command:
# merge_command="sdiff -s -o %merged %old %new" # sdiff
#
# NOTE_1: Editors such as vim/vimdiff are not usable for the merge_command
# because it is not known what filenames the produced files have (the user can
# choose while using those programs)
# NOTE_2: Make sure pager is set to "" when using an editor as diff_command! </nowiki></pre>
Kontrollige, et ''eu_automerge="yes"'' oleks '''yes'''. Sellega vahetatakse automaatselt need conf failid, mis erinevad ainult päise poolest.
Nüüd muudke ''diff_command=...'' rida järgnevaks:
diff_command="colordiff -u %file1 %file2"
Seega peaks Teil kogu fail välja nägema selline:
<pre><nowiki># mode - 0 for text, 1 for menu (support incomplete)
# note that you need dev-util/dialog installed
mode="0"
# Whether trivial/comment changes should be automerged
eu_automerge="yes"
# arguments used whenever rm is called
rm_opts="-i"
# arguments used whenever mv is called
mv_opts="-i"
# arguments used whenever cp is called
cp_opts="-i"
# pager for use with diff commands (see NOTE_2)
pager="less"
#pager=""
# vim-users: you CAN use vimdiff for diff_command. (see NOTE_1)
diff_command="colordiff -u %file1 %file2"
using_editor=0
#diff_command="vim -d %file1 %file2"
#using_editor=1
# vim-users: don't use vimdiff for merging (see NOTE_1)
merge_command="sdiff -s -o %merged %orig %new"
# EXPLANATION
siit tulevad edasi juba faili seletused</nowiki></pre>
Nüüd paigaldame veel colordiffi:
emerge -av colordiff
ja võitegi käsureale kirjutada:
etc-update
Autor:Spott