LINUX.ORG.RU

Нужна дуракоустойчивая система


0

1

Дано: ноутбук Dell с гигом памяти и Celeron M - одна штука, юзер с талантом ломать ОСи - одна штука.

Требуется: в меру современный дистрибутив или ОС, не дающий вмешиваться в свою работу просто так, эстетически приятный (Ш не Г и так далее), сам по себе не глючный, с достаточной большим набором предустановленных программ и кодеков из коробки.

Вроде все. Пока что приходят на ум RFRemix и Mandriva One. Может еще что хорошее и не жручее ресурсы найдется?

//Ах да, как выяснилось, вида терминала пациентка не переносит категорически. Поэтому Arch и Gentoo отпадают.

Всем спасибо.

★★★★★

Последнее исправление: LongLiveUbuntu (всего исправлений: 1)

Ответ на: комментарий от LongLiveUbuntu

То есть ты признаешь что сам можешь сотворить только страсть-страсть?
на самом деле - убунта с выключенными гуй-настройками

minakov ★★★★★
()

Пока что приходят на ум RFRemix и не жручее ресурсы найдется?

а она и не жрёт

le_legioner ★★
()
Ответ на: комментарий от LongLiveUbuntu

Судя по предназначению, она как раз для красоты субъективной. Но по треду лучше все-таки допилить готовое решение

minakov ★★★★★
()

>вида терминала пациентка не переносит категорически. Поэтому Arch и Gentoo отпадают.

Собирал генту на динозавра для родителей, никакого терминала, все в гуе, типа киоска получилось.

anonymous
()

Любой

Настраиваешь все, как надо, убираешь из меню утилиты графической настройки, для верности разрешаешь изменять конфигурационные файлы пользователя только руту, пароль рута пользователю не сообщаешь.

Как дети малые, ей-богу.

Deleted
()

любой user friendly дистрибутив, просто не давать пароль рута, а устанавливать программы (когда понадобится) самому, как вариант, по ssh

TheAnonymous ★★★★★
()

В любом дистре для установки доп. программ нужен пароль рута. У юзера пароль рута будет?

Nxx ★★★★★
()

>Требуется: в меру современный дистрибутив или ОС, не дающий вмешиваться в свою работу просто так, эстетически приятный (Ш не Г и так далее), сам по себе не глючный, с достаточной большим набором предустановленных программ и кодеков из коробки.

Slackware же

вида терминала пациентка не переносит категорически.

ну и чудесно. значит ничего и не сломает. обои в кедах пусть меняет, для этого гуй есть. а правила iptables её менять не нужно.

drBatty ★★
()

Щас вспомню... Был такой дистрибутив... Попробуй тогда KNOPPIX, а жёсткий диск вытащи физически.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от blackst0ne

Вспоминаю поговорку: «бубунта - не линукс» :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от bhfq

Так включить в той же Убунте установку не только обновлений безопасности, но и обычных обновлений в файле в /etc/apt/apt.conf.d/50unattended-upgrades - сами будут ставится.

RussianNeuroMancer ★★★★★
()

Ах да, как выяснилось, вида терминала пациентка не переносит категорически. Поэтому Arch и Gentoo отпадают.

А как связаны терминал и дистрибутив для конечного пользователя, если он свою машину не администрирует?

Eddy_Em ☆☆☆☆☆
()

Дык ChromiumOS, конечно :)

Macil ★★★★★
()

Я не понел. А эта твоя Убунта не юзерфрендли штоле?

anonymous
()

Мертвое не убить!

Ставь *BSD!

anonymous
()

Ubuntu же. Без рута систему там не испоганить, а так она вполне няшна и с кодеками.

Zhbert ★★★★★
()
Ответ на: комментарий от Eddy_Em

> А что, гугол уже отменили?

Пользователь никогда не будет искать там что-то подобное.

nCdy
()
Ответ на: комментарий от Zhbert

> А разве юзер умеет им пользоваться?

Умеет, я знаю людей которые в яндексе ищут гугл, потом в гугле ищут гугл, потом в гугле ищут вконтакт :)

nCdy
()
Ответ на: комментарий от Zhbert

p.s. зачем в гугле искать гугл я не знаю... В этом есть какой-то скрытый смысл.

nCdy
()
Ответ на: комментарий от Zhbert

p.s. данная процедура поиска вконтакта выполняется только если при написании буквы v в строке адреса не подставляется нужный адрес.

nCdy
()
Ответ на: комментарий от nCdy

>Умеет, я знаю людей которые в яндексе ищут гугл, потом в гугле ищут гугл...

...потом в гугле ищут гугл, потом в гугле ищут гугл, потом в гугле ищут гугл....

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

> ...потом в гугле ищут гугл, потом в гугле ищут гугл, потом в гугле ищут гугл....

Достаточно одного раза. Я полагаю, что пользователь не доверяет яндексу, что тот нашёл гугл, поэтому ищет его в гугле, который может быть не совсем гуглом, что бы уж точно гугл гул...

nCdy
()
Ответ на: комментарий от Zhbert

Zhbert

Пруф? Если учесть, что пароля рута нет.


sudo - если в консоли.
Всплывающее окошечко с просьбой ввести пароль юзера - если в gui.

blackst0ne ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

RussianNeuroMancer

Так включить в той же Убунте установку не только обновлений безопасности, но и обычных обновлений в файле в /etc/apt/apt.conf.d/50unattended-upgrades - сами будут ставится.


