Viimati redigeeritud 19 aasta eest (anonüümne kasutaja)

Gentoo conf failide uuendamine lihtsamaks

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:

# 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

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:

# 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 

salvestage tulemus.

Nüüd loome backup kataloogi ja paigaldame veel vajamineva tarkvara:

mkdir /etc/config-archive
emerge -av colordiff rcs

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:

# 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! 

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:

# 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

Nüüd paigaldame veel colordiffi:

emerge -av colordiff

ja võitegi käsureale kirjutada:

etc-update


Autor: Spott

Aita seda lehekülge täiustada!

Hoia sellel leheküljel ja kõigil sellele tehtud muudatustel silma peal.