Jump to content

All Activity

This stream auto-updates     

  1. Last week
  2. Добрый день! Вакансия: Lead DevOps Локация: Москва ЗП: 200k – 250k net (зависит от опыта) Контакт телеграм: @OlgaVzh Почта: olgavzh.it@gmail.com Банк, 100% акционером которого является ведущая международная финансовая группа. Ищем опытного Lead DevOps Задачи: - Обеспечить надежность, доступность и эффективность сервисов; - Автоматизация развертывания и обновления серверной инфраструктуры; - Автоматизация деплоя/сборок; - Автоматизации процессов CI/CD, CT; - Мониторинг и поддержка серверной инфраструктуры; - Тесное сотрудничество с командами разработки Пожелания к кандидатам: - Опыт работы в данной области от трех лет; - Опыт построения или администрирования отказоустойчивых систем, работающих в режиме 24x7x365; - Опыт программирования на скриптовых языках (python, perl, bash) от 3-х лет; - Опыт создания конвейеров непрерывной доставки ПО для микросервисных и монолитных систем. - Опыт администрирования систем под управлением OS семейства Linux, Windows; - Опыт работы с Ansible; - Опыт построения пайплайнов на Jenkins/Gitlab CI; - Опыт работы с системами сборки кода; Предлагаем: ТК РФ, расширенный ДМС, минимум бюрократии.
  3. Earlier
  4. Сначала нужно убедиться, что вы в домашнем каталоге. Например выполнив команду cd ~/ а после mkdir test можно перейти в него командой cd test а дальше не знаю
  5. Довольно частая ошибка, но не критичная, компьютером можно пользоваться, обычно через минуту после полного запуска ОС интернет уже работает.
  6. TestDisk видит диск но папку не открывает.
  7. Есть жесткий диск, с ноутбука, который я давно использую как USB. Hitach, 320 GB. Сегодня заметил что с него полностью пропали все файлы из папки МУЗЫКА. Папка открывается, но она пустая! Я сам файлы не удалял. Это точно. Никто к диску доступ иметь не мог. Папка на месте - файлов нет. ОС Ubuntu Studio 16.04 Смотрел файлы из под Linux Mint 18. Тоже самое, файлов нет. Открыл из под администратора, файлов нету. Кто сталкивался с подобным? Все другие файлы и папки на месте. GPT PMBR size mismatch (625142447 != 625142446) will be corrected by w(rite). Диск /dev/sdf: 298,1 GiB, 320072932864 байтов, 625142447 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: gpt Идентификатор диска: 47A98CA5-F2D6-419B-A0D5-411F4272952B Устр-во Start Конец Секторы Size Тип /dev/sdf1 2048 227327 225280 110M EFI System /dev/sdf2 227328 625139711 624912384 298G Microsoft basic data
  8. 1. Создайте каталог test в домашнем каталоге и сделайте его текущим 2. Создать пустой файл в домашнем каталоге. 3. Открыть доступ к этому файлу всем на чтение и запись. 4. Найти все файлы, начинающиеся с "ht", принадлежащие пользователю root. Результаты сохранить в ht_files.log 5. Найти все ip адреса 192.168.1.254 во всех файлах *.conf в каталоге /etc/ 6. Просмотреть в расширенном формате файлы, принадлежащие пользователю syslog 7. Создать сжатый tar архив из полученного файла. 8. Удалить все пустые файлы в домашнем каталоге. 9. Запустить команду поиска всех файлов xml в фоновом режиме. 10. Остановить запущенный процесс. 11. присутствует ли в системе файловая система tmpfs. Вывод перенаправить в файл, который должен содержать все каталоги tmpfs Мое решение, частично: mkdir test cd \test touch file.txt chmod a+rw file.text find .-user root -name"*&quot*" 5) 6) 7) / tar -czf file.tar.gz ~/test/filename.txt(??????)
  9. 15 лет назад мы начали свою деятельность. Вы можете проверить срок регистрации нашего домена. Для этого можно даже воспользоваться нашим сервисом whois - https://whois.megahoster.net/ Там же при проверке домена есть ссылка на вэб-архив. Мы благодарны тем нашим клиентам, что идут рука об руку с нами всё это время. Если вы тоже хотите к нам присоединиться, мы предлагаем начать сотрудничество сразу со скидок. По промо-коду 515 вы получаете постоянную 5% скидку на наши услуги. Мы облегчим ваш переезд - поможем перенести ваш сайт бесплатно. Кстати, администрирование у нас тоже есть бесплатное. Мы начисляем скидки за всё! Длительное использование услуг, общее количество активных услуг, оборот средств по аккаунту - на всё это распространяется программа лояльности, позволяющая получать дополнительные скидки постоянным клиентам! Многие из них имеют персональные скидки 10% на все услуги. Присоединяйтесь, у нас делают хорошо! Предлагаем мощный безлимитный сервер в Европе и США арендовать всего за 30$ Opteron 3280, 8x 2.4 GHz / 16 GB DDR3 ECC / 2x 2 TB SATA II / 100 Mbps Unmetered = 30$ https://my.megahoster.net/cart.php?a=add&pid=303 Это не скидка! Стоимость сервера постоянная и распространяется на весь срок аренды.
  10. добрый день, если ввести в поиске curl: (35) gnutls_handshake() failed: Certificate is bad то можно найти некоторые подсказки, например, $ch[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1_1; но сам я не пробовал
  11. ну я не знаком с элементари ос, можно попробовать установить crunchbang plus plus
  12. Добры день! Сертификат client.p12, конвертирую из p12 в pem, openssl pkcs12 -in client.p12 -out client.pem -nodes Устанавливается без ошибок, делаю curl, выходит ошибка curl: (35) gnutls_handshake() failed: Certificate is bad ?
  13. Можно запускать обновление не вручную, а по расписанию, допустим 1 раз при каждом включении пк. Если файлы сайта располагаются в директории /var/www/s1.local, то можно создать файл /var/www/s1.local/check.online.sh #!/bin/bash INTERNET_STATUS="" while [ "$INTERNET_STATUS" != "UP" ] do ping -c 1 -W 0.7 8.8.4.4 > /dev/null 2>&1 if [ $? -eq 0 ] ; then INTERNET_STATUS="UP" else sleep 4 fi done; php -q /var/www/s1.local/obnov.php >> /home/user/obnovlenie_firefox_i_flash.txt 2>&1 Открыть терминал и выполнить команду: sudo crontab -e , добавить в конец файла строку @reboot /var/www/s1.local/check.online.sh Сохранить изменения с помощью двух команд "Ctrl+O", "Ctrl+X"
  14. Устанавливал Juno ,выдало ошибку "Не удалось выполнить команду 'grub-install /dev/sda'. Это неисправимая ошибка",до этого делитнул раздел с Локи.Потом установил grub отдельно, всё равно выдает эту ошибку.Что делать?
  15. насколько я понял, приложения, написанные для виндовс, будут притормаживать в линукс, а их запуск повлечёт за собой возможность срабатывания виндовс-вирусов, поэтому не рекомендую данный путь какое приложение вы пытались установить?
  16. грузиться с лив сиди, читать логи и публиковать ошибки, найденные в логах, на форумах
  17. Я вот перепробовал почти все методы Источники в интернете старые Новых нет Помогите пожалуйста Я вот как 3ти день на Линуксе
  18. Привет . Вообщем у меня беда. У бухгалтера стоит OpenSuse , на днях у нее перестал работать сканер в принтере , думаю ну херня очевидная. Но н*хуя , сидел еб*лся , дрова переустановил , в итоге нет. Зашел в менеджер приложений , поставил на скачку "Простое сканирование " то приложение было от KDE PLASMA . На удивление скачивалось долго , в итоге я ей сказал что бы оставила комп включенным и ушел домой. Сейчас я же вижу что п*здец полный , как знаете беда не приходит одна. В итоге , я прихожу и вижу черный экран , с фолдами , которые я не чаял , надо было сфоткать их . При перезагрузке бесконечная загрузка логотипа (Фотка прилагается ) Что делать ребят , кто знает ?
  19. никогда не встречал книг о том, как устроены линукс-системы
  20. Здравствуйте! к разработчику программы xrdp вы обращались? сообщили ему/ей об ошибке?
  21. Для обновления браузера firefox и flash плагина я написал php скрипт, который состоит из директории 777 ( всем пользователям даны права на запись в эту директорию), файла nget.php и файла obnov.php, все файлы можно разместить на одном из локальных сайтов. Содержимое файла nget.php <?php define("KURL_LOGIROVANIE", false); // true - если нужно сохранять ответы на http запросы в текстовый файл, иначе - false define("FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV", __DIR__.'/777/curl_zaprosy.txt'); // путь к текстовому файлу, в который будут записываться URL адреса страниц, ошибки, результаты запросов define("FILE_DLYA_ZAPISI_KUKIS", __DIR__.'/777/curl_kuki.txt'); // путь к текстовому файлу, в который будут записываться кукис define("KURL_PAUZA", 50); // на какое число микросекунд скрипт засыпает перед следующим http запросом $last_curl_url = array(); // последний открытый сетевой адрес // сетевой запрос /* Параметры массива add: * yupi - строка логин:пароль для http авторизации * xml - добавляет заголовок ajax запроса * json - согласие получить в ответ json * post - массив данных, отправляемых формой * multi - массив данных, отправляемых формой в виде multipart-formdata * move - ограничить число допустимых редиректов, по умолчанию 5 * top - включать заголовок в ответ функции, по умолчанию да * save - сохранить ответ в файл с именем * proxy - прокси * ref - ссылка, с которой мы перешли * req - request запрос * nobody - получение только заголовков header */ function nget($url="",$add=array()) { file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV, $url."\n", 8); if (!function_exists("curl_init")) return fget($url,$add); if (!($curl = curl_init())) return NULL; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_COOKIEJAR, FILE_DLYA_ZAPISI_KUKIS); curl_setopt($curl, CURLOPT_COOKIEFILE, FILE_DLYA_ZAPISI_KUKIS); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0'); if (isset($add['yupi'])) curl_setopt($curl, CURLOPT_USERPWD, $add['yupi']); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false); $headers = array(); if (isset($add['xml'])) { // ajax запрос $headers[] = 'X-Requested-With: XMLHttpRequest'; }; if (isset($add['nobody'])) { // header запрос curl_setopt($curl, CURLOPT_NOBODY, 1); $add['move'] = 0; $add['top'] = 1; }; if (isset($add['json'])) { // json запрос $headers[] = 'Accept: application/json'; }; if (isset($add['post'])) { // post запрос curl_setopt($curl,CURLOPT_POST, TRUE); curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($add['post'])); }; if (isset($add['multi'])) { // post multi/part запрос curl_setopt($curl,CURLOPT_POST, TRUE); curl_setopt($curl,CURLOPT_POSTFIELDS, $add['multi']); }; if (isset($add['req'])) { // request запрос curl_setopt($curl,CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl,CURLOPT_POSTFIELDS, $add['req']); $headers[] = 'Content-Type: application/json'; }; if (!isset($add['move'])) $add['move'] = 5; if ($add['move']>0) { // разрешены редиректы $add['top'] = true; // включать header в ответ } if (!isset($add['top']) OR isset($add['save'])) $add['top']=false; curl_setopt($curl, CURLOPT_HEADER, $add['top']); if (isset($add['proxy'])) curl_setopt($curl, CURLOPT_PROXY, $add['proxy']); if (isset($add['ref'])) curl_setopt($curl, CURLOPT_REFERER, $add['ref']); curl_setopt($curl, CURLOPT_RETURNTRANSFER, (isset($add['save'])?false:true)); if (isset($add['save'])) { // сохранить файл в if (FALSE===($out = fopen($add['save'],"w+"))) { file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV,"failed opening of file ".$add['save']."\n",8); exit; } curl_setopt($curl, CURLOPT_FILE, $out); } curl_setopt($curl, CURLOPT_FORBID_REUSE, false); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, isset($add['time'])?$add['time']:120); curl_setopt($curl, CURLOPT_TIMEOUT, isset($add['time'])?$add['time']:120); $no_header_params = array('xml','json','post','move','top','save','yupi','ref','proxy','multi','req','time','nobody'); if (!empty($add)) foreach ($add as $k=>$h) if (!in_array($k,$no_header_params)) $headers[] = $h; if (!empty($headers)) curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); global $last_curl_url; $last_curl_url[] = $url; while (1) { usleep(KURL_PAUZA); $data = curl_exec($curl); if (KURL_LOGIROVANIE==true) file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV, $data, 8); $curl_errno = curl_errno($curl); if ($curl_errno > 0 AND $curl_errno!=28) { file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV,'cURL Error ('.$curl_errno.'): '.curl_error($curl)." on curl ".var_export($last_curl_url,1)."\n",8); curl_close($curl); exit; } if ($add['move']<1) break; $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($code != 301 && $code != 302) break; $header_start = strpos($data, "\r\n")+2; $headers = substr($data, $header_start, strpos($data, "\r\n\r\n", $header_start)+2-$header_start); if (!preg_match("!\r\n(?:Location|URI): *(.*?) *\r\n!", $headers, $matches)) break; $newurl = $matches[1]; if (!strpos($newurl, "//")) { $old_url_parts=explode("//",end($last_curl_url)); $old_url_http_part=$old_url_parts[0]; $old_url_host_part=explode("/",$old_url_parts[1]); $newurl=$old_url_http_part.'//'.$old_url_host_part[0].$newurl; } curl_setopt($curl, CURLOPT_URL, $newurl); file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV, $newurl."\n", 8); $last_curl_url[] = $newurl; $add['move']--; // уменьшение числа разрешённых редиректов }; curl_close($curl); if (!$add['top']) { $ah = strpos($data, "\r\n\r\n")+4; if ($ah<200 AND substr($data,0,21)=='HTTP/1.1 100 Continue') $ah = strpos($data, "\r\n\r\n", $ah)+4; $data = substr($data, $ah); } if (isset($add['save'])) { fclose($out); return 1; } return $data; } /* аналог curl с помощью file_get_contents */ function fget($url="",$add=array()) { $arrContextOptions=array( "ssl"=>array( "verify_peer"=>false, "verify_peer_name"=>false, ), "http"=>array( "user_agent"=>'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0' ) ); $headers = array(); if (isset($add['xml'])) { // ajax запрос $headers[] = 'X-Requested-With: XMLHttpRequest'; }; if (isset($add['json'])) { // json запрос $headers[] = 'Accept: application/json'; }; if (isset($add['post'])) { // post запрос $arrContextOptions['http']['method'] = "POST"; $arrContextOptions['http']['content'] = http_build_query($add['post']); }; if (isset($add['multi'])) { // post multi/part запрос $arrContextOptions['http']['method'] = "POST"; $arrContextOptions['http']['content'] = $add['multi']; }; if (isset($add['req'])) { // request запрос $arrContextOptions['http']['method'] = "POST"; $arrContextOptions['http']['content'] = $add['req']; $headers[] = 'Content-Type: application/json'; }; if (!isset($add['move'])) $add['move'] = 5; if ($add['move']>0) { // разрешены редиректы $add['top'] = true; // включать header в ответ } if (!isset($add['top']) OR isset($add['save'])) $add['top']=false; if (isset($add['proxy'])) $arrContextOptions['http']['proxy'] = $add['proxy']; if (isset($add['ref'])) $headers[] = 'Referer: '.$add['ref']; if (isset($add['save'])) { // сохранить файл в if (FALSE===($out = fopen($add['save'],"w+"))) { file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV,"failed opening of file ".$add['save']."\n",8); exit; } } $arrContextOptions['http']['timeout'] = isset($add['time'])?$add['time']:10; $no_header_params = array('xml','json','post','move','top','save','yupi','ref','proxy','multi','req','time'); if (!empty($add)) foreach ($add as $k=>$h) if (!in_array($k,$no_header_params)) $headers[] = $h; if (isset($add['yupi'])) $headers[] = 'Authorization : Basic '.base64_encode($add['yupi']); if (!empty($headers)) $arrContextOptions['http']['header'] = $headers; global $last_curl_url; $last_curl_url[] = $url; usleep(KURL_PAUZA); $data = file_get_contents($url, false, stream_context_create($arrContextOptions)); if (KURL_LOGIROVANIE==true) file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV, $data, 8); if (isset($add['save'])) { fclose($out); return 1; } return $data; } // сетевой запрос, скачивающий файл с помощью консольной команды wget function wget($url="",$filename="") { if (function_exists('system')) { usleep(KURL_PAUZA); system('wget -O '.$filename.' '.$url,$retval); } else return false; return ($retval===0); } // найти участок кода между двух строк function iska($nachalo, $konec, $string) { if (!preg_match('/'.preg_quote($nachalo,'/').'(.*)'.preg_quote($konec,'/').'/ismU',$string,$nashli)) return ''; return $nashli[1]; } // удалить участок кода между двух строк function udal($nachalo, $konec, $string) { return preg_replace('/'.preg_quote($nachalo,'/').'.*'.preg_quote($konec,'/').'/ismU','',$string); } // очистка логов запросов function ochistka_logov_zaprosov() { file_put_contents(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV, ""); } // проверка, давно ли не было запросов function dolgo_ne_bylo_http_zaprosov($dolgo=50) { $a = time(); $b = filemtime(FILE_DLYA_ZAPISI_POLUCHENNYH_OTVETOV); if ( ($a-$b)>$dolgo ) return true; else return false; } Содержимое файла obnov.php <?php ignore_user_abort(true); ini_set("max_execution_time",3600); ini_set("memory_limit","1200M"); require 'nget.php'; $f=time(); $wd=__DIR__.'/777/'; // директория для записи файлов $u = "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=ru"; var_dump($u); $h=nget($u, array('nobody'=>1)); //echo $h; $n=iska('releases/','/',$h); var_dump($n); $o=1; // обновлять ли программу if (file_exists($wd.'firefox.version')) { $pn=file_get_contents($wd.'firefox.version'); if ($pn==$n) $o=0; } file_put_contents($wd.'firefox.version',$n); if ($o) { if (preg_match("!\r\n(?:Location|URI): *(.*?) *\r\n!", $h, $matches)) { $newurl = $matches[1]; var_dump($newurl); unlink($wd.'firefox.tar.bz2'); nget($newurl, array('save'=>$wd.'firefox.tar.bz2')); $output = shell_exec('tar -vxjf '.$wd.'firefox.tar.bz2 -C /opt'); file_put_contents($wd.'firefox.output.txt',$output); } } echo 'firefox ok'; echo "\n"; $u = "https://get.adobe.com/ru/flashplayer/"; var_dump($u); $h=nget($u, array()); //echo $h; $n=trim(iska('Версия','<',$h)); var_dump($n); $o=1; // обновлять ли программу if (file_exists($wd.'flash.version')) { $pn=file_get_contents($wd.'flash.version'); if ($pn==$n) $o=0; } file_put_contents($wd.'flash.version',$n); if ($o) { $h1 = iska('case "3":','case "4":',$h); var_dump($h1); $h2 = iska('$("#buttonDownload").attr("href","','"',$h1); var_dump($h2); if ($h2!=='') { $h=nget("https://get.adobe.com/".$h2, array()); $newurl = iska("location.href = '","'",$h); sleep(2); unlink($wd.'flash.tar.gz'); var_dump($newurl); nget($newurl, array('save'=>$wd.'flash.tar.gz')); $output = shell_exec('tar -xzvf '.$wd.'flash.tar.gz -C /usr/lib/mozilla/plugins libflashplayer.so'); $output2 = shell_exec('tar -xzvf '.$wd.'flash.tar.gz -C / usr'); file_put_contents($wd.'flash.output.txt',$output."\n".$output2); } } echo 'flash ok'; echo "\n"; Для обновления браузера firefox и flash плагина достаточно в терминале выполнить команду sudo php -q /директория_в_которой_находятся_файлы_сайта/obnov.php Если php не установлен, его можно установить с помощью команды sudo apt-get install php Поскольку скрипт устанавливает программу firefox в директорию opt, для запуска firefox нужно будет использовать команду /opt/firefox/firefox -P default Если раньше firefox вы запускали с помощью другой команды, то может потребоваться изменить команду запуска в меню автозагрузки и в меню запуска приложений.
  22. В общем многобукв будет, и не смейтесь ток сильно ок? В общем меня очень сильно привлекала тема программирования, где то с 12 я начал понемногу писать на c++, желая поступить в какой нибудь кибернетический вуз после школы, параллельно где то месяц назад занялся версткой сайтов как способом заработка на фрилансе. И меня очень давно интересовала тема компьютерной безопасности, и наоборот, некая запрещенная деятельность на kali в частности. Но тк я виндоеб, и никогда ни на чем не работал, то просто подзарез нужен хоть поверхностный мануал по linux системам и прочей лабуде, связанной с этим. Как устроены эти системы, их структура, как оно там все с этой командной строкой связано, ибо инфа нужна как воздух, а гайды в инете написаны на того кто ну хоть раз использовал линукс. Только что с большим трудом установил кали, теперь ничерта не понимаю. Я даже сотку на киви скину, честно. Хелп
  23. Только что поставила Linux, не могу ничего сделать, потому через 10-30 секунд(даже если что-то делать на рабочем столе) тухнет экран и просит авторизоваться снова. Невозможно даже в настройках полазить. Что делать и почему так? Единственное, что я делала после установки ОС, так это сброс пароля через rw init=/bin/sh в строчке linux /boot и так далее.Делала по инструкции с этого сайта https://chuzhoy007.ru/kak-sbrosit-parol-v-linux-debian-ubuntu
  24. Здравствуйте! Установил centos 7.6 на Proxmox в итоге не могу установить xrdp
  25. Установил debian на чистый диск d, перезапустил компьютер - сразу зашел на дебиан, при выборе в биос UEFI начал загружаться WINDOWS, но заходит он только в среду восстановления, безопасный режим не работает, восстановление тоже, при выборе legacy в биос пишет no bootable device. Помогите зайти хоть в одну из ОС
  26. решил написать не большой мануал, вложения 500р на покупку софта - https://tgraph.io/Adult-trafik-s-Telegram-07-30
  1. Load more activity
×
×
  • Create New...