[Résolu] rc.sysinit peut on le modifier ?

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
chatalorss
Hankyu
Messages : 14
Inscription : dim. 28 janv. 2007, 14:49

[Résolu] rc.sysinit peut on le modifier ?

Message par chatalorss »

Bonjour..

actuellement j' ai sans arrêt des message au boot Checking Filesystem est ce vraiment utile ?

mes partitions sont en check forced environ tous les 3 jours.....c' est chiant....

Mon disque dur IDE Maxtor 80Go a environ 6ans je crois....et il a subit de nombreux formatage, redimensionnement de partitions, conversion de partitions.....et j' en passe .....
j' ai déjà essayé de le réparer par les outils Maxtor, et aussi avec la commande badblocks
Mais rien a remit en ordre le DD....bon c' est pas grave

Donc, inutile de me soumettre des idées pour le réparer

Image
23254 jours sans check.... :lol: mon dd a 63 ans il délire comme ça depuis pas mal de temps...mais le dd marche encore....
  • A quoi sert un check forced ?
    Peut on le désactiver ?
j' ai appercu pas mal d' informations dans rc.sysinit .....
  • peut on commenter des parties de ce fichier ?
    c' est pas trop risquer ?

Code : Tout sélectionner

#!/bin/sh
#
# /etc/rc.sysinit
#

. /etc/rc.conf
. /etc/rc.d/functions

echo " "
printhl "Arch Linux v0.8 $C_OTHER(${C_H2}Voodoo$C_OTHER)\n"
printhl "${C_H2}http://www.archlinux.org"
printhl "Copyright 2002-2007 Judd Vinet"
printhl "Distributed under the GNU General Public License (GPL)"
printsep

# start up our mini logger until syslog takes over
/sbin/minilogd

# mount /proc
mount -n -t proc none /proc

# anything more serious than KERN_WARNING goes to the console
# 'verbose' cmdline parameter enables more messages
if grep -qw " verbose" /proc/cmdline; then
	/bin/dmesg -n 8
else
	/bin/dmesg -n 3
fi

# mount /sys
grep -qw sysfs /proc/filesystems && mount -n -t sysfs none /sys
# mount usbfs  
/sbin/modprobe usbcore >/dev/null 2>&1
grep -qw usbfs /proc/filesystems && mount -n -t usbfs none /proc/bus/usb

if [ -x /etc/start_udev -a -d /sys/block ]; then
	# We have a start_udev script and /sys appears to be mounted, use UDev
	status "Starting UDev Daemon" /etc/start_udev init
else
	# Static /dev, our last resort
	status "Using static /dev filesystem" /bin/true
fi

# Load modules from the MODULES array defined in rc.conf
if ! [ "$load_modules" = "off" ]; then 
	if [ -f /proc/modules ]; then
		stat_busy "Loading Modules"
		for mod in "${MODULES[@]}"; do
			if [ "$mod" = "${mod#!}" ]; then
				/sbin/modprobe $mod
			fi
		done
		stat_done
	fi
fi

# run udev uevents
if pidof -o %PPID /sbin/udevd >/dev/null; then
	status "Loading UDev uevents" /etc/start_udev uevents
fi

# If using an encrypted root fs, we should find the root dev in the initrd
# FIXME: obsoleted by initramfs and udev
if [ -e /initrd/dev/mapper/root ]; then
	mkdir /dev/mapper 2>/dev/null
	cp -a /initrd/dev/mapper/root /dev/mapper/root
fi

