==== Полезняшки ====
остановка ядра
sudo /etc/init.d/ackerneld stop
----
запуск ядра
/etc /init.d/ackerneld start
----
быстрый перезапуск ядра
sudo killall ackernel2
----
настройка ядра
/opt /ac/ackernel2 -config
----
просмотр логов онлайн
tail -f /opt /ac/ackernel2.log
----
подключение по vnc
vncviewer 192.168.0.151
для подключения к венде устанавливаем vnc, realvnc.com
----
"вспомнить" команду, которую уже набирал
Нажмите CTRL+r в bash и вводите слова из команды, которую хотите вспомнить
вариант
history | grep 'часть команды'
----
Получить список горячих клавиш баша
bind -p | egrep -v '^#|sel|low'
----
Монтирование ISO-файлов как файловой системы - это выход, когда вам не хочется записывать образ на болванку, или, например, если у вас есть образ DVD, но нет устройства для чтения DVD.
Создать точку монтирования:
mkdir /iso0
Примонтировать образ:
mount -o loop -t iso9660 /FC2-i386-DVD.iso /iso0
Чтобы образ монтировался автоматически при загрузке, добавьте это в /etc /fstab
/FC2-i386-DVD.iso /iso0 iso9660 rw,loop 0 0
----
(не тестил)Это скрипт-враппер автоматизирущий всевозможные рутинные и/или часто выполняемые операции.
Например апдейт системы, работа с базой пакетов, запуск/останов сервисов и так далее
Имеется GUI Рекомендуется новичкам для быстрой адаптации в Debian
apt-get install wajig
wajig listcommang
или GUI
gjig
----
для синхронизации времени вам понадобится утилита ntpdate
ntpdate ntp0.zenon.net - применение очень простое ntpdate
адреса серверов можно найти тут:
http://ntp.isc.org/bin/view/Servers/NTPPoolServers
для дебиан серверов поставить ntp очень просто - apt-get install ntp-simple.
ntp-simple - легковесный сервер синхронизации времени. одним словом, самое то.
добавлю что для серверов этот способ не подходит, так как ntpdate автоматически запускается только при загрузке,
а если uptime у сервера измеряется месяцами, то время за время между сихронизациями может существенно убегать.
поэтому на серверах рекомендуется ntpd или запускать ntpdate по крону
----
Как перестать беспокоиться и полюбить командную строку
http://ipesin.linux.kiev.ua/translations/rhm/love_cl1.htm
----
Для людей, которые большую часть команд выполняют в командной оболочке, удобство работы с историей набранных команд имеет большое значение. Но не все знают, каким образом можно управлять этой историей. Рассмотрим опции по управлению историей в оболочке bash.
HISTCONTROL - переменная окружения, которая может принимать значения 'ignoredups', 'ignorespace' и 'ignoreboth'.
в первом случае, в историю не будут добавляться одинаковые записи, если они идут подряд. т.е. если несколько раз сделать, скажем, ls -l, то в историю добавится только одна запись. во втором случае, будут пропускаться все команды, которые начинаются с пробела. в третьем случае будут пропускаться оба типа записей.
==== bashrc ====
HISTIGNORE - задает список исключений.
если добавить в эту переменную список шаблонов, разделенных двоеточием, то в историю не будут заносится все команды, которые соответствуют хотя бы одному из шаблонов. например, если добавить туда 'mc:ls:df:du' (дальше по вкусу), то история перестанет забиваться мусором.
HISTFILESIZE и HISTSIZE - устанавливают размер истории и файла истории в строках. не вижу смысла задавать для них разные значения.
shopt -s histappend
PROMPT_COMMAND='history -a' - сохроняет историю после ввода команды на тот случай если открыто несколько консолей
shopt -s cdspell - исправляет мелкие ошибки в написании
shopt -s cmdhist - многострочные команды будут записываться в одну строку, что облегчит редактирование.
complete -cf sudo - автодополнение после команды sudo
alias dud="du -hs * | grep '^[0-9,]*[MG]' | sort -rn" - показывает большие файлы
export LESS_TERMCAP_* расскраска цветов для man
Т.о. добавьте
export HISTCONTROL="ignoreboth"
export HISTIGNORE="mc:ls:df:du:bc"
export HISTSIZE=5000
export HISTFILESIZE=$HISTSIZE
shopt -s histappend
PROMPT_COMMAND='history -a'
shopt -s cdspell
shopt -s cmdhist
alias dud="du -hs * | grep '^[0-9,]*[MG]' | sort -rn"
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
себе в профиль(~/.bashrc), и настанет счастье.
==== большие пакеты ====
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
Покажет отсортированный список пакетов с указанием размера в байтах.
==== LS ====
Все знают о существовании замечательной команды ls, отображающей файлы в заданной директории. ls является сокращением от list.\\
В стандартных linux дистрибутивах есть и другие полезные ls* программы, в частности:\\
lspci - для отображения PCI устройств\\
lsusb - отображение списка USB устройств\\
lsscsi - список SCSI устройств\\
lsof - список всех открытых файлов\\
lsmod - список всех загруженных модулей в ядро\\
lshw - длинный и полный список всех присутствующих в компьютере устройств. \\
и самый мощный из всех присутствующих
----
==== Используем gpg кодирование: ====
gpg -c some_secret.txt
вас попросят ввести два раза пароль для кодирования
теперь закодированный файл лежит в some_secret.txt.gpg
раскодируем его
gpg some_secret.txt.gpg
опять вводим пароль
в some_secret.txt снова наш файл
----
==== logger ====
logger - команда bash для добавления сообщений в системный лог.
logger -t TEST more of a test here
Вот что появится в /var/log/syslog:
Oct 28 07:15:50 squeezel TEST: more of a test here
тэги, указываемые по -t можно посмотреть в /etc /syslog.conf. Они используются syslog для сортировки сообщений по различным файлам логов, если это настроено ("mail", "daemons", etc).
logger обязателен к применению в скриптах-демонах, или просто в скриптах, которые выполняются в бэкграунде.
----
==== очистка системы ====
Огромные репозитарии программ в Debian и Ubuntu имеют один существенный недостаток - со временем системы "распухают" от обилия библиотек, локалей, и просто ненужного софта. Следующие программы могут помочь в решении проблемы:
apt-get install deborphan debfoster localepurge
* deborphan показывает список библиотек, которые в настоящий момент не используются никаким из пакетов. их можно удалить программой orphaner.
* debfoster при запуске шаг за шагом выводит список ПО, установленный на компьютере и все их зависимости. отсортирован список с самых "жирных" программ. можно выбрать опцию как удаления самой программы, так и удаления со всеми притянутыми зависимостями.
* localepurge - удобная программа для удаления ненужных локалей. при установке выберите те локали, которые вы используете. остальные будут удалены при каждой установке пакета. программа также будет выводить список сэкономленного таким образом места. учтите, что если вам все-таки понадобятся локали позднее, вам придется переустановить эти пакеты.
----
Настройка X-Windows под Debian
запуск
sudo dpkg-reconfigure x11-common
* Позволит настроить запуск X11 не только от root
* Позволит изменить приоритет запуска X11. Если у вас дектоп система то установка этого параметра в 0 может дать
ощутимое увеличение времени реакции
запуск
sudo dpkg-reconfigure xserver-xorg
* Позволит настроить видеокарточку, мышку, клавиатуру и расширения X11
----
Просмотр сколько папки занимают места в консоли
sudo du -hs *
в иксах
baobab
----
какой пакет какого размера
dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
==== How to assign Hostname to local machine with dynamic IP using free DynDNS service ====
*Register free Dynamic DNS at http://www.dyndns.com/services/dns/dyndns
sudo apt-get install ipcheck
sudo nano /etc /ppp/ip-up.d/dyndns_update.sh
*Insert the following lines into the new file
#!/bin/sh
USERNAME=myusername
PASSWORD=mypassword
HOSTNAME=myhostname.dyndns.org
cd /root/
if [ -f /root/ipcheck.dat ]; then
ipcheck -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
else
ipcheck --makedat -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
fi
*Save the edited file
sudo chmod 700 /etc /ppp/ip-up.d/dyndns_update.sh
sudo sh /etc /ppp/ip-up.d/dyndns_update.sh
==== DynDNS и постояный IP ====
если у нас постоянный ИП и мы используем динднс то время от времени к нам будет приходить письма что мы его
не честно используем и что акаунт будет удален дело в том что динднс хочет чтобы мы время от времени меняли
свой ИП ну или хотя бы заходили на сайтик. автоматизировать это дело тоже можно
sudo apt-get install ipcheck
sudo nano /root/dyndns_update.sh
Вставляем следующие строки в файл (не забываем поставить правельный логин\пароль\сайт)
#!/bin/sh
USERNAME=myusername
PASSWORD=mypassword
HOSTNAME=myhostname.homeip.net
cd /root/
if [ -f /root/ipcheck.dat ]; then
ipcheck -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
else
ipcheck --makedat -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
fi
сохроняем
делаем файл запускаемым
sudo chmod 700 /root/dyndns_update.sh
и пару раз его запускаем
sudo /root/dyndns_update.sh
и добавляем запуск в планировщик
sudo crontab -e
добавить строчку (этим мы скажем ему запускать скрипт каждый день в 12:00)
00 12 * * * sudo sh /root/dyndns_update.sh
трафика это создаст пару килобайт но письма должны перестать приходить =)
==== проброска машины за натом на улицу ====
имеем
машина за натом внутрений ИП 192.168.2.100
сервер с белым ипом 88.88.88.88
ssh порт на серой машине 22
ssh порт на сервере 25
порт на сервере(для localhost) 6022 (должен быть больше 5000 может можно меньше но лень проверять)
порт на сервере(для внешнего) 6025
на машине за натом создаем файл
sudo nano /root/auto_ssh_achome
#!/bin/bash
PATH=/opt /firebird/bin:${PATH}
isssh=`ps ax | grep ssh | grep 6022 | wc -l`
#echo isssh $isssh
# если нет соединения
if [ "$isssh" = "0" ]; then
ssh -f user@88.88.88.88 -p 25 -R 6022:192.168.2.100:22 sleep 10d
echo try to connect to ssh
fi
не забываем про ключи ssh, а то ничего не будет работать
и ставим в крон на каждую минуту
sudo crontab -e
0-59 * * * * /root/auto_ssh_achome >> /var/log/auto_ssh
netstat -a -n -t | grep 6022
PS возможно на сервере надо в /etc /ssh/sshd_config сделать AllowTcpForwarding yes
и прокинуть порт так
ssh lissyara@111.222.111.222 -L 192.168.254.254:3390:172.172.172.172:3389
==== ICQ bot ====
инсталим
sudo apt-get install licq-plugin-autoreply
дальше под рутом
licq
смотрим на ошибки и идем дальше
cd /root/.licq
nano owner.Licq
забиваем следущее
[user]
Alias = None
Password = password
Uin = 666666
WebPresence = 0
HideIP = 1
nano licq_autoreply.conf
[Reply]
Program = /root/.licq/botprogram
Arguments = %u '%a'
PassMessage = 1
FailOnExitCode = 0
AbortDeleteOnExitCode = 1
SendThroughServer = 1
StartEnabled = 1
DeleteMessage = 0
nano /root/.licq/white.lst
туда добавляем номера с которых будет доступ
nano /root/.licq/botprogram
#!/bin/bash
read ncmd
# if we want to get all message
if [[ ! "$1" == "7946" ]]; then
echo "message 7946 number_$1.try_exec_$ncmd" >> ~/.licq/licq_fifo;
fi
isadmin=`cat ~/.licq/white.lst | grep "$1" | wc -l`
#echo $isadmin
if [ "$isadmin" = "0" ]; then
echo "hello $1";
echo "Go home";
exit 0
fi
echo $ncmd
$ncmd 2>&1
#echo "end"
chmod +x /root/.licq/botprogram
для проверки запускаем
licq -b /root/.licq/ -p autoreply -- -e -l online
==== cxcx ====
#!/bin/sh
FLAG=/var/tmp/flag1
while :; do
if [ -f $FLAG ]; then
Script1 && rm $FLAG
fi
sleep 5
done
ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" 77.106.95.230 -p 23
==== Num Lock при загрузке ====
([[http://www.ubuntugeek.com/numlock-activate-at-startup-in-login-screen.html|оригинал]])
выполняем следующие команды
sudo apt-get install numlockx
это команда попытается установить программку numlockx которая и будет включать NumLock.
судо может попросить у вас пароль.
sudo nano /etc /X11/gdm/Init/Default
для Ubuntu 7.10
sudo nano /etc /gdm/Init/Default
эта команда откроет файл "../gdm/Init/Default" для редактирования .
нужно ДО слов “exit 0″ добавить следующие строки:
Код:
if [ -x /usr /bin/X11/numlockx ]; then
/usr /bin/X11/numlockx on
fi
эти строки запустят numlockx на старте гнома.
теперь перезагружаемся и намлок должен включаться на старте.
==== монтирование вендовой машины ====
sudo mount -t cifs -o iocharset=utf8,codepage=cp1251,username=admin,password=1 //192.168.0.16/D$ /media/lan/
==== Топ выполняемых команд ====
history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
у меня
870 sudo
241 nano
168 ssh
168 cd
120 ping
106 ls
106 cat
102 man
101 exit
74 ps
==== настройка синхронизации времени ====
в сети имеет несколько машин и прокси-сервер который имеет доступ в интернет.
настройка проходит в два этапа
=== настройка сервера 7.10 ===
sudo apt-get install ntp
правим настройки
sudo nano /etc /ntp.conf
ищем секцию с серверами добавляем туда сервера
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
server goodtime.ijs.si
server ntps1-1.cs.tu-berlin.de
server tick.keso.fi
server clock.psu.edu
=== настройка клиента 7.10 ===
sudo apt-get install ntp
правим настройки
sudo nano /etc /ntp.conf
ищем секцию с серверами устанавливаем туда наш сервер
# You do need to talk to an NTP server or two (or three).
server 192.168.0.3
перезапускаем сервис
sudo /etc /init.d/ntp restart
==== смайлы в чат ====
подойдут любые смайлы для phpBB
я тестировал и проверял все на [[http://kolobok.us/modules.php?name=Files&d_op=get_file_details&files_id=18|колобках]]
скачиваем смайлы и распаковывем смайлы (не папки, а нутрению директорию со смайлами) в chat/smiles/
потом переименовываем файл *.pak в smiles.pak
все смайлы готовы к работе.
если кто хочет сам собрать смайлики cтруктура файла такова :
smile.gif=+:Smile=+::)
smile.gif=+:Smile=+::-)
smile.gif=+:Smile=+::smile:
sad.gif=+:Sad=+::(
sad.gif=+:Sad=+::-(
sad.gif=+:Sad=+::sad:
разделитель
=+:
сначало идет имя файла , потом подсказка(отображается если отключены картинки), потом смайлик который заменяется на картинку
на одну картинку может быть несколько кодов, в таком случае надо их ставить подрят, иначе будет дублироваться в списке смайлов,
в списке вставлятся будет всегда первоидущий смайлик.
вроде все.
==== убивание дохлых процессов ====
#!/bin/bash
service=fb_inet_server
for pid in $(pidof -x $service) ; do
pid_for_kill=$pid
for line in $(fuser 3050/tcp|grep $pid) ; do
pid_for_kill=0
done
if ! [ $pid_for_kill = 0 ] ; then
{
dtName=`date +%d'.'%m'.'%Y' '%H':'%M`
file_fdb=`lsof -p $pid_for_kill | grep fdb | awk '{print $9}'`
echo -e "time: $dtName file: $file_fdb"
ps -o "%p %x %a %u %C" $pid_for_kill
kill $pid_for_kill
}
fi
done
==== запас ====
netstat -a -p | grep fb_inet | grep
узнаём, с какого IP
lsof -p | grep
узнаём, какие файлы держит
...
gbak=/opt /firebird/bin/gbak
if $gbak -b -g -v -y $BaseDir/Log/$BaseName.log -user $gusr -password $gpsw $re
mote_srv:$BaseDir/$BaseName.fdb stdout | gzip > $BakDir/$BakName ; then
{
echo -e "\n"
}
else
{
rm -f $BakDir/$BakName
echo -e "\n"
}
fi
==== экранчик ====
в консоли пишем
Цитировать
gtf 1024 768 85
получаем
Цитировать
# 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz
Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync
добавляем это в секцию
Цитировать
Section "Monitor"
*вернуть*
верни обратно то что было в xorg.conf (убери не стандартные разрешения, происанные modeline)
и еще поправь или вообще удали ~/.gconf/desktop/gnome/screen/default/0/%gconf.xml
==== запас ====
update rdb$triggers set RDB$TRIGGER_SOURCE=null where rdb$system_flag is
null
update rdb$procedures
set rdb$procedure_source='no source'
where rdb$system_flag=0;
==== сменить часовой пояс ====
dpkg-reconfigure tzdata
==== как сделать Ramdisk ====
mkdir -p /home/$USER/ram
mount -t ramfs none /home/$USER/ram -o maxsize=10000
(ram = 10 Mb )
==== запас ====
Часто на форумах спрашивают как сменить разрешение экрана, например вылетела игрушка в полноэкранном режиме и оставила 800x600 при номинальном 1280x1024. в ответ же советуют прописывать всевозможноые варианты и секции в /etc /X11/xorg.conf и пользоваться ctrl+alt++/- (numpad).
в большинстве случаев поможет:
xrandr -s 1280x1024 --rate 75
вообщем читайте man xrandr xrandr --help
например прикольно будет
xrandr --orientation inverted
xrandr -x
xrandr -y
только чтобы вернуть обратно -
xrandr --orientation normal
==== pidgin ====
сбор pidgin
./configure --disable-screensaver --disable-vv --disable-perl --disable-tcl
sudo checkinstall -D --fstrans=no --install=yes
==== Настройка часового пояса (timezone) на Ubuntu Server ====
Понятно, что пользователям графического десктопа беспокоиться не о чем: через GNOME настроить время и часовой пояс — не проблема. А как быть пользователям сервера и консоли? Раньше в Ubuntu (например, в Gutsy) существовала полезная утилита tzconfig для выбора часового пояса. Теперь её нету ни в системе, ни в репозитории.
Но функциональность этой утилиты, к счастью, легко замещается следующей командой: dpkg-reconfigure tzdata. С помощью неё вы сможете установить часовой пояс для вашей машины. Если на сервере есть пользователи из разных часовых поясов, то каждый, у кого часовой пояс отличен от серверного, сможет установить собственный пояс добавив соответствующую директиву с свой пользовательский профиль (файл ~/.profile).
Например для Москвы:
TZ='Europe/Moscow'; export TZ
Получить корректный код для добавления в профиль совсем просто, для этого имеется утилита tzselect.
==== проблема с производительностью на 2,6 ====
http://groups.google.com/group/ru-firebird/browse_thread/thread/31e86b6ef683dd15#
==== X.Org ====
Но самое забавное что прибить иксы с помощью Ctrl+Alt+Backspace больше не получится, и это уже неприятно. Судя по всему это сделано что бы избезать случайного убийства иксов при нажатии Ctrl+Backspace или Alt+Backspace поочередно нажимая эти клавиши. Но всё это решаемо - — в xorg.conf в разделе "ServerFlags" добавьте строку (или создайте секцию с ней) Option "DontZap" "false".
==== firebird ====
/opt /firebird/bin/gfix -housekeeping 0 ac -user sysdba -password sysdba
/opt /firebird/bin/gstat 127.0.0.1:ac | grep "Next transaction" -B 3
==== ping reconnect ====
#!/bin/sh
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr /bin:/usr /sbin
ip_1="ya.ru"
ip_2="www.ru"
ip_3="google.ru"
timer=`date`
ip_shluz=`ifconfig ppp0 | grep "inet"| awk '{print $2}'`
if ping -c 2 $ip_1
then
:
else
if ping -c 2 $ip_2
then
:
else
if ping -c 2 $ip_3
then
:
else
if ping -c 2 $ip_shluz
then
echo "poff"
`poff -a &`
else
echo "poff"
`poff -a &`
fi
fi
fi
fi
#!/bin/sh
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr /bin:/usr /sbin
if nc -w 4 -z 192.168.100.210 22
then
echo connection exist
else
echo connection lost
fi
#!/usr /bin/expect -f
#
#Step 1. Connect to modem
spawn telnet 192.168.1.1
expect "Login:"
send "admin\r"
expect "Password:"
send "admin\r"
#Inside in modem
expect "(config)>"
send "system reboot\r"
expect eof
==== vnc reverse connection ====
на клиенте (тот кто должен управлять)
xtightvncviewer -listen
на сервере (тот кем надо управлять)
x11vnc -connect achome2.dyndns.org
==== puppyrus ====
root\woofwoof
==== определить кол-во компов в сети ====
sudo nmap -F -O 192.168.1.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"
==== ошибки при обновлении на ключи ====
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com ED649F97DE6BFD99 2A8E3034D018A4CE
==== netcat копирование по сети ====
cat file | nc -q 0 192.168.1.1 3333
На удалённой машине должен быть запущен netcat:
nc -l -p 3333 > file
==== пакеты с поиском ====
http://packages.ubuntu.com/
==== Бинарные патчи ====
xdelta bsdiff
==== проверка транзакций ====
#!/bin/bash
date
max=30000
a=`/opt /firebird/bin/gstat 127.0.0.1:ac | grep "Oldest transaction" | awk 'BEFIN {FS=" "}{print $3}'`
b=`/opt /firebird/bin/gstat 127.0.0.1:ac | grep "Next transaction" | awk 'BEFIN {FS=" "}{print $3}'`
result=$[b-a]
# if result > max
if [ $result -gt $max ]; then
killall fb_inet_server
/opt /firebird/bin/gfix -sweep localhost:ac -user SYSDBA -password masterkey
else
echo "good, nothing to do"
fi
echo $b '(next trans.) - '$a' (oldest trans.) = '$result
==== полезные команды ====
strace rlwrap
==== sshd ====
AllowUsers useuser
AllowUsers park@192.168.0.*
==== kill fb ====
kill $(netstat -a -p | grep fb_inet | grep 192.168.0 | cut -f 2 -d D | cut -f 1 -d / )
==== письмо о входе ====
ставим mailsand
http://code.google.com/p/mailsend/downloads/list
wget http://mailsend.googlecode.com/files/mailsend_1.17b14-ubuntu_i386.deb
mailsend -to ____@ya.ru -from _______ -ssl -port 465 -auth -smtp smtp.yandex.ru -sub test +cc +bc -v -user _______________ -pass _____
echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mail -s "ssh login!" your@email.ru
/etc /ssh/sshrc
echo $(date) $SSH_CONNECTION $USER $SSH_TTY | mailsend -to ___@ya.ru,___@gmail.com -from __@___.su -port 587 -auth -smtp smtp.yandex.ru -sub sochi +cc +bc -v -user __@____.su -pass __ -q 2>/dev/null
==== динднс ====
после закрытия динднс можно использовать
http://inatech.eu/inadyn/ как клиента
freedns.afraid.org как провайдера
и info.tm как домен
==== отключить глобпльное меню ===
Итак, чтобы отключить глобальное меню в Ubuntu Unity выполните в терминале следующую команду:
sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt
==== проблемы с часовым поясом ====
sudo apt-get update
sudo apt-get install tzdata
sudo dpkg-reconfigure tzdata
sudo crontab -e
00 03 * * * /usr /sbin/ntpdate ntp.ubuntu.com
==== скорость копирования на флешку ====
/usr /local/bin/setusbwrite
#!/bin/sh
for interruption in `grep usb /proc/interrupts| awk '{print $1}'| sed -e 's/\://g'` ; do
echo "Setting 1 in /proc/irq/${interruption}/smp_affinity";
echo 1 > /proc/irq/${interruption}/smp_affinity;
done
и в загрузку в /etc /rc.local
==== wi-fi девайсик ====
I suggest you get a temporary internet connection, ethernet, tethered or whatever is available. Then do:
sudo apt-get install linux-headers-generic build-essential git
git clone https://github.com/porjo/mt7601.git
cd mt7601/src
make
sudo make install
sudo mkdir -p /etc /Wireless/RT2870STA/
sudo cp RT2870STA.dat /etc /Wireless/RT2870STA/
sudo modprobe mt7601Usta
Your wireless should now be working.
You have compiled the driver for your current kernel version only. When Update Manager installs a later linux-image, after the required reboot, you must re-compile:
cd mt7601/src
make clean
make
sudo make install
sudo modprobe mt7601Usta
Please retain the files and these instructions for that time. Glad it's working!
==== wi-fi пропадает при выходе из ждущего режима ====
1 - узнать драйвер в /var/log/pm-suspend.log или sudo lshw -C network
2 - копируем файл /usr /lib/pm-utils/defaults в /etc /pm/config.d/config
3 - правим config:SUSPEND_MODULES="asus_laptop bluetooth" (вписываем свой драйвер)
как альтернативы
To work around this issue, users can create a file /etc /pm/config.d/madwifi containing the single line: SUSPEND_MODULES=ath_pci
I've created /etc /pm/config.d/01wifi with SUSPEND_MODULES=ath_pci
==== настройка адоба в файрфокс ====
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager06.html
==== **Полужирный** ====
sudo apt-get install libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev libgdk-pixbuf2.0-dev libatk1.0-dev
libx11-dev:i386 libglib2.0-dev:i386
==== vnc error connect from windows ====
на новой версии vino возникает ошибка при подключении с венды
Server did not offer supported security type для исправления делаем
sudo apt-get -y install dconf-tools
dconf write /org/gnome/desktop/remote-access/require-encryption false
/usr /lib/vino/vino-server --sm-disable start
а еще можно использовать mobaXterm http://mobaxterm.mobatek.net/
==== образ по сети ====
sudo dd if=/dev/sda bs=1M status=progress | gzip -c | ssh 192.168.237.222 "dd of=237.21.img.gz bs=1M"
==== настройка screen ====
.screenrc
caption always "%{= 45}%{+b w}Screen: %n | %h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
==== отчеты на флешке ====
start "test" C:\Users\user\AppData\Local\Yandex\YandexBrowser\Application\browser 127.0.0.1
d:\oal\php\php.exe -S 127.0.0.1:80 -t D:\oal\www
==== convert cr2 to jpg ====
ls -1 *.CR2 | xargs -n 1 bash -c 'convert "$0" "${0%.*}.jpg"'
==== Кончилось место ====
временные файлы
lsof | grep '(deleted)'
проверить ноды
df -i
поиск по кол-ву
find . -mindepth 2 | awk -F/ '{ print $2"/" }' | sort | uniq -c | sort -n | tail -10
==== Скорость копирования на флешуку ====
# echo 4194304 > /proc/sys/vm/dirty_bytes
# echo 4194304 > /proc/sys/vm/dirty_background_bytes = 4194304
==== ошибка с локалями ====
sudo nano /etc/default/locale
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_TYPE=en_US.UTF-8
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
==== ufw ====
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow 22
sudo ufw enable
sudo ufw allow in on tailscale0
sudo ufw app list
==== requirements.txt ====
pip freeze > requirements.txt
python -m venv env
pip install -r requirements.txt
==== servises ====
sudo nano /lib/systemd/system/skynet.service
[Unit]
Description=Skynet Application
After=network.target
After=systemd-user-sessions.service
After=network-online.target
[Service]
User=attid
Type=simple
ExecStart=/path/start_skynet.sh
TimeoutSec=30
Restart=on-failure
RestartSec=15
StartLimitInterval=350
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
systemctl -l status skynet
systemctl enable skynet
systemctl start skynet
==== x11vnc ====
sudo /usr/bin/x11vnc -forever -display :0 -auth guess
==== python at ubu16 ====
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
tar -xf Python-3.10.*.tgz
cd Python-3.10.*/
./configure --enable-optimizations
make -j 4
sudo make altinstall
==== узнать IP ====
curl https://ipinfo.io/ip
==== tailscale грузит проц ====
https://github.com/tailscale/tailscale/issues/10630
https://tailscale.com/kb/1188/linux-dns?q=DNS#networkmanager--systemd-resolved