Créer un faux meminfo
et montez-le sur un /proc/meminfo
d'origine :
$ mkdir fake-meminfo && cd fake-meminfo
$ cp /proc/meminfo .
$ chmod +w meminfo
$ sed -Ei 's,^MemTotal: [0-9]+ kB,MemTotal: 8839012 kB,' meminfo # replace 8839012 with an amount of RAM you want to pretend you have
$ free -m # check how much RAM you have now
total used free shared buff/cache available
Mem: 7655 1586 3770 200 2298 5373
$ sudo mount --bind meminfo /proc/meminfo
$ free -m # check how much RAM you pretend to have after replacing /proc/meminfo
total used free shared buff/cache available
Mem: 8631 2531 3800 201 2299 5403
$ sudo umount /proc/meminfo # restore an original /proc/meminfo
$ free -m
total used free shared buff/cache available
Mem: 7655 1549 3806 200 2299 5410
Vous pouvez également exécuter les commandes ci-dessus dans un espace de noms de montage isolé du reste du système. Références :Récupérer après avoir falsifié /proc/meminfo
Après réflexion, j'ai fait ceci :
Commencé par nano /proc/meminfo
MemTotal
modifié , MemFree
, MemAvailable
, SwapTotal
et SwapFree
aux valeurs souhaitées et enregistrées dans ~./meminfo
A donné à l'utilisateur le mot de passe boinc sudo passwd boinc
et shell -- sudo nano /etc/passwd
, trouvé la ligne boinc:x:129:141:BOINC core client,,,:/var/lib/boinc-client:/usr/sbin/nologin
et changé le /usr/sbin/nologin
partie en /bin/bash
Ensuite, j'ai truqué les informations de RAM en utilisant des exemples d'ici
unshare -m bash #unshares mount spaces, for specific program "bash" only (and for whatever you want to launch from it)
mount --bind ~./meminfo /proc/meminfo #substitutes real meminfo data with fake one
et confirmé avec free
que cela a fonctionné
total used free shared buff/cache available
Mem: 2321456 21456 2300000 0 0 2300000
Swap: 5000000 1000000 4000000
Puis passé à l'utilisateur su - boinc
et vient de lancer le programme avec
boinc --check_all_logins --redirectio --dir /var/lib/boinc-client
BOINC Manager peut alors être lancé comme d'habitude
Succès total, tâches qui refusaient auparavant de s'exécuter, ont commencé à se télécharger puis se sont exécutées sans complications