Mint 17

Детальный разбор дистрибутивов и других UNIX-like ОС

Модераторы: Olej, bellic, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 04 апр 2015, 16:59

Olej писал(а):... вот с этого места вся инсталляция идёт автономно (до следующей перезагрузки ждём: разнесёт ли в дребезги дисковые разделы с их содержимым? ;-)):
Вот что сделал Mint с разделами 2-х HDD без вмешательства ручного конфигурирования:
IMG_0541.JPG
И многострадальный Windows, который автоматом попал в меню загрузки GRUB:
IMG_0540.JPG

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 04 апр 2015, 17:08

Olej писал(а): Несколько озадачивает то, что там до сих пор система инициализации init до сих пор, а не systemd (по дефаулту, по крайней мере):

Код: Выделить всё

mint@mint ~ $ ps -A -f -L
UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
root         1     0     1  0    1 07:24 ?        00:00:01 /sbin/init
root         2     0     2  0    1 07:24 ?        00:00:00 [kthreadd]
root         3     2     3  0    1 07:24 ?        00:00:26 [ksoftirqd/0]
...
root      1080     1  1080  0    1 07:24 ?        00:00:00 upstart-udev-bridge --daemon
root      1094     1  1094  0    1 07:24 ?        00:00:00 /lib/systemd/systemd-udevd --daemon
message+  1096     1  1096  0    1 07:24 ?        00:00:00 dbus-daemon --system --fork
root      1164     1  1164  0    1 07:24 ?        00:00:00 /lib/systemd/systemd-logind
root      1171     1  1171  0    1 07:24 ?        00:00:00 /usr/sbin/bluetoothd
root      1193     2  1193  0    1 07:24 ?        00:00:00 [krfcommd]
root      1211     1  1211  0    1 07:24 ?        00:00:00 upstart-file-bridge --daemon
avahi     1215     1  1215  0    1 07:24 ?        00:00:00 avahi-daemon: running [mint.local]
avahi     1216  1215  1216  0    1 07:24 ?        00:00:00 avahi-daemon: chroot helper
syslog    1235     1  1235  0    4 07:24 ?        00:00:00 rsyslogd
syslog    1235     1  1237  0    4 07:24 ?        00:00:00 rsyslogd
syslog    1235     1  1238  0    4 07:24 ?        00:00:00 rsyslogd
syslog    1235     1  1239  0    4 07:24 ?        00:00:00 rsyslogd
...
Но с этим ужно разбираться...
Единственное, что (пока!? ;-) ) бросилось в глаза - это очень (в разы) длительная загрузка операционной системы ... по сравнению, например, с Fedora 20 на том же компьютере (а на компьютере с SSD диском та же Fedora 20 загружается, до восстановления открытых окон приложений - 8 секунд от включения питания).

И эта ощутимая продолжительность загрузки - это на совсем не слабом процессоре:

Код: Выделить всё

olej@nvidia ~/Изображения/Mint $ cat /proc/cpuinfo | grep 'model name'
model name	: Pentium(R) Dual-Core  CPU      E6600  @ 3.06GHz
model name	: Pentium(R) Dual-Core  CPU      E6600  @ 3.06GHz
Вот на этом процессоре начальная загрузка (от выбора меню GRUB) идёт порядка 53 секунд.
Правда потом загруженный Mint бегает приятно шустро. ;-)

Вот это и есть последовательный запуск всех служб-сервисов-серверов под init в сравнении с их же параллельным запуском под systemd ... да ещё на нескольких процессорах-ядрах.
А при большом числе служб (а с развитием системы их число всё возрастает и возрастает, и будет расти) это разница становится всё больше и больше.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 05 апр 2015, 15:26

Выяснилась ещё одна (очень положительная!) особенность сборки Mint 17.1 - это то, с какой лёгкостью выбираются и меняются драйверы устройств, для которых есть образцы проприетарных драйверов (которые обычно более производительны, шире функциональность и т.п.).
Это, главным образом (но не только) касается видеоадаптеров Radeon от AMD и от GeForce от NVIDIA, содержащих графический GPU с сотнями и тысячами вычислительных ядер, предназначенных, порой, не только для обработки графики, но и вычислений вместо CPU.

Это настолько тягомутные вопросы, что 2-м вопросам: установка драйверов для Radeon и GeForce посвящены, наверное, до 10-15% общей массы вопросов на форумах Fedora, Debian и Ubuntu (это самые активные обсуждения).

В Mint в настройках есть такая позиция как "Менеджер драйверов".
driv.png
На большинстве компьютеров (где нет устройств для которых есть альтернативные драйверы, от производителя как правило) это приложение вообще откроет пустое окно.