# If necessary, find md devices and manually assemble RAID arrays
if [ -f /etc/mdadm.conf -a "$(grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then
	# udev won't create these md nodes, so we do it ourselves
	for dev in $(grep ^ARRAY /etc/mdadm.conf | awk '{print $2}'); do
		path=$(echo $dev | sed 's|/[^/]*$||')
		node=$(echo $dev | sed "s|^$path/||")
		minor=$(echo $node | sed 's|^[^0-9]*||')
		[ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor
	done
	status "Activating RAID arrays" /sbin/mdadm --assemble --scan
fi

# Unmount and free up the old initrd if it exists
# FIXME: obsoleted by initramfs
if [ -f /initrd/linuxrc ]; then
	stat_busy "Freeing memory from Initial Ramdisk"
	umount /initrd 2>/dev/null
	/sbin/blockdev --flushbufs /dev/rd/0 2>/dev/null
	stat_done
fi

if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
	if [ -x /sbin/lvm -a -d /sys/block ]; then
		# Kernel 2.6.x, LVM2 groups
		/sbin/modprobe -q dm-mod 2>/dev/null
		stat_busy "Activating LVM2 groups"
		/sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
		/sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
		if [ $? -ne 0 ]; then
			stat_fail
		else
			stat_done
		fi
	fi
fi

# Set up non-root encrypted partition mappings
if [ -f /etc/crypttab -a -n "$(grep -v ^# /etc/crypttab | grep -v ^$)" ]; then
	/sbin/modprobe -q dm-mod 2>/dev/null
	stat_busy "Unlocking encrypted volumes:"
	csfailed=0
	CS=/sbin/cryptsetup.static
	do_crypt() {
		if [ $# -ge 3 ]; then
			cname="$1"
			csrc="$2"
			cpass="$3"
			shift 3
			copts="$*"
			stat_append "${cname}.."
			if [ "${cpass:0:1}" != "/" ]; then
				# For some fun reason, the parameter ordering varies for
				# LUKS and non-LUKS devices.  Joy.
				if $CS isLuks $csrc 2>/dev/null; then
					echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null
				else
					echo "$cpass" | $CS $copts create $cname $csrc >/dev/null
				fi
			else
				if $CS isLuks $csrc 2>/dev/null; then
					$CS -d $cpass $copts luksOpen $csrc $cname >/dev/null
				else
					$CS -d $cpass $copts create $cname $csrc >/dev/null
				fi
			fi
			if [ $? -ne 0 ]; then
				csfailed=1
				stat_append "failed "
			else
				stat_append "ok "
			fi
		fi
	}
	while read line; do
		eval do_crypt "$line"
	done </etc/crypttab
	if [ $csfailed -eq 0 ]; then
		stat_done
	else
		stat_fail
	fi
	# Maybe someone has LVM on an encrypted block device
	if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
		if [ -x /sbin/lvm -a -d /sys/block ]; then
			/sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
			/sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
		fi
	fi
fi

status "Mounting Root Read-only" /bin/mount -n -o remount,ro /

# Set clock early to fix some bugs with filesystem checks
# Clock is set again later to match rc.conf
if [ -f /etc/localtime ]; then
	if [ "$HARDWARECLOCK" = "UTC" ]; then
		/sbin/hwclock --directisa --utc --hctosys --noadjfile
	else
		/sbin/hwclock --directisa --localtime --hctosys --noadjfile
	fi
fi

FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,nousbfs,noshfs,nofuse"

if [ -x /sbin/fsck ]; then
	stat_busy "Checking Filesystems"
	if grep -qw quiet /proc/cmdline; then
		/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >/dev/null 2>&1
	else
		/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK 2>/dev/null
	fi
	fsckret=$?
	if [ ${fsckret} -gt 1 ]; then
		stat_fail
		if [ $((${fsckret}&2)) -eq 2 ]; then
			echo
			echo "********************** REBOOT REQUIRED *********************"
			echo "*                                                          *"
			echo "*  The sytem will be rebooted automatically in 15 seconds. *"
			echo "*                                                          *"
			echo "************************************************************"
			echo
			sleep 15
		else
			echo
			echo "*****************  FILESYSTEM CHECK FAILED  ****************"
			echo "*                                                          *"
			echo "*  Please repair manually and reboot. Note that the root   *"
			echo "*  file system is currently mounted read-only. To remount  *"
			echo "*  it read-write type: mount -n -o remount,rw /            *"
			echo "*  When you exit the maintenance shell the system will     *"
			echo "*  reboot automatically.                                   *"
			echo "*                                                          *"
			echo "************************************************************"
			echo
			/sbin/sulogin -p
		fi
		echo "Automatic reboot in progress..."
		/bin/umount -a
		/bin/mount -n -o remount,ro /
		/sbin/reboot -f
		exit 0
	fi
	stat_done
fi

stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
# make sure / gets written to /etc/mtab
/bin/mount -o remount,rw /
# re-mount /proc , /sys  and usbfs so they can be written to /etc/mtab
umount /proc/bus/usb
umount /proc && mount -t proc none /proc
grep -qw sysfs /proc/filesystems && umount /sys && mount -t sysfs none /sys
if grep -qw usbfs /proc/filesystems; then
	# Some people use custom permissions for their usbfs
	if grep -qw /proc/bus/usb /etc/fstab; then
		mount /proc/bus/usb
	else
		mount -t usbfs none /proc/bus/usb
	fi
fi
# now mount all the local filesystems
/bin/mount -a -t $NETFS
stat_done

status "Activating Swap" /sbin/swapon -a

stat_busy "Configuring System Clock"
if [ ! -f /var/lib/hwclock/adjtime ]; then
	echo "0.0 0 0.0" > /var/lib/hwclock/adjtime
fi
if [ "$TIMEZONE" != "" -a -e /usr/share/zoneinfo/$TIMEZONE ]; then
	/bin/rm -f /etc/localtime
	/bin/cp /usr/share/zoneinfo/$TIMEZONE /etc/localtime
fi
if [ "$HARDWARECLOCK" = "UTC" ]; then
	/sbin/hwclock --directisa --utc --hctosys
else
	/sbin/hwclock --directisa --localtime --hctosys
fi
stat_done

if [ -f /var/run/random-seed ]; then
	stat_busy "Initializing Random Seed"
	/bin/cat /var/run/random-seed >/dev/urandom
	stat_done
fi

stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && find . ! -type d -exec rm -f -- {} \; )
: > /var/run/utmp
# Keep {x,k,g}dm happy with xorg
mkdir /tmp/.ICE-unix && chmod 1777 /tmp/.ICE-unix
mkdir /tmp/.X11-unix && chmod 1777 /tmp/.X11-unix
stat_done

#status "Updating Shared Library Links" /sbin/ldconfig

if [ "$HOSTNAME" != "" ]; then
	status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME
fi

# Set the NIS domain name, if necessary
[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname
if [ "$NISDOMAINNAME" != "" ]; then
	status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME
fi

status "Updating Module Dependencies" /sbin/depmod -A

if [ "$KEYMAP" != "" ]; then
	status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP
fi

# Flush old locale settings
: >/etc/profile.d/locale.sh
chmod 755 /etc/profile.d/locale.sh
# Set user defined locale
[ "$LOCALE" != "" ] || LOCALE="en_US"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done

#	If locale is *.utf set console to Unicode mode
if [ "$(echo $LOCALE | /bin/grep -i utf)" ]; then
	stat_busy "Setting Consoles to UTF-8"
	/usr/bin/kbd_mode -u
	/usr/bin/dumpkeys | /bin/loadkeys --unicode
	# the $CONSOLE check helps us avoid this when running scripts from cron
	echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a isatty ]; then echo -ne "\e%G"; fi' >>/etc/profile.d/locale.sh
	stat_done
fi

if [ "$CONSOLEFONT" != "" ]; then
	stat_busy "Loading Console Font: $CONSOLEFONT"
	for i in $(seq 1 12); do 
		if [ "$CONSOLEMAP" != "" ]; then
			/usr/bin/setfont -m $CONSOLEMAP $CONSOLEFONT -C /dev/vc/${i}
		else
			/usr/bin/setfont $CONSOLEFONT -C /dev/vc/${i}
		fi
	done
	# the $CONSOLE check helps us avoid this when running scripts from cron
	echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a isatty ]; then echo -ne "\e(K"; fi' >>/etc/profile.d/locale.sh
	stat_done
fi
# Adding persistent network/cdrom generated rules
if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then
	stat_busy "Adding persistent cdrom udev rules"
	/bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules
	stat_done
fi
if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then
	stat_busy "Adding persistent network udev rules"
	/bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules
	stat_done
fi
# Screen blanks after 15 minutes idle time
/usr/bin/setterm -blank 15

# End of file
# vim: set ts=2 noet:
Que pourrais optimiser la dedans ?
j' ai pas de RAID, pas de sata

j' ai juste un DD ide maxtor, un DD ide western digital, chipset SISxxx, Celeron 2.4Ghz, Geforce 4 Mx 440 64Mo AGP4x, 512Mo DDR , une carte PCI firewire IEE1394, une PCI USB 2.0, une PCI TV rave pinnacle....c' est tout je crois

dans mon rc.conf je suis MOD_AUTOLOAD="yes" je n' ais pas encore chercher a charger les modules moi même....je ne sais pas trop les identifier....donc en autoload
Dernière modification par chatalorss le mer. 28 févr. 2007, 03:38, modifié 1 fois.
Avatar de l’utilisateur
albireo
Elfe
Messages : 533
Inscription : ven. 15 sept. 2006, 15:47
Localisation : vallée de la save en Occitanie

Message par albireo »

23254 jours sans check.... mon dd a 63 ans il délire comme ça depuis pas mal de temps...mais le dd marche encore....
peut-être une piste :idea:

j'ai eu ce problème une fois et ce n'était pas du au disque, j'avais installé une slackware sans m'occuper de configurer la zone horaire. N'aurais tu pas installé une distrib récemment pour tester ?
_alexmyself
Chu Ko Nu
Messages : 405
Inscription : lun. 18 sept. 2006, 16:21
Localisation : france, yvelines 78

Message par _alexmyself »

l'heure ouais :)
et sinon tu peut virer les deux '0' sur la ligne correspondante dans le fstab
chatalorss
Hankyu
Messages : 14
Inscription : dim. 28 janv. 2007, 14:49

Message par chatalorss »

albireo a écrit :
j'ai eu ce problème une fois et ce n'était pas du au disque, j'avais installé une slackware sans m'occuper de configurer la zone horaire. N'aurais tu pas installé une distrib récemment pour tester ?
j' ai se problème sous toute les distributions.....

Avant les check étaient fait moins souvent........plus il prend de l' age et plus les check sont fréquent

Virer les 0 de mon fstab ?

Code : Tout sélectionner

/dev/hda2 swap swap defaults 0 0
/dev/hda3 / ext3 defaults 0 1
/dev/hda1 /boot ext2 defaults 0 1
/dev/hda4 /home ext3 defaults 0 1
enlever les 0
Quel sera les effets ?

prochain ckeck dans 4 rédémarrage....vivement que je change de PC.....mais c' est pas pour autant que le PC ira au placard

il servira en 2ème PC......mais il sera utilisé moins souvent..
_alexmyself
Chu Ko Nu
Messages : 405
Inscription : lun. 18 sept. 2006, 16:21
Localisation : france, yvelines 78

Message par _alexmyself »

les O determinent si ces fs doivent etre verifiés périodiquement ou pas (l'un des deux, je sait plus a quoi sert l'autre)
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

En fait ce qui disait _alexmyself, c'était de mettre que des 0 sur tes lignes de ton fstab

Code : Tout sélectionner

/dev/hda2  swap  swap defaults 0 0
/dev/hda3 /         ext3  defaults 0 0
/dev/hda1 /boot   ext2  defaults 0 0
/dev/hda4 /home ext3  defaults 0 0
Et hop plus de check (en bois ^_^")
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Et hop plus de check (en bois ^_^")
Ouais tu as raison : A bas les tchèques !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
chatalorss
Hankyu
Messages : 14
Inscription : dim. 28 janv. 2007, 14:49

Message par chatalorss »

Les check forced servent ils a quelques chose d' utile ?

Où sinon , un de mes contacts Kewlcat de zebulon.fr m' a donné une astuce qui a l' air de marcher

Controlez soi même les check :wink:
et ça marche

Sinon, pour le nombre de jour. 24532 jours sans check.....c' est une vieille photo désolé....j' aurais du en mettre en plus récente
en effet a cette époque un légé problème d' horloge mal configuré en UTC au lieu de localtime......si je me souvient bien

Voilà ce que ça donne au final avec cette commande

tout les 20 mount

Code : Tout sélectionner

tune2fs -c 20 /dev/hda1
refaire ça pour chaque partitions

Image

Image

check hda3 toutes les 3 semaines

Code : Tout sélectionner

tunef2fs -i 3w /dev/hda3
check hda3 tous les 3 mois

Code : Tout sélectionner

tunef2fs -i 3m /dev/hda3
Les check c' est long et pénible.......mais est ce vraiment utile...

un check par tous les 6 mois sinon...euh....
  • mon dd est vieux
    quelques erreurs badCRC par dessus le marché :?
    Vous feriez ça tout les combien ?
    3 mois, 6 mois , 1an ,jamais
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Tout dépend de l'importance que tu attaches aux données sur le DD et au système.

C'est typiquement une question qui ne possède pas de réponse toute faite !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
chatalorss
Hankyu
Messages : 14
Inscription : dim. 28 janv. 2007, 14:49

Message par chatalorss »

bon, je vais quand même faire des check régulier des partitions...

j' ai une carte mère P4S8X-X et a vrais dire....je ne sais pas si elle excepterait un dd de 160Go et plus....en IDE ça devient rare le petit dd

Je ne sais pas jusqu' a quand le DD tiendra le coup malgré les erreurs badcrc ( je verais bien )
les sauvegardes sont faite régulièrement.....donc au pire je devrais prendre un nouveau dd et refaire une installation

bientot se PC va prendre sa retraite et servir de temps en temps en PC de secours / quand ma femme veut acceder a internet sur où jouer sur le futur PC

Sinon, du coup je viens d' apprendre a controler les check

Sujet Résolu et merci a tous / toutes .
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

chatalorss a écrit : j' ai une carte mère P4S8X-X et a vrais dire....je ne sais pas si elle excepterait un dd de 160Go et plus....en IDE ça devient rare le petit dd
Normalement ça passe au pire t'auras pas les perfs max de ton disque dur.
Mais pense bien à sauvegarder tes données importantes (ouvres un compte free y'a 10go en ftp ^^)
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
chatalorss
Hankyu
Messages : 14
Inscription : dim. 28 janv. 2007, 14:49

Message par chatalorss »

Je pense pas que les FTP Free sont vraiment des espaces de stockage ....

Les données et voir même le site entier peut être détruit ... :oops:
Un site peut être détruit à tout moment et sans préavis en cas de non respect des règles d'usage, parmi lesquelles :

Stockage
Abus de ressources sytème
Décision juridique suite a une plainte
Site contenant des systèmes Bittorrent
source Centrapel

petite infos qui n' a rien a voir, enfin si avec les FTP Free
gérer son FTP par son navigateur internet
c' est quand même bien foutu
# Attention: Cette interface ne permet pas le téléchargement (download)
# Votre navigateur doit accepter les cookies pour utiliser cette interface
# !!Cette interface est en phase de tests!!!
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

hihi ben ils ont pas vu la tronche de mon boxon ^^
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Répondre