• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Update auf 11.3 mit Änderungen an der .cshrc

Mardor

Well-Known Member
Themenstarter #1
Hallo,

beim Update von 11.2 auf 11.3 erhalte ich während der Installation folgende Meldung:

Code:
The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/.cshrc
/root/.cshrc
- Wie kann ich den die Änderungen die gemacht werden müssen sehen ?
- Muss ich hier überhaupt etwas tun ?

Gruß Mardor
 

pit234a

Well-Known Member
#2
ich date nur noch über freebsd-update up.
Eine Fehlermeldung dieser Art ist mir dabei noch nicht unter gekommen, aber, es liest sich für mich doch absolut harmlos: ich würde eine lokale Kopie der /.cshrc und /root/.cshrc erstellen, die Originale löschen und es dann noch mal versuchen.
Allerdings gibt es sicher sehr viel spannendere Dateien, die lokal verändert wurden und ein genereller Mechanismus ist da sicher gut. ZB habe ich inzwischen (hoffentlich) von allen solchen Dateien eine gültige Kopie, also ein Backup (ansonsten mache ich keine Backups des Systems, nur der Nutzerdaten). Das ist jedenfalls hilfreich.
Nochmal wegen freebsd-update: es stößt nämlich in solchen Fällen einen automatischen Merge-Prozess an, der allerdings gelegentlich abenteuerlich verläuft (in der Vergangenheit manchmal verlaufen ist). Das ist doch genau die Aufgabe, die hier vom Anwender erwartet wird. Die Basis-Datei aus der SRC wurde verändert und was machen wir nun damit?
Wie gesagt, die lokale Version kopieren und dann manuell mergen, würde ich meinen.
 

Mardor

Well-Known Member
Themenstarter #3
Hi pit234a,

ich hatte, als ich diesen Foren-Eintrag geschrieben habe, bereits den Update Prozess beendet und konnte somit nichts mehr löschen.

Ich habe jetzt mal gesucht und konnte in der freebsd-update.conf folgende Zeilen finden:

# Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
Nun wollte ich mir unter https://download.freebsd.org/ftp/releases/amd64/11.3-RELEASE/ die Sourcefiles anschauen und habe nach /root/.cshrc gesucht. In base.txz gibt es zwar ein root Verzeichnis aber nach dem entpacken ist das Verzeichnis leer. Der Plan war einfach ein manueller merge der Datei des Hosts und allen Jails (da habe ich auch für jeden Jail eine Meldung erhalten).

Wo muss ich den suchen um die Original-FreeBSD-11.3 Datei in den Sources zu finden ?

Gruß Mardor
 

pit234a

Well-Known Member
#4
Wo muss ich den suchen um die Original-FreeBSD-11.3 Datei in den Sources zu finden
nunja, für die Nutzerbasierten ~/.cshrc oder ~/.profile gibt es keine, denn die sind ja optional, also auch /root/.cshrc.

Die Systemweiten sind /etc/csh.cshrc und /etc/profile. Die gelten also dann, wenn die Nutzer keine zusätzlichen, eigenen Konfigurationen anlegen.
 

-Nuke-

Well-Known Member
#6
Wo muss ich den suchen um die Original-FreeBSD-11.3 Datei in den Sources zu finden ?
Diese "Änderung" ist mit hoher Wahrscheinlichkeit nur die Versions-Informationen in der ersten Zeile der Datei, die sich mit jedem Update ändert. Bei mir z.B. auf dem System (FreeBSD 11.3). Diese Datei ist übrigens nur ein simples Konfigurations-Skript für die Standard-Shell in FreeBSD. Also nichts großartig relevantes.

% diff /.cshrc ~/.cshrc
Code:
1c1
< # $FreeBSD: releng/10.2/etc/root/dot.cshrc 243893 2012-12-05 13:56:39Z eadler $
---
> # $FreeBSD: release/10.0.0/share/skel/dot.cshrc 243893 2012-12-05 13:56:39Z eadler $
20c20
< setenv    EDITOR    ee
---
> setenv    EDITOR    vi
Ansonsten steht da netterweise auch ein Pfad zur Vorlage-Datei:

% cat /usr/share/skel/dot.cshrc
Code:
# $FreeBSD: releng/11.3/share/skel/dot.cshrc 278616 2015-02-12 05:35:00Z cperciva $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
# more examples available at /usr/share/examples/csh/
#

alias h        history 25
alias j        jobs -l
alias la    ls -aF
alias lf    ls -FA
alias ll    ls -lAF

# These are normally set through /etc/login.conf.  You may override them here
# if wanted.
# set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
# setenv    BLOCKSIZE    K
# A righteous umask
# umask 22

setenv    EDITOR    vi
setenv    PAGER    more

if ($?prompt) then
    # An interactive shell -- set some stuff up
    set prompt = "%N@%m:%~ %# "
    set promptchars = "%#"

    set filec
    set history = 1000
    set savehist = (1000 merge)
    set autolist = ambiguous
    # Use history to aid expansion
    set autoexpand
    set autorehash
    set mail = (/var/mail/$USER)
    if ( $?tcsh ) then
        bindkey "^W" backward-delete-word
        bindkey -k up history-search-backward
        bindkey -k down history-search-forward
    endif

endif
 

PMc

Well-Known Member
#7
Hi pit234a,
Wo muss ich den suchen um die Original-FreeBSD-11.3 Datei in den Sources zu finden ?
Du guckst in die Datei. Da steht irgendwo sowas:

$ grep "\$FreeBSD" /.cshrc
# $FreeBSD: releng/11.3/etc/root/dot.cshrc 278616 2015-02-12 05:35:00Z cperciva $
$


Und da ist der Pfadname in den Sourcetree mit dabei. Also:

$ cd /usr/src/etc/root
$ svn diff ^/releng/11.2/etc/root/dot.cshrc ^/releng/11.3/etc/root/dot.cshrc
$


Offenbar keine Änderungen.