Но вот на компьютере с GeForce, сразу после установки системы, это окно выглядит так:
nv1.png
И можем перепроверить это так:

Код: Выделить всё

olej@nvidia /media/olej $ lsmod | grep nouveau
nouveau               969577  3
mxm_wmi                12893  1 nouveau
wmi                    18673  2 mxm_wmi,nouveau
video                  18903  1 nouveau
i2c_algo_bit           13197  1 nouveau
ttm                    72725  1 nouveau
drm_kms_helper         48868  1 nouveau
drm                   244037  5 ttm,drm_kms_helper,nouveau
Но можно переустановить драйвер от NVIDIA:
nv2.png
После ощутимо долгого ""Применить изменения" (скачивается драйвер?) и перезагрузки получаем:

Код: Выделить всё

olej@nvidia ~ $ lsmod | grep nvidia
nvidia               9704610  69 
drm                   244037  2 nvidia

olej@nvidia ~ $ lsmod | grep nouveau
olej@nvidia ~ $ 
P.S. В предыдущей (в Fedora 14) ручной установке драйвера от NVIDIA я убил 2 или 3 полных дня, чтобы а). разыскать соответствующий модели драйвер, установить этот драйвер и заставить работать в). отучить по дефаулту грузить nouveau. :evil:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 03:00

Собираю русскоязычные форумы (да и другие ресурсы) про Mint, где можно было бы обсудить или уточнить тонкие детали ... может кто ещё добавит? ;-)

1. http://mintlinux.ru/
там же форум
и там же большой набор коротких статей, названный блог, о настройках и оптимизации Linux вообще, с акцентом на Mint в частности ;-)

2. дайджест статей, обновляется

3. http://rosinka.rosix.ru/index.php
Изображение
Добро пожаловать на форум Linux Mint Росинка!
4. http://forums.linuxmint.com/viewforum.php?f=75
Изображение
(русский раздел основного форума Mint)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 03:21

Но в Mint, который так активно расхваливает Алексей Федорчук с точки зрения "применителя", обнаруживаются весьма неприятные проблемы с точки зрения программистов.
При сборке программы, которая на 3 оператора сложнее Hello World, высыпаются такие вот сообщения:

Код: Выделить всё

olej@nvidia ~/2015_WORK/own.BOOK/ManyLan/ex.32/triangle $ gcc -Wall -lm triangle.c -o triangle_c
/tmp/cc0bABfr.o: In function `perimeter':
triangle.c:(.text+0x5e): undefined reference to `cabs'
/tmp/cc0bABfr.o: In function `square':
triangle.c:(.text+0xed): undefined reference to `cabs'
triangle.c:(.text+0x102): undefined reference to `cabs'
triangle.c:(.text+0x11c): undefined reference to `atan2'
triangle.c:(.text+0x133): undefined reference to `atan2'
triangle.c:(.text+0x13e): undefined reference to `sin'
collect2: error: ld returned 1 exit status
Как понятно, это оно не находит элементарной математической библиотеки C - libm.so ... хотя, похоже, такая библиотека и лежит на таком странном пути: /lib/i386-linux-gnu.

Это была несложная программа, которая в Fedora, Debian и Ubuntu (всяких разных версий) собиралась "в лёт" и без всяких дополнительных инсталляций.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 11:30

Olej писал(а):Как понятно, это оно не находит элементарной математической библиотеки C - libm.so ... хотя, похоже, такая библиотека и лежит на таком странном пути: /lib/i386-linux-gnu.
Та же история и с libpthread.so:

Код: Выделить всё