updates можно устанавливать в фоне и без участия user.

blackst0ne ★★★★★
()
Ответ на: комментарий от nCdy

nCdy

Достаточно одного раза. Я полагаю, что пользователь не доверяет яндексу, что тот нашёл гугл, поэтому ищет его в гугле, который может быть не совсем гуглом, что бы уж точно гугл гул...


И всё это делает какая-нибудь киса, которая киса?

blackst0ne ★★★★★
()
Ответ на: комментарий от Zhbert

Zhbert

Хех, стало быть, я переоценил эту вашу убунту.


Ну если пошаманить с groups, то хомячки не сломают. Наверное. =)

blackst0ne ★★★★★
()

Если вы оставите пользователю возможность самому ставить пакеты (обновлять дистрибутив) и удалять пакеты, то можно поломать любой дистрибутив.

Ваша задача взять любой дистрибутив, хоть даже Gentoo или Arch, можно ещё и Calculate посмотреть, поставить, настроить раз и всё, пускай пользуется, исключить из sudo (не добавлять), не говорить пароль root.

Если всё же пароль root нужен, что бы пользователь сам обновлял систему то стоит присмотреться к squashfs + aufs.

Ваши действия таковы:

1. Ставите дистрибутив, настраиваете.
2. Запаковывайте как есть весь корень в образ squashfs
3. Берёте исходники ядра с наложенным на него патчем с поддержкой aufs.
4. Собираете его.
5. Собираете свой initrd и пишете свой скрипт init, что бы он делал каскадное монтирование доступного на чтение образа корневой файловой системы и директории / раздела, доступного на запись с помощью aufs и осуществлял переход в эту систему.
6. Так же можно сделать ещё один initrd, в котором сценарий init перед каскадным монтированием корневой системы будет очищать изменения, которые сделает пользователь, в случае приведения системы в не работоспособное состояние.

Естественно /home делаете отдельным разделом.

Полученная система даже в случае не правильных действий пользователя может быть приведена в рабочее состояние простой очисткой директории / раздела, на который пишутся изменения, проводимые в корневом разделе, это реализует aufs.

Вот пример сценария init, с каскадным подключением корня в squashfs и aufs, правда здесь в качестве файловой системы, доступной на запись, куда пишутся изменения в корне, я использую tmpfs, в памяти.

#!/bin/busybox sh

rescue_shell() {
    echo "Something went wrong. Dropping you to a shell."
    busybox --install -s
    setsid cttyhack sh
    exec sh
}

uuidlabel_root() {
    for cmd in $(cat /proc/cmdline) ; do
        case $cmd in
        root=*)
            type=$(echo $cmd | cut -d= -f2)
            if [ $type == "LABEL" ] || [ $type == "UUID" ] ; then
                uuid=$(echo $cmd | cut -d= -f3)
                mount -o ro $(findfs "$type"="$uuid") /mnt/root
            else
                mount -o ro $(echo $cmd | cut -d= -f2) /mnt/root
            fi
            ;;
        esac
    done
}

# Mount the /proc and /sys filesystems.
mount -t proc none /proc
mount -t sysfs none /sys

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

# Do your stuff here.
echo "This script mounts rootfs and boots it up, nothing more!"

for i in livemnt/memory livemnt/squashfs livemnt/media 
do
  mkdir -p /${i}
done

echo "Wait 15 seconds."
sleep 15

mount $(findfs LABEL=<ROOT>) /livemnt/media -o ro -n || rescue_shell
mount /livemnt/media/system.sq /livemnt/squashfs -o ro -n
mount none -t tmpfs /livemnt/memory -n
mount rootfs -t aufs /mnt/root/ -o udba=reval,br:/livemnt/memory:/livemnt/squashfs 

for i in livemnt/memory livemnt/squashfs livemnt/media
do
  mkdir -p /mnt/root/${i}
  mount -n --move /${i} /mnt/root/${i}
done

mv /fstab /mnt/root/etc/fstab

echo -e "\ntmpfs\t/\t\ttmpfs\t\trw\t0 0\n" >> /mnt/root/etc/fstab

# Clean up.
umount /proc
umount /sys

# Boot the real thing.
exec switch_root /mnt/root /sbin/init -c /dev/tty1

Вот в этой строчке, вместо <ROOT> укажите метку файловой системы, где будет лежать образ squashfs

mount $(findfs LABEL=<ROOT>) /livemnt/media -o ro -n || rescue_shell

В этой строчке вместо /lvemnt/memory укажите раздел, который будет доступен на запись и куда будут писаться изменения в корневой файловой системе, впоследствии при его очистке можно вернуть систему в изначальное состояние.

udba=reval,br:/livemnt/memory:/livemnt/squashfs

Его поиск и предварительное монтирование можно также, как и здесь:

mount $(findfs LABEL=<ROOT>) /livemnt/media -o ro -n || rescue_shell

По аналогии с этой строкой можете указать записывать в /etc/fstab монтирование /home.

echo -e "\ntmpfs\t/\t\ttmpfs\t\trw\t0 0\n" >> /mnt/root/etc/fstab

Хотя можно прописать это изначально в /etc/fstab.
Дерзайте.

kostik87 ★★★★★
()

Ставишь любой дистр

Не говоришь пароль от рута

???

PROFIT!

nickionn ★☆
()

Linux Mint или Debian Stable.

ArtKun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.