==== Полезняшки ==== остановка ядра 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