Памятка по использованию Calculate Linux (команды и тд.)... | [Харзах]-[РУ]
Решил добавить сюда этот текст, так как иногда бывает нужно быстро найти команды или вспомнить, как использовать ту или иную настройку на Кальке, а искать в интернете, когда знаешь, что у тебя это где-то уже записано, как-то неинтересно. Итак, версия от Ноября 2019 года (страница будет обновляться и далее):
Обновление калькиcl-update
#теперь так
Для обновления системы из бинарных пакетов, достаточно только обновить оверлей, выполнив:
eix-sync - обновление портежей (и оверлея, включая предыдущие команды):
Если вы предпочитаете использовать 'emerge --sync', не забудьте после выполнения обновить оверлей и базу eix:
eix -S browser
- поиск программ (можно без -S).
emerge -uDNa world
- обновление системы.
Если основной сервер недоступен, то редактируем /etc/make.conf
# Альтернативные зеркала обновленого репозитория. В случае проблем с доступом
# попробуйте в начале обновить оверлей, выполнив `eix-sync`.
Выполнение размаскировки пакетов
Обновите настройки:
Основные команды утилиты: "PageUp"/"PageDown" - перемещаться по файлу,
"u" - заменить существующий файл новым,
"z" - удалить новый конфигурационный файл,
"q" - прервать работу.
Нажмите "u" для подтверждения внесенных изменений.
Установка программ
Обратите внимание, что по-умолчанию вам будет предложено установить более старую версию системы – 0.09. Я бы рекомендовал проследовать по дереву портов до нужной ветки и установить более новую версию, так как в неё внесли множество исправлений.
Установка определённой версии программы
Маскировка пакета (если вам не нужна новая версия программы, например)
в /etc/portage/package.mask/
Добавление оверлея:
удалить overlay:
Как создать собственный оверлей
1 -- Создаем директорию для оверлея:
2 -- Называем этот оверлей:
3 -- Регистрируем оверлей в системе портежей:
4 -- Создаем директории для пакетов:
5-- И собственно сами ebuild-ы пакетов:
5.1 ~ /var/calculate/portage/net-print/cndrvcups-common/cndrvcups-common-2.10_p1.ebuild
#сюда копируем первый ebuild
5.2 ~ /var/calculate/portage/net-print/cndrvcups-lb/cndrvcups-lb-2.10_p1.ebuild
#сюда копируем второй ebuild
6 ~ Не забываем зарегистрировать ebuild
Напримере сборка wine
ebuild /var/calculate/portage/app-emulation/wine/wine-1.5.27-r8.ebuild digest
7 ~ Ну сама сборка wine
emerge -avbk wine
emerge -avbk app-emulation/winetricks
P.S.
Теперь portage ругается
!!! Repository 'local' is missing masters attribute in '/var/calculate/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
Сделать так!
mkdir -p /var/calculate/portage/metadata/
echo "masters = gentoo" >> /var/calculate/portage/metadata/layout.conf
Настройки кальки:
eix-remote update после eix-sync
Далее можно с помощью eix искать по оверлеям.
cl-install --set os_install_x11_composite=on --startup
USE="qt4" emerge -av ati-drivers - пример использования флагов для программ...
Группы:
gpasswd [option] usergroup
-a user
Add the user to the named group.
-d user
Remove the user from the named group.
-r
Remove the password from the named group. Only group members will
be allowed to use newgrp to join the named group.
-R
Restrict the access to the named group. Only group members will be
allowed to use newgrp to join the named group.
-A user,...
Set the list of administrative users.
-M user,...
Set the list of group members.
Добавляем нового пользователя во вторичную существующую группу командой useradd (useradd -G {groupname} username):
Код (Text):
[~]# useradd -G hosters hoster1
Проверяем, добавлен ли пользователь в группу:
Код (Text):
[~]# id hoster1
uid=500(hoster1) gid=500(hoster1) группы=500(hoster1),501(hosters)
Флаг -G позволяет добавить пользователя в группу. Пользователя можно добавить в несколько групп сразу, перечисляя их через запятую:
Код (Text):
[~]# useradd -G hosters,ftpusers,guests hoster1
Флаг -g позволяет добавить пользователя в основную группу:
Код (Text):
[~]# useradd -g ftpusers hoster1
Также можно использовать команду usermod для добавления существующего пользователя hoster1 в существующую группу ftpusers. Добавляем пользователя во вторичную группу:
Код (Text):
[~]# usermod -a -G ftpusers hoster1
Изменяем пользователю hoster1 первичную группу на hosters:
Код (Text):
[~]# usermod -g hosters hoster1
Удаляем пользователя из группы. Для этого используйте команду gpasswd с флагом -d:
Код (Text):
[~]# gpasswd -d hoster1 hosters
Removing user hoster1 from group hosters
Заметьте, что после флага мы пишем имя пользователя а затем имя группы.
Командой gpasswd -a можно добавлять пользователей в группы . Но лично мне удобно добавлять пользователей вышеописанными командами, так как в них больше функций и они позволяют гибче добавлять пользователей в группы.
Удаляем пользователя:
Код (Text):
[~]# userdel -r hoster1
Флаг -r позволяет удалить home-директорию пользователя и его mail spool.
Удаляем группу:
Код (Text):
[~]# groupdel hosters
Помните, команда groupdel изменяет системные файлы учётных записей, удаляя все записи, относящиеся к группе. Группа с таким именем должна существовать. Вы не можете удалить группу, если она является первичной для существующего пользователя. Вы должны удалить пользователя из группы перед тем как удалять группу. Также, вы должны самостоятельно проверить все системные файлы, чтобы удостовериться в том, что больше никаких файлов не осталось в системе, принадлежащих удаляемой группе!
Все учетные записи пользователей в linux хранятся в текстовом файле /etc/passwd. Каждая строка файла содержит информацию об одной из учетных записей. Она содержит 7 полей, разделенных двоеточием:
Настройки прав доступа:
chown [-R] владелец:группа файл/папка
(пример: chown -R 0:0 folder/ установить владельца/группу = root рекурсивно )
chown -R harzah:harzah /media/VOLB
chmod [-R] права файл/папка
"-R" применить права рекурсивно ко всем файлам и подпапкам
примеры:
chmod -R 755 folder/
chmod 644 file
и т.д.
примеры:
chmod -R a+x folder/ выполнение для всех групп рекурсивно
chmod a+rx file чтение и выполнение для всех
chmod u+rx,g-rx file добавить чтение и выполнение для владельца, и
отозвать права для группы
chmod a+r,o= file добавить чтение для всех типов групп и отозвать
все права у всех других пользователей
Добавление пользователя:
useradd [опции] LOGIN
Некоторые из опций:
-d домашняя директория
-s шелл
-p пароль
-g (главная группа пользоватлея)
-G (Другие группы, к которым приндадлежит пользователь)
Настройки звука:
/etc/modprobe.d/alsa.conf
alias sound-slot-0 snd-cmipci
alias sound-slot-1 snd-usb-audio
alias sound-slot-2 snd-hda-intel
options snd-cmipci index=0 id="first"
options snd-usb-audio index=1 id="second"
options snd-hda-intel index=2 id="other"
cat /proc/asound/cards - показывает все звук. карты и их порядок.
lsmod - показывает загруженные модули ядра.
/etc/init.d/alsasound restart - рестарт звуковой подсистемы.
Inxi -A — показывает карты
В .asoundrc добавить
pcm.!default {
type plug
slave.pcm {
type hw
card 0
device 0
}
}
Для программного микширования
(чтобы проигрывались различные источники звука одновременно) в .asoundrc:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dsp0 {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.mixer0 {
type hw
card 0
}
Pulseaudio:
Установить pulseaudio, pavucontrol
Обновить mplayer - USE="pulseaudio" emerge -av mplayer
USE="pulseaudio" emerge -av vlc
USE="pulseaudio" emerge -av alsa-plugins
Решение проблем:
Если на маломощной машине возникают хрипы, то в /etc/pulse/daemon.conf пропишите следующее.
Файл: /etc/pulse/daemon.conf
high-priority = no
nice-level = -1
realtime-scheduling = yes
realtime-priority = 5
flat-volumes = no
resample-method = speex-float-1
default-sample-rate = 48000
Для того, чтобы pulseaudio смог сменить приоритет (nice) для процесса, следует убедиться в установке флага USE = realtime . Для этого добавьте строчку в /etc/portage/package.use:
Файл: /etc/portage/package.use
media-sound/ pulseaudio realtime
Прерывание воспроизведения в Amarok при запущенном Skype
Закомментируйте или удалите строчку в /etc/pulse/default.pa
Файл: /etc/pulse/default.pa
load-module module-cork-music-on-phone
Непомерное использование ресурсов процессора и искажения
Добавьте строчку в /etc/pulse/default.pa
Файл: /etc/pulse/default.pa
load-module module-udev-detect tsched=0
Низкий уровень звука/Тихий звук
Добавьте строчку в /etc/pulse/daemon.conf
Файл: /etc/pulse/daemon.conf
flat-volumes = no
Различные проблемы со Skype
Добавьте или раскомментируйте строчки в /etc/pulse/daemon.conf
Файл: /etc/pulse/daemon.conf
default-fragments = 4
default-fragment-size-msec = 25
в .asoundrc:
pcm.pulse { type pulse }
ctl.pulse { type pulse }
pcm.!default { type pulse }
ctl.!default { type pulse }
в smplayer:
чтобы проигрывались фильмы .mkv и тд...
Настройки » Настройки » Основные » Звук
Устройство вывода: pulseaudio
Каналы по умолчанию: 2(Стерео)
Удалить pulseaudio из зависимостей
Для отключения pulseaudio пропишите в /etc/portage/make.conf/custom
USE="-pulseaudio"
Для отключения mysql-зависимости в /etc/portage/package.use/custom
dev-qt/qtsql -mysql
Рутер:
http://192.168.0.1 cisco/cisco - WPA: old 234261822 new 235207770
Flash:
В /etc/adobe/mms.cfg нужно вписать "EnableLinuxHWVideoDecode=1" - флеш работает быстрее...
http://www.opera.com/docs/linux/plugins/install/#flash
locate libflashplayer.so, or
find / -name libflashplayer.so 2> /dev/null
and copy libflashplayer.so to /usr/lib/opera/plugins. A user without root access can copy the the plug-in to $HOME/.local/lib/opera/plugins.
Restart Opera.
Чтобы не было синего цвета тела в роликах:
Отключить аппаратное ускорение очень просто, делается это в настройках flash. Нужно кликнуть правой кнопкой мыши на видео, выбрать "Параметры..."
и снять галочку у пункта "Включить аппаратное ускорение": В комментариях тут поделились, что настройки работают, если развернуть плеер на весь экран.
В /etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=1
OverrideGPUValidation=true
Sudo:
sudo amdcccle - Catalyst в etc/sudoers
harzah ALL=(root)NOPASSWD: ALL
harzah ALL=(root) NOPASSWD: /usr/lib/xfce4/session/xfsm-shutdown-helper, /sbin/poweroff, /sbin/halt, /sbin/reboot (если XFCE не перезагружается нормально)...
Установленные программы:
панельки tint2 tintwizard screenlets transmission transmission-remote-gtk gpicview virtualbox-bin skype bleachbit vlc
сейчас:
transmission transmission-remote-gtk gpicview virtualbox-bin opera firefox-bin mhddfs unetbootin smplayer-skins faenza-xfce-icon-theme murrine-themes
в CLS:
sudo xfce4-meta lightdm abiword thunar xfce4-mixerxfce4-datetime-pluginxfce4-clipman-pluginxfce4-terminal alsa-utils alsa-tools adobe-flash calculate-xcursors xfwm4-themes qtgui (c USE ="gtkstyle") libmpeg3 smpeg2 gst-plugins-mpeg2enc libmatroska gst-plugins-faac gst-plugins-vaapi gst-plugins-voaacenc libaacplus alsa-plugins ntfs3g ntp xarchiver smplayer gnome-calculator
AMD Catalyst:
USE="qt4" emerge -av ati-drivers
USE="gtkstyle" emerge -av qt-gui
Менеджер дисплеев » Несколько дисплеев » Рабочий стол на несколько дисплеев с дисплеем(-ями) 2
Темы:
Настройки темы теперь находятся в самой теме, здесь все темы: /usr/share/themes
можно использовать .themes в домашней папке. В папке темы (например MurrezaSilver)
должна быть папка не только gtk-2.0, но и gtk-3.0 и другие... для того, чтобы работала в других стилях...
emerge -av x11-themes/murrine-themes
emerge -av x11-themes/faenza-xfce-icon-theme (Faenza-Dark)
emerge -av x11-themes/faenza-icon-theme
emerge -av x11-themes/gnome-themes-standard (для gtk3)
/home/harzah/.config/gtk-3.0/settings.ini
[Settings]
gtk-font-name=Droid Sans 8
gtk-theme-name=MurrezaSilver
gtk-icon-theme-name=faenza
gtk-fallback-icon-theme=faenza
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-menu-images=0
gtk-button-images=0
в файле /home/user/.gtkrc-2.0:
style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 10
base[NORMAL] = "#000000"
base[SELECTED] = "#71B9FF"
base[ACTIVE] = "#71FFAD"
fg[NORMAL] = "#ffffff"
fg[SELECTED] = "#71B9FF"
fg[ACTIVE] = "#71FFAD"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
gtk-theme-name="MurrezaSilver"
в файле /usr/share/themes/MurrezaSilver/gtk-2.0/gtkrc
style "theme-scrollbar"
{
bg[SELECTED] = "#E6E6E6"
GtkRange ::trough-border = 3
engine "murrine" {
highlight_shade = 1.03
}
}
изменить цвет на 505050, тогда цвет скроллбара будет как у меню (темно-серым).
для QT:
qtconfig — настройка qt-шных программ.
В /home/user/.profile добавить:
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
Virtualbox:
Добавить себя в группу vboxusers - gpasswd -a user vboxusers
Теперь надо emerge @module-rebuild делать после обновления
######################### То что ниже делать уже не нужно, достаточно обновить модули ##########################
если virtualbox не bin, то: в /etc/conf.d/modules
modules_3="vboxdrv vboxnetadp vboxnetflt …
Звук работает, если установлен pulseaudio
Если ядро обновили, а модули нет (module-rebuild -X rebuild сделать забыли), то к текущему ядру установлено модулей не будет.
На всякий случай убедимся, что модули в системе видны:
# modprobe -l | grep '^misc/vb'
misc/vboxpci.ko
misc/vboxnetflt.ko
misc/vboxdrv.ko
misc/vboxnetadp.ko
и проверим какие загружены
lsmod | grep ^vb
чтоб прямо сейчас работать загрузим все модули VBox-а
# modprobe -va `modprobe -l | grep '^misc/vb'| xargs -n1 -iX basename X .ko`
insmod /lib/modules/3.3.5-calculate/misc/vboxdrv.ko
insmod /lib/modules/3.3.5-calculate/misc/vboxpci.ko
insmod /lib/modules/3.3.5-calculate/misc/vboxnetflt.ko
insmod /lib/modules/3.3.5-calculate/misc/vboxnetadp.ko
И пропишем их в автозапуск. Это лучше делать вручную, но можно так как показано ниже (запускать один раз)
# echo 'modules_3="${modules_3} '$(modprobe -l | \
grep '^misc/vb'| xargs -n1 -iX basename X .ko)'"' | \
tee -a /etc/conf.d/modules
####################### Конец ###############################
Как увеличить размер диска VirtualBox
В этой статье я расскажу, как можно увеличить размер диска VirtualBox без переустановки операционной системы.
Шаг 1. - Создаем новый диск средствами менеджера виртуальных носителей с нужным нам размером (имя например mnogo.vdi).
Шаг 2. Отключаем (но не удаляем!) диск На котором осталось мало места.(malo.vdi)
Шаг 3. Выполняем из командной строки
VBoxManage clonehd malo.vdi mnogo.vdi --existing
После этого мы получим клон меньшего диска в большем, а свободное место большего диска превратилось в нераспределенное дисковое пространство, которое можно использовать любым менеджером дисковых разделов например acronis disk director.
Настройка X11
/etc/X11/xorg.conf.d — клавиатура
# Keyboard settings
Section "InputClass"
Identifier "keyboard"
Driver "evdev"
Option "Protocol" "event"
MatchIsKeyboard "1"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:switch,grp:ctrl_shift_toggle,grp_led:scroll"
EndSection
Настройка двух мониторов:
harzah@calculate ~ $ xrandr --screen 0 --fb 2640x1024
- Это такая виртуальная область, где мы можем располагать наши мониторы.
harzah@calculate ~ $ xrandr --output DVI-0 --mode 1280x1024
- разрешение монитора
harzah@calculate ~ $ xrandr --output VGA-0 --mode 1360x768
- разрешение монитора
harzah@calculate ~ $ xrandr --output DVI-0 --left-of VGA-0
или для acer
xrandr --output DVI-I-1 --left-of HDMI-1 #слева от HDMI
xrandr --output HDMI-1 --pos 1366x0 #точное позиционирование
для ноутбука:
xrandr --output LVDS1 --left-of VGA1
- Расширяем экран на два монитора DVI-0 слева от VGA-0
Остальные настройки на: http://blog.lisss.ru/archives/43
Буфер обмена в XFCE
2.Проблема с буфером обмена. Бывает так, что текст в буфер обмена просто внаглую не копируется,
и вместо нового вставляется старый текст, который раньше до этого был в нем.
Решение:
Правой кнопкой мыши по иконке буфера обмена (Clipman) -> "Свойства" -> снять галку c "Автокопирование".
Yandex.Диск
Открываем Thunar и в адресной строке пишем URL: davs://webdav.yandex.ru/
В системе обязательно должны быть установлены пакеты gvfs, davfs
mkdir /home/user/YaDisk
useradd -g davfs2 -G root davfs2
mount -t davfs https://webdav.yandex.ru:443/ /home/user/YaDisk
В fstab:
https://webdav.yandex.ru /media/yandex.disk davfs rw,user,_netdev 0 0
После при загрузке в терминале: sudo mount -a (чтобы ввести пароль).
В /etc/davfs2/secrets
/media/webdav Yandex_login Yandex_password
Примечание. Пароль в этом файле хранится в открытом виде. Я не сторонник хранить пароли в открытом виде где бы то ни было. Если в файле secrets пароль не указывать (а указать только логин), то при монтировании Яндекс.Диска пароль будет запрошен интерактивно. Я рекомендую подключаться именно так.
Выполнение скрипта в терминале
#! /bin/bash
terminal
sudo mount -a
Открывается терминал, а в нём выполняется команда.
Скрипт нужно сделать выполняемым и поместить в любое место.
XFCE настройки:
/usr/share/icons
/usr/share/themes
/usr/share/backgrounds
Настройка для SSD-дисков:
SSD
ssd Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей, отключается последовательная запись файлов. Эта опция включается автоматически, если вращение диска = 0. Не влечет за собой включения параметров TRIM/discard.
ssd_spread Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD. (Переводит систему в режим «лого-структурированной FS»)
UUID=fdd87cfe-d1df-414a-b2cb-50683a237c56 /mnt/Elements ext4 exec,auto,rw,user,async,suid,atime 0 0
UUID=6a3fb245-134b-443c-b246-6315c7031910 /mnt/DATA ext4 exec,auto,rw,user,async,suid,atime 0 0
UUID=5db47fed-13fa-47cf-a6ff-540c51005f96 /mnt/Intenso ext4 exec,auto,rw,user,async,suid,atime 0 0
Временные файлы
Постоянная запись временных данных на SSD не пойдет ему на пользу, поэтому добавляем в /etc/fstab следующие строки:
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/spool/postfix tmpfs defaults 0 0
Время последнего доступа к файлам
По-умолчанию, каждый раз, когда мы обращаемся к какому-либо файлу, пишется информация, про время, когда мы его открывали. Понятно, что на SSD это не нужно, да и вообще негативно влияет на производительность дисковой подсистемы.
Нужно добавить некоторые дополнительные опции. Я добавил noatime, nodiratime и discard.
discard - Включает технологию TRIM, которая распределяет нагрузку на SSD
noatime и nodiratime - Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам
/dev/sdc1 / ext4 noatime,nodiratime,discard,errors=remount-ro 0 1
Отложенная запись
SSD может пребывать только в 2-х режимах - active и suspend. Когда он active - он кушает много энергии, когда в suspend - мало. Поэтому сейчас увеличиваем время нахождения SSD в suspend режиме:
Добавляем параметр
vm.laptop_mode=5
в /etc/sysctl.conf.
Работая в таком режиме, ядро будет по возможности откладывать запись на диск, пока в этом не появится неотложная необходимость. Все буферы, требующие сброса себя на диск, будут терпеливо ожидать своей очереди.
Увеличить перерыв между записями на диск можно также с помощью поднятия таймаута между сбросом «грязных» буферов (части файлов, измененные программой или пользователем, но еще не записанные на диск). По умолчанию, таймаут равняется 5 секундам, увеличим его до 150.
ВНИМАНИЕ: Внезапное выключение ноутбука в этот таймаут приведет к потере незаписанных данных!
Добавляем в /etc/sysctl.conf строку:
vm.dirty_writeback_centisecs = 15000
Постоянная запись журнала на SSD также не идет ему на пользу, поэтому комментируем все журналы в
/etc/syslogd/syslogd.conf (/etc/syslog-ng/syslog-ng.conf)
в ядрах 2.6 ветки есть параметр swappiness - он определяет количество свободно памяти в % при котором система начинает "свопить".
дефолтное значение 60 - это много и для SSD (просто износится раньше - вспомните readyboost в висте-тот же своп на флэш носитель-флэшка умирает через несколько месяцев) и для медленных "железных" винтов, да и зачем свопить если памяти больше половины свободно?ведь это лишний раз нагружает ввод-вывод и скорость чтения-записи резко падает.
т.е. если память забита и мы запускаем программу (особенно большую) винту приходится одновременно и считывать библиотеки и данные для запускаемой программы и записывать в своп "устаревшие" страницы - отсюда долгие запуски софта и снижение отзывчивости системы.
выход: в
/etc/sysctl.conf
добавляем строчку
vm.swappiness=10 (например)
I/O Scheduler
Для обычных жестких дисков по умолчанию используется логика, которая упорядочивает движение головки под диску, изменяя последовательность записываемых данных. Для SSD это не нужно, поэтому будет весьма разумно выбрать noop в качестве i/o scheduler'а. Это можно сделать выбрать непосредственно в конфиге ядра или передать опцию elevator=noop через груб на этапе загрузки ядра. Или даже через /sys.
Сеть:
http://balagur.blogspot.com/2009/12/intel-corporation-82572ei-gigabit.html
Для этого адаптера подходит драйвер e1000e. Взять можно с его домашней страницы: http://sourceforge.net/projects/e1000/
. Распаковываем архив:
# cd ~/
# tar -xzvf e1000e-x.x.x.x.tar.gz
Вместо x.x.x.x будет номер текущей версии драйвера
4. Собираем драйвер
# cd ~/e1000e-x.x.x.x/src
# make install
# modprobe e1000e
Перегружаемся. Карты должны работать.
Nvidia
cl-setup-video —video=nvidia
eselect opengl set nvidia
eselect opencl set nvidia
TimeZone:
Чтобы поменять timezone в Linux нужно проделать следующее:
1. Зайдите под рутом и убедитесь, что текущая зона отличается от нужной выполнив команду date.
2. cd /usr/share/zoneinfo. Здесь вы сможете найти список доступных часовых поясов.
3. Создайте символическую ссылку на нужную зону, например:
ln -sf /usr/share/zoneinfo/Europe/Tallinn /etc/localtime
6. Установите ZONE в файле /etc/conf.d/timezone (например, "Europe/Tallinn")
7. Синхронизируйте хардварные часы:
/sbin/hwclock —systohc
Fdisk
Загрузка с BOOTCD и создание нового раздела с помощью fdisk:
root@sysresccd /root % fdisk /dev/sda
Command (m for help):
Command (m for help): p
Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00050057
Device Boot Start End Blocks Id System
/dev/sda1 * 63 208844 104391 83 Linux
/dev/sda2 208845 16771859 8281507+ 8e Linux LVM
lsblk — команда показывает в удобном виде все диски и разделы
Создаем раздел:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4, default 3):
Using default value 3
First sector (16771860-33554431, default 16771860):
Using default value 16771860
Last sector, +sectors or +size{K,M,G} (16771860-33554431, default 33554431):
Using default value 33554431
Rsync
http://opennet.ru/man.shtml?topic=rsync&category=1&russian=0
rsync -aP --stats --ignore-existing --delete /mnt/Home/ /mnt/Backup #откуда => куда
В чем разница между командами? Разница в косой черте, завершающей аргумент источника копирования. Если аргумент завершается косой чертой, копируется содержимое указанной директории, но не сама директория. Наличие косой черты в конце адреса назначения не играет никакой роли.
Ключи:
-a, --archive —архивный режим, эквивалент для -rlptgoD
e — заменяет протокол с rsh на ssh
--ignore-existing - пропускать те файлы, которые уже существуют на приемной стороне
--delete - удалять файлы, которых нет на передающей стороне
--progress — вывод хода процесса работы на терминал
--stats - выдавать статистику по передаче файлов
l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься
z — использовать сжатие
u — update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере
o — установить владельца конечного файла таким же, как и у исходного
g — установить группу конечного файла таким же, как и у исходного
t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
h — вывод информации на терминал в удобном для чтения (human-readable) виде
v — verbose. Вывод сообщений в терминал.
r — рекурсивный режим
n — отладочный режим
compress-level — уровень сжатия
delete-after — удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхранизации. Так-же есть delete-before, delete-during, delete-excluded и просто delete
отладочный режим:
Перед тем как запустить скрипт на рабочей машине, опробуйте всё в отладочном режиме, для этого используется ключь “-n”. В этом случае, rsync
не будет менять или удалять файлы, но покажет, весь ход работы.
исключение файлов:
RSync может как исключать, так и включать файлы, по заданному шаблону. Например —exclude *.run исключит все файлы с расширением run.
mmhdfs
файловая система в Linux, работающая через FUSE, и позволяющая объединять несколько файловых систем в одну. Файловая система работает не только на чтение, но и на запись, при этом не размазывает файлы по разным файловым системам, а находит, где файл сейчас разместить было бы оптимальнее.
Смонтировать три каталога в один:
%# mhddfs /mnt/diskA,/mnt/diskB,/mnt/diskC /mnt/diskABC -o allow_other,mlimit=6g
Размонтировать:
fusermount -u /mnt/diskABC
sudo mhddfs /mnt/Elements,/mnt/DATA /mnt/Backup -o allow_other #в сеансы xfce как команду, всё загружается на старте системы...
sudo mhddfs /mnt/Intenso,/home/harzah /mnt/Home -o allow_other
новое:
mkdir /mnt/Samsung /mnt/DATA /mnt/Intenso /mnt/Backup /mnt/Home
sudo mhddfs /mnt/Samsung,/mnt/DATA /mnt/Backup -o allow_other
Использование UUID
1. Применять идентификаторы дисков, будем в файле /etc/fstab, который отвечает за монтирование устройств при загрузке системы.
В зависимости от файловой системы, используемой на диске, меняется и UUID (в нашем случае ext3 = 16 байтный номер, а fat32 = пара четырехзначных чисел).
Узнать UUID устройства можно, как минимум, двумя способами. Первый:
$sudo blkid
вам будет выведен список всех устройств с их UUID и типом файловой системы.
Второй способ:
$ls -l /dev/disk/by-uuid/
Как по мне, первый более информативен.
UUID=027807d7-f113-429e-b12a-52b7ded41224 /mnt/Samsung ext4 exec,auto,rw,user,async,suid,atime 0 0
UUID=6a3fb245-134b-443c-b246-6315c7031910 /mnt/DATA ext4 exec,auto,rw,user,async,suid,atime 0 0
UUID=5db47fed-13fa-47cf-a6ff-540c51005f96 /mnt/Intenso ext4 exec,auto,rw,user,async,suid,atime 0 0
Переименование папок в домашней директории с кирилицы на латиницу
Переименовываем папки с русских букв на английские, на пример:
Рабочий стол - Desktop
Документы — Documents
Загрузки - Downloads
Картинки - Images
Музыка - Music
Видео - Video
Шаблоны - Temp
Общедоступная - Share
Открываем файл .config/user-dirs.dirs Папка .config находиться в домашней папке пользователя и так как имеет в начале точку - то это означает что папка скрытая. Потому чтобы её увидеть в дельфине нужно включить режим отображения скрытых файлов, это делается нажатием "Alt + ." (Альт и точка).
Ну и прописываем в открытом файле новые пути.
XDG_DESKTOP_DIR="$HOME/"
XDG_DOCUMENTS_DIR="/home/harzah/Documents"
XDG_DOWNLOAD_DIR="/home/harzah/Downloads"
XDG_MUSIC_DIR="/home/harzah/Music"
XDG_PICTURES_DIR="/home/harzah/Images"
XDG_PUBLICSHARE_DIR="/home/harzah/Share"
XDG_TEMPLATES_DIR="/home/harzah/Temp"
XDG_VIDEOS_DIR="/home/harzah/Video"
Монтирование в fstab
Общие Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) - например, опция sync сегодня имеет силу только для ext2, ext3, fat, vfat и ufs
sync / async Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно.
atime Производить запись времени последнего доступа к файлу. Значение по умолчанию.
noatime Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей).
relatime Обновлять время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов)
norelatime Не включать функцию relatime (например, для систем, в которых эта функция включена по умолчанию, для более подробной информации см. параметры монтирования в /proc/mounts).
strictatime Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime.
nostrictatime Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию.
auto / noauto При auto устройство будет устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. Если вы не хотите, чтобы устройство устанавливалось автоматически, используйте параметр noauto.
defaults Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async.
dev / nodev Интерпретировать/не интерпретировать блок специальных устройств на файловой системе.
diratime / nodiratime Обновлять/не обновлять время доступа к каталогу структуры данных. По умолчанию установлено diratime
dirsync Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename.
exec / noexec exec позволяет выполнять двоичные файлы, которые находятся на этом раздел, в то время как noexec не позволяет этого делать. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела.
group Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid).
encryption Определяет используемый алгоритм шифрования. Используется в сочетании с опцией loop.
keybits Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption.
nofail В случае отсутствия устройства не сообщать об ошибке.
iversion Номер версии структуры данных увеличивается каждый раз, когда структура данных изменяется.
noiversion Номер версии структуры данных не увеличивается при изменении структуры данных.
mand Разрешает принудительное блокирование файловой системы.
nomand Не разрешает принудительное блокирование файловой системы.
_netdev Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети.
suid / nosuid Разрешает использование битовых идентификаторов пользователей или групп / Запрещает использование битовых идентификаторов пользователей или групп. (Это достаточно небезопасно, особенно, если установлен suidperl).
owner Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev).
ro Монтировать только для чтения.
rw Монтирование файловой системы для чтения и записи.
user / nouser user - разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию).
users Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev).
Mysql
http://onvld.ya.ru/replies.xml?item_no=126
SELECT CONCAT('RENAME TABLE ',table_name,' TO ','ваш_новый_префикс_',substring_index(table_name,'_',-5),';') AS query_to_run
FROM information_schema.TABLES
WHERE table_schema = 'ваша БД'
результат запроса можно скопировать и выполнить в phpMyAdmn
RENAME TABLE old_table TO new_table;
Цифра -5 даёт возможность указывать, сколько ещё может быть подчёркиваний у таблицы. Например, в Друпале таблицы вида: node_comment_statistic не редкость. И если указать -1, то обрежется и будет префикс_statistic.
Это всё лучше и быстрее, чем редактировать саму базу данных и проще, чем вышеизложенный (в заметке) вариант.
Вывод получается таким:
RENAME TABLE oldpref_sequences TO newpref_oldpref_sequences;
копируем этот вывод в любой текстовой редактор. Найти newpref_oldpref_ Заменить на superpref_ и всё… дальше полученное вставляем в SQL поле PhpMyAdmin и наша задача решена без всяких сложностей и хлопот…
Языковые проблемы с нейтральным языком, можно поменять в базе данных:
und - нейтральный
UPDATE node SET language = 'en' WHERE language = 'und';
%F-%T-@DATABASE@ - сохраняет файл типа ДАТА-ВРЕМЯ-НАЗВАНИЕ БАЗЫ ДАННЫХ
Drupal
http://www.drupal.ru/node/29562
Переход от публичной к приватной файловой системе на Drupal 6
1. На странице admin/settings/file-system меняем путь к файловой система с sites/default/files на /var/www/my_site/data/files. Указанная папка должна существовать и быть доступной для записи в неё файлов сайтом.
2. На той же странице выбираем метод загрузки Приватный. И нажимаем «Сохранить настройки».
3. Копируем файлы из папки sites/default/files в новое место /var/www/my_site/data/files.
4. Меняем путь к файлам в таблице files
UPDATE files SET filepath = REPLACE(filepath, 'sites/default/files', '/var/www/my_site/data/files');
Меняем путь к загруженным файлам в node_revisions
UPDATE node_revisions SET body = REPLACE(body, '/sites/default/files', '/system/files');
UPDATE node_revisions SET teaser = REPLACE(teaser, '/sites/default/files', '/system/files');
Меняем путь к аватарам пользователя
UPDATE users SET picture = REPLACE(picture, 'sites/default/files', '/var/www/my_site/data/files');
/admin/user/settings — меняем настройку по умолчанию для анонимных комментаторов
И в конце не забываем почистить кэш на странице admin/settings/performance.
Чистые ссылки на локалхосте
Должно быть обязательно:
AllowOverride All
Drush
переходим в папку с Drupal, команда:
Chrome Remote Desktop
https://chrome.google.com/webstore/detail/chrome-remote-desktop/
для доступа к компам в Linux и Windows
Узнать сколько места в системе
От пользователя показывает лучше, чем от рута
du --si --max-depth=1
Освободить лишнее место на диске
удалить всё из /var/calculate/remote/distfiles и /var/calculate/remote/packages
и
tune2fs -m 0 /dev/sd* (указать ваш корень)
освободит место, зарезервированное для рута, это около 4-7% от размера диска.
Настройка conky
чтобы использовать задержку при автозагрузке в xfce
создаем загрузочный файл conky.sh, делаем его исполняемым и прописываем в него:
#!/bin/sh(sleep 5 && conky)
помещаем этот файл в автозагрузку...
ниже файл .conkyrc
alignment top_right
background yes
border_width 0
gap_x 50
gap_y 2
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=10
minimum_size 250 963
maximum_width 250
net_avg_samples 2
no_buffers yes
double_buffer yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
xftalpha 0.5
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no
TEXT
#${image /home/harzah/hq-wallpapers_ru_space_4111_1280x1024.jpg}
#${alignc 55}${font Arial Black:size=26}${time %H:%M:%S}${font}
#${alignc}${time %A %d %B %Y}
${color ffffff}${alignc 40}${font URW Gothic L:size=32}${time %k:%M:%S}${font}
${alignc}${time %A %d,%B %Yг}${color}
${color red}Компьютер:$color
${execi 99999 cat /proc/cpuinfo | grep "model name" -m1 | cut -d":" -f2 | cut -d" " -f2- | sed 's#Processor ##'}${font}
$hr
${color red}Ядро:
${color lightgrey}$kernel - $machine
$hr
${color red}Время работы:$color $uptime
${voffset -25}${cpugraph cpu0 50,120 000033 3299cc}${alignr}${cpugraph cpu1 50,120 000033 3299cc}
${voffset -60}
${color6}${goto 30}CPU1${goto 80}${color2}${cpu cpu0}%${goto 160}${color6}CPU2${color2}${goto 210}${cpu cpu1}%
#Озу
${color red}Частота процессора:
${color lightgrey} (in MHz):$color $freq
${color lightgrey} (in GHz):$color $freq_g
$hr
${color red}Оперативная память:
$color $mem/$memmax - $memperc% ${membar 6}
$hr
${color red}Своп:
$color $swap/$swapmax - $swapperc% ${swapbar 6}
$hr
#${color red}CPU Usage:
#${color lightgrey}CPU 1: ${cpu cpu0}%${alignr}${cpubar cpu0 8,150}
#${color lightgrey}CPU 2: ${cpu cpu1}%${alignr}${cpubar cpu1 8,150}
#$hr
${color red}Процессы:$color $processes
${color red}Исполняются:$color $running_processes
$hr
${color red}Файловая системв:
${color lightgrey} / $color${fs_used /}/${fs_size /} ${fs_bar 8 /}
$hr
${color red}Сеть:
${color lightgrey} Отдано:$color ${upspeed net}
${color lightgrey} Получено:$color ${downspeed net}
$hr
${color red} Имя PID ЦП% ОЗУ%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color lightgrey} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
${color lightgrey} ${top name 6} ${top pid 6} ${top cpu 6} ${top mem 6}
${color lightgrey} ${top name 7} ${top pid 7} ${top cpu 7} ${top mem 7}
${color lightgrey} ${top name 8} ${top pid 8} ${top cpu 8} ${top mem 8}
${color lightgrey} ${top name 9} ${top pid 9} ${top cpu 9} ${top mem 9}
настройка Xubuntu в Virtualbox
Сначала добавляем в Virtualbox'е папку Home, а потом в терминале даём команду:
sudo mount -t vboxsf -o rw,uid=1000 Home /home/xubuntu/Public
чтобы не прописывать при каждой загрузке, помещаем в
sudo leafpad /etc/rc.local
exit 0
эту команду:
sudo mount.vboxsf -o rw,uid=1000 Home /home/xubuntu/Public
Для настроек Апача TurnKey лучше делать так:
mkdir /var/www/httpd
mount -t vboxsf -o rw,uid=0 httpd /var/www/httpd
название Папки в Virtualbox httpd (не устанавливать автоматическое подключение).
настройка без Xorg модулей ядра в Ubuntu
apt-get update
apt-get install build-essential (в некоторых дистрибутивах не нужно)
apt-get install dkms
apt-get install linux-headers (выбираем для своей версии ядра)
Смотрим версию ядра: uname -r
Далее подключаем диск (в меню работающей машины Virtualbox): Устройства — Подключить образ диска Дополнений гостевой ОС
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
sh VboxLinuxAdditions.run
Добавление в автозагрузку Debian
http://g13.org.ua/монтирование-сетевого-диска-с-автоза
Скрипт будет называться, как папка, но его можно поменять на свое.
# nano /etc/init.d/wd
Делаем его исполняемым:
# chmod +x wd
В созданный файл вставим следующий код:
#! /bin/sh
### BEGIN INIT INFO
# Provides: wd
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Map network drives
# Description: Map network drives
### END INIT INFO
mount -t cifs -o username=Guest //192.168.0.113/Files /wd/Files/
mount -t cifs -o username=Guest //192.168.0.113/Download /wd/Download/
mount -t cifs -o username=Guest //192.168.0.113/Public /wd/Public/
Теперь нужно этот скрипт добавить в автозапуск. Тут тоже ничего сложного:
update-rc.d wd defaults
reboot
Мой скрипт:
/etc/init.d/vboxmount
#!/bin/sh
### BEGIN INIT INFO ###
# Provides: vboxmount
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: VBox Mount
# Description: VirtualBox Mount
### END INIT INFO ###
mount -t vboxsf -o rw,uid=0 httpd /var/www/httpd
Синхронизация контактов с Google
Проблема:
Для синхронизации ваших телефонных контактов с google вам нужно, чтобы в телефонной книге эти контакты имели тип google. Если же вы уже перенесли все контакты с предыдущего телефона и они у вас имеют какой-то другой тип, то синхронизировать их таким образом не получится. Вторая проблема состоит в том, что и тип контакта, просто редактируя его сменить нельзя. Можно только удалить существующий контакт и создать его повторно, присвоив нужны тип.
Решение:
Экспортируем наши контакты на SD-карту, затем с нее импортируем уже в гугл-контакты.
Grub и Plymouth
Чтобы отключить plymouth надо в etc/default/grub убрать из строки GRUB_CMDLINE_LINUX значение splash
потом под рутом (но не sudo) дать команду для перезаписи конфига grub:
grub-mkconfig -o /boot/grub/grub.cfg
Настройка точного времени (ntpd)
http://www.ntp-servers.net/setup/linux.html
от рута:
emerge -av net-misc/ntp ###### устанавливаем
/etc/init.d/ntpd start ########## запускаем
rc-update add ntpd default #### устанавливаем по умолчанию
Как скачать файлы списком?
В операционной системе Linux, я бы воспользовался очень полезной утилитой wget.
Сохранив файл со списком себе на диск, просто выполнил бы команду
wget -i файл-список.txt
если установлена aria2, то:
aria2c -Z --input-file=/mnt/Home/Share/Serials/Lico_Analii/Ispanskie.urls --dir=/mnt/Home/Share/Serials/Lico_Analii/Ispanskie
-Z – говорит что все файлы в списке разные
--input-file – аналог -i
--dir= - куда скачивать
i2p
i2prouter start – включить рутер i2p
Службы в Calculate
http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=2&chap=4
Сценарии, запускаемые процессом rc, называются сценариями инициализации. Каждый сценарий из /etc/init.d может запускаться с аргументами start, stop, restart, zap, status, ineed, iuse, needsme, usesme и broken.
Для запуска, остановки или перезапуска службы (и всех, зависящих от нее) следует использовать start, stop и restart:
Добавление и удаление служб
В процессе установки Gentoo вы уже добавляли сценарии инициализации в уровень запуска «default». В тот момент вы, возможно, не имели понятия, что такое «default» и зачем он нужен, но теперь вы все это знаете. Сценарию rc-update требуется второй аргумент, определяющий действие: add (добавить), del (удалить) или show (показать).
Для того, чтобы добавить или удалить сценарий, просто введите rc-update с аргументом add или del, затем название сценария и уровня запуска. Например:
rc-update del postfix default
По команде rc-update -v show выводится список всех доступных сценариев с указанием соответствующих уровней запуска:
r c-update -v show
Вы также можете запустить rc-update show (без -v) чтобы просто просмотреть включенные инициализационные скрипты и их уровни запуска.
Добавление и удаление служб
В процессе установки Calculate вы могли добавлять сценарии инициализации в уровень запуска "default". В тот момент вы, возможно, не имели понятия, что такое "default" и зачем он нужен, но теперь вы это знаете. Сценарию rc-update требуется второй аргумент, определяющий действие: add(добавить), del (удалить) или show (показать).
Для того, чтобы добавить или удалить сценарий, просто введите rc-update с аргументом add или del, затем название сценария и уровня запуска. Пример удаления Postfix из уровня запуска default:
rc-update del postfix default
По команде rc-update show выводится список всех доступных сценариев с указанием соответствующих уровней запуска. Пример получения информации о сценариях инициализации:
rc-update show
Работа со сценариями инициализации
Сценарии, запускаемые процессом rc, называются сценариями инициализации. Каждый сценарий из /etc/init.d может запускаться с аргументами start, stop, restart, pause, zap, status, ineed, iuse, needsme, usesme и broken.
Для запуска, остановки или перезапуска службы (и всех, зависящих от нее) следует использовать start, stop и restart. Пример запуска postfix:
/etc/init.d/postfix start
Примечание: Останавливаются или перезапускаются только те службы, которым необходима данная служба. Остальные зависимые службы (те, которые используют службу, но не нуждаются в ней) эта операция не затрагивает.
Если вы хотите остановить службу, но оставить зависимые от нее работающими, можно использовать аргумент pause. Пример:
/etc/init.d/postfix pause
Чтобы узнать текущее состояние службы (запущена, остановлена, приостановлена и т.д.), можно использовать аргумент status. Пример:
/etc/init.d/postfix status
nm-applet
1) Правим строку Exec в файле /etc/xdg/autostart/nm-applet.desktop - приводим к виду Exec=/bin/bash -c "sleep 2;nm-applet"
2) Правим строку NotShowIn=KDE;XFCE; - убираем XFCE
3) Правим строку NoDisplay в файле /etc/xdg/autostart/nm-applet.desktop - приводим к виду NoDisplay=false
В консоли выполняем для добавления службы: rc-update add NetworkManager default
Размаскировываем пакеты (чтобы в мире была более новая версия)
Например, более новую версию virtualbox:
emerge --autounmask-write =app-emulation/virtualbox-bin-5.0.8.103449
Потом обязательно dispatch-conf и нажимаем u для применения изменений...
Увеличиваем скорость записи на flash-накопители и избавляемся от тормозов системы при копировании на них.
На компьютере с четырьмя гигабайтами оперативной памяти и двухядерным процессором в операционной системе Debian 6 наблюдались жуткие тормоза при копировании относительно больших файлов на флешки. Например при копировании файла размером 700 Мб процесс копирования достаточно быстро доходил до 70%, затем три минуты копировались оставшиееся 30%, при этом наблюдались жуткие тормоза. Как я понял, под дисковый кэш линукс отдает практически всю свободную память. У ядра есть буфер файловой системы, когда пишем много данных этот буфер заполняется, а потом уже происходит сброс на носитель. И, получается, что первые 70% процесса копирования фильма - быстрое копирование в буфер, после семидесяти процентов процесса копирования начинался непосредственный сброс кучи данных из буфера на флешку, при этом вся остальная работа встает, так как оперативная память занята, пока не окончится сброс на медленную флешку, в т.е. наблюдаем тормоза и слайд-шоу на экране. Ситуацию можно исправить уменьшением буфера. Я ограничил четырьмя мегабайтами (можете поэкспериментировать):
echo 4194304 > /proc/sys/vm/dirty_bytes
echo 4194304 > /proc/sys/vm/dirty_background_bytes
А теперь сохраним эти параметры, чтоб не слетело после перезагрузки. Откроем /etc/sysctl.conf:
nano /etc/sysctl.conf
и добавим туда строки:
vm.dirty_bytes = 4194304
vm.dirty_background_bytes = 4194304
Сохраняем измененный файл и сохраняем внесенные параметры командой:
sysctl -p
Перекодировка файлов в UTF-8
enconv -x UTF-8 somefile.txt
Перекодирует прямо в файле, так что лучше создать резервную копию.
Копировать файлы поблочно
(например для записи образа на флешку):
dcfldd if=/образ_файла.iso of=/dev/sdX # флешка, точный адрес посмотреть через lsblk или Gparted
Настройка сети
Настройка сети для libvirt
/etc/conf.d/net
config_eth0="192.168.0.2/24"
bridge_br0=""
config_br0="192.168.11.1/24"
bridge_forward_delay_br0=0
bridge_hello_time_br0=1000
bridge_stp_state_br0=0
Вариант - через NAT на хост-системе. Ручная настройка в режиме пошагового тестирования и проверки
Определим что контейнере будут располагаться в отдельном сегменте, 192.168.100.xxx:
# Настройка сети (Прописать в файл конфигурации контейнера /var/calculate/lxc/cldx/config)
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 192.168.100.2/24 192.168.100.255
На хост-системе выполняем:
Сборка моста - создание интерфейса моста br0 (иное название допустимо)
$ sudo brctl addbr br0
Присвоение "серого" статического IPv4 адреса, мосту, он будет как-бы шлюзом, для наших контейнеров:
ifconfig br0 192.168.100.1 netmask 255.255.255.0 promisc up
Включение NAT
Выполнить echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
В контейнере выполняем:
ifconfig eth0 192.168.100.2 netmask 255.255.255.0 up
если статический адрес не был присвоен ранее, в конфигурационном файле контейнера.
смотрим
ifconfig
Выясним доступен ли бридж
ping 192.168.100.1
Бридж должен быть доступен.
На хосте выполняем:
ping 192.168.100.2
Контейнер должен быть доступен.
Добавление в контейнере маршрута по умолчанию
route add default gw 192.168.100.1
После этого, при наличии сети Интернет на хост-системе, он будет доступен и в контейнере. Т.е. NAT включен, но до момента выключения контейнера. Чтобы настройки сети сохранились надо сделать следующее.
Указать сетевые настройки в конфигурационном файле контейнера.
Отредактировать файл /etc/networks в корневой файловой системе контейнера, можно изнутри контейнера
nano /etc/networks
auto eth0
iface eth0 inet static
address 192.168.100.2
netmask 255.255.255.0
gateway 192.168.100.1
ln -s /etc/init.d/net.lo /etc/init.d/net.br0
/etc/init.d/net.br0 start
Включение сервисов (службы) и помещение их в автозагрузку
rc-update add libvirtd
/etc/init.d/libvirtd start
Запуск сервера виртуальных машин
Добавим модуль tun в автозагрузку
echo tun > /etc/modules-load.d/libvirt.conf
Если нет tun для виртуалки
mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 666 /dev/net/tun
VirtualBox vdi преобразуем в формат qcow2 QEMU
qemu-img convert -f vdi -O qcow2 myvm.vdi myvm.qcow2
Просмотр места на диске и удаление папок и файлов
Программа ncdu (консольная, но очень удобная)
команда: d — удалить
команда: q - выход
########## конец ##############
Спасиб, это давно известно...
Спасиб, это давно известно.... ????