olej@nvidia ~/2015_WORK/in.WORK/SpeedThread $ make
gcc -Wall -O3 -lm -lpthread CSpeed2.c -o CSpeed2
/tmp/ccNlAAwF.o: In function `main':
CSpeed2.c:(.text.startup+0xd0): undefined reference to `pthread_create'
CSpeed2.c:(.text.startup+0x122): undefined reference to `pthread_join'
CSpeed2.c:(.text.startup+0x370): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
make: *** [CSpeed2] Ошибка 1
Хотя:

Код: Выделить всё

olej@nvidia /lib/i386-linux-gnu $ ls /lib/i386-linux-gnu/*pthread*
/lib/i386-linux-gnu/libpthread-2.19.so  /lib/i386-linux-gnu/libpthread.so.0
Значит такая же история со всеми POSIX библиотеками!

P.S. Как же мне нравятся все эти Ubuntu-приближённые community и сообщества! :lol:
Все из их "миллиона пользователей" на 3-й день норовят "собрать свой дистрибутив" :lol: , но никто не напишет и не проверит даже Hello World! :roll:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 11:36

Olej писал(а): Значит такая же история со всеми POSIX библиотеками!
Хорошо хоть всё, что связано со сборкой модулей ядра Linux, драйверов, как-то работает:

Код: Выделить всё

olej@nvidia ~/2015_WORK/GlobalLogic/PRACTIS.Kernel/PRACTIS.Tasks/first_hello $ make
make -C /lib/modules/3.13.0-37-generic/build M=/home/olej/2015_WORK/GlobalLogic/PRACTIS.Kernel/PRACTIS.Tasks/first_hello modules
make[1]: Вход в каталог `/usr/src/linux-headers-3.13.0-37-generic'
  CC [M]  /home/olej/2015_WORK/GlobalLogic/PRACTIS.Kernel/PRACTIS.Tasks/first_hello/hello_printk.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/olej/2015_WORK/GlobalLogic/PRACTIS.Kernel/PRACTIS.Tasks/first_hello/hello_printk.mod.o
  LD [M]  /home/olej/2015_WORK/GlobalLogic/PRACTIS.Kernel/PRACTIS.Tasks/first_hello/hello_printk.ko
make[1]: Выход из каталога `/usr/src/linux-headers-3.13.0-37-generic'

frost42
Писатель
Сообщения: 43
Зарегистрирован: 21 фев 2012, 19:50
Откуда: Новокузнецк
Контактная информация:

Re: Mint

Непрочитанное сообщение frost42 » 06 апр 2015, 16:35

Olej писал(а):
Olej писал(а): Все из их "миллиона пользователей" на 3-й день норовят "собрать свой дистрибутив" :lol: , но никто не напишет и не проверит даже Hello World! :roll:
Так у них вся "сборка своего дистрибутива" сводится к замене не скучных обоев и одного плеера на другой! :-D

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 18:02

frost42 писал(а):
Olej писал(а):
Olej писал(а): Все из их "миллиона пользователей" на 3-й день норовят "собрать свой дистрибутив" :lol: , но никто не напишет и не проверит даже Hello World! :roll:
Так у них вся "сборка своего дистрибутива" сводится к замене не скучных обоев и одного плеера на другой! :-D
Ну так я собственно про это же :lol:
Просто поражает количество намерений собрать собственный дистрибутив...
Оно соизмеримо только с числом умельцев, желающих написать собственную операционную систему (национальную, отечественную, самую лучшую, украинскую ... нужное подчеркнуть :lol: ).

Но с компиляцией и сборкой в Mint даже простеньких приложений действительно существует проблема (в том виде в каком система устанавливается из образа).
Собственно, проблема только с нахождением подключаемых шаред библиотек (то что делается опцией -L у GCC, или переменной окружения LD_LIBRARY_PATH ... но здесь и это не помогает).

Когда разберусь с происходящим - отпишу сюда.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Mint

Непрочитанное сообщение Olej » 06 апр 2015, 20:53

"Всё страньше и страньше"(с)

Беру для целей проверки какой-то самый простейший код:

Код: Выделить всё

#include <stdio.h>
#include <math.h>

int main( void ) {
   float d = 9;
   printf( "%f\n", sqrt( d ) );
   return 0;
}

Код: Выделить всё

olej@nvidia ~/2015_WORK/HISTORY.nvidia/04/06 $ gcc -Wall -lm ctst.c -o ctst
/tmp/ccDNNiCu.o: In function `main':
ctst.c:(.text+0x1a): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
С ума сойти! - именно на этапе связывания (линковки) библиотека libm.so не может быть найдена...

Доставляю C++ (он мне всё-равно всегда нужен):

Код: Выделить всё

olej@nvidia ~/2015_WORK/HISTORY.nvidia $ sudo apt-get install g++
...
olej@nvidia ~/2015_WORK/HISTORY.nvidia/04/06 $ g++ -Wall -lm ctst.c -o ctst
olej@nvidia ~/2015_WORK/HISTORY.nvidia/04/06 $ ldd ctst
	linux-gate.so.1 =>  (0xb7764000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7703000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7555000)
	/lib/ld-linux.so.2 (0xb7765000)
olej@nvidia ~/2015_WORK/HISTORY.nvidia/04/06 $ ./ctst 
3.000000
Чудеса да и только!
Видно же, что C++ приложение замечательно ссылается на /lib/i386-linux-gnu/libc.so.6

Ответить

Вернуться в «Дистрибутивы Linux и родственные ОС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей