Page 1 sur 1

[fs] faire de la place sur la partition root [résolu]

Publié : ven. 20 janv. 2012, 10:24
par onyx67
Bonjour,
Cela fait un petit moment que je constate que ma partition /root se remplit tout doucement au fil des mises à jours. Je me dit qu'à cette allure, d'ici quelques semaines elles sera pleine.
Voici la sortie de: df -h

Code : Tout sélectionner

 df -h
Sys. fich.     Taille Util. Dispo Uti% Monté sur
rootfs           7,4G  5,2G  1,8G  75% /
udev              10M     0   10M   0% /dev
/run              10M  212K  9,8M   3% /run
/dev/sda3        7,4G  5,2G  1,8G  75% /
shm              2,0G  240K  2,0G   1% /dev/shm
tmpfs            2,0G  8,0K  2,0G   1% /tmp
/dev/sda1         99M   18M   76M  20% /boot
/dev/sda4        458G   59G  377G  14% /home
Je dois dire que c'est la première que je suis confronté à ce problème. Je ne me suis jamais soucié de ce point sur les autres distributions que j'utilisais auparavant.
Les mises à jour sur arch se font-elles à la volée ou cela demande t-il une intervention manuelle?
J'ai bien tenté yaourt -Qdt pour supprimer les paquets orphelins, mais au final je n'ai libéré que très peu d'espace
Comment faire un peu de place sur cette partition, peut-on supprimer des fichiers, si oui comment et surtout lesquelles sans déstabiliser mon système?
Si quelqu'un a des conseils à me donner, je suis preneur.

Re: [ /root] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 10:30
par benjarobin
pacman -Scc ? Car pacman garde en cache tous les paquets téléchargés.
Mais il est vrai que 7.4 Go pour root est assez étroit

Re: [ /root] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 10:38
par oktoberfest
pacman -Sc va te débarrasser des paquets non installés, tu devrais gagner une certaine place.
Le principal inconvénient/avantage (à chacun de voir) d'Archlinux est que les paquets installés restent dans /var/cache/pacman/pkg. A toi de faire le ménage.

Re: [ /root] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 10:38
par mimas
Je vire les localisations et les bibliothèques statiques (.a). Pour ce faire j'ai écrit un script en lua qui nécessite `luaposix`

Code : Tout sélectionner

#!/usr/bin/lua

require "posix_c"

keep_locales = {
	-- system locales
	"fr", "en", "fr_FR", "fr_FR.utf8", "fr_FR@euro",
	-- man pages
	"cat1", "cat2", "cat3", "cat3p", "cat4", "cat5", "cat6", "cat7", "cat8", "cat9", "catn",
	"man1", "man2", "man3", "man3p", "man4", "man5", "man6", "man7", "man8", "man9", "manm", "mann",
}

keep_slib = {
	-- glibc
	"libmcheck", "libbsd-compat", "libg", "librpcsvc",
	"libutil", "libresolv", "libnsl", "librt","libc",
	"libpthread_nonshared", "libm", "libBrokenLocale",
	"libcrypt", "libdl", "libc_nonshared", "libpthread",
	"libanl", "libieee", "libnsl",
	-- gcc
	"libmudflapth", "libgomp", "libmudflap", "libssp", "libssp_nonshared",
	"libsupc++", "libstdc++"
}

function cleanlocales (path)
	local entry, i

	-- Does this directory exist ?
	if posix.chdir (path) == nil then
		print(path.. " does not exist")
		return
	end

	-- decide to keep locale or not
	local keep = function (locale)
		for i=1,#keep_locales do
			if locale == keep_locales[i] then
				return true
			end
		end
		return false
	end

	for entry in posix.files (path) do
		if posix.stat(entry).type == "directory" and (entry ~= "." and entry ~= "..") then
			if not keep (entry) then
				print("removing ".. path .. entry)
				os.execute ("rm -rf ".. path..entry)
			end
		end
	end
end

function delete_staticlibs (path)
	local entry, i
	local size = 0

	-- Does this directory exist ?
	if posix.chdir (path) == nil then
		print(path.. " does not exist")
		return
	end

	local keep = function (locale)
		for i=1,#keep_slib do
			if locale == keep_slib[i] then
				return true
			end
		end
		return false
	end

	for entry in posix.files (path) do
		if posix.stat(entry).type ~= "directory" and string.sub(entry,-2) == ".a" then
			if not keep (string.sub(entry, 1, -3)) then
				print("delete "..entry)
				os.execute ("rm -f ".. path..entry)
--				size = size + posix.stat(entry).size
			end
		end
	end

--	print (size .. " bytes removed")
end


cleanlocales ("/usr/share/locale/")
cleanlocales ("/usr/share/man/")
cleanlocales ("/usr/lib/locale/")
cleanlocales ("/usr/share/wesnoth/translations/")

delete_staticlibs("/usr/lib/")
Il y a sûrement encore du travail à faire dessus (bibliothèques à garder pour le x86_64, chemin supplémentaire à ajouter…), cela fonctionne cependant très bien sur ma machine.

Donc molo sur `delete_staticlibs`, je te conseille de regarder quels sont les .a apportés par gcc et glibc , par exemple avec un `pacman -Ql gcc | grep ".a$"`, pour ne pas virer des fichiers qui seraient utiles.

Re: [ /root] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 10:52
par onyx67
Merci. Un pacman -Sc m'a effectivement permis de libérer un peu d'espace (de 75% d'occupation à 63%).
benjarobin a écrit : Mais il est vrai que 7.4 Go pour root est assez étroit
Y a t-il un moyen "simple" de redimensionner /root sans risquer de tout flinguer?

Re: [ /root] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 11:06
par oktoberfest
Via gparted tu pourras redimensionner ta partition, si tu as de l'ext3 (ext4 avec gparted ? Je ne sais pas).
Une autre solution est de réduire ton /home et de créer une partition pour /var.

PS : Salut voisin !

Re: [fs] faire de la place sur la partition root

Publié : ven. 20 janv. 2012, 11:27
par onyx67
> oktoberfest d'après la doc, gparted gère du ext4. Je vais tenté cette solution.

PS: voisin oui! suis dans le ried aussi!!