LINUX.ORG.RU

Сообщения kyka276

 

Ищу удалённую работу техподдержка/сисадмин. Начальный опыт есть.

Форум — Job

Ищу удалённую работу техподдержка/сисадмин. Начальный опыт есть. Почта starovoyt1993@yahoo.com Телеграм @crazyman678

 , , , ,

kyka276
()

Отработал 2 недели эникеем

Форум — Talks

Всех приветствую! Есть мысль, хочу поделится и, по возможности, получить советы от опытных специалистов. Проработав год в хелпдеске банка, решил уйти по причине дальнейшего развития в направлении системного администрирования. Устроился «эникеем» в фирму примерно на 80 компов с одним сисадмином. К слову, фирма «семейная», в верхах и руководителях отдела сидят родственники и близкие люди собственников фирмы. Админ оказался очень хорошим парнем и весьма амбициозным на словах, но на деле получается всё достаточно уныло. Своей функции я там не понимаю - по большей части сижу целый день в инете, и только пару раз за день мне дают задания типо переместить компьютер сотрудника с одного места на другое или помочь найти кнопочку в системе. Сам вкатывался в домен на домашнем ПК на виртуалке, освежаю знания по сетям и Линуксу - самообучаювь ,в общем, но от админа отдачи никакой. Принял решение завтра уволится. Тем более, что есть оффер от другой компании, деятельность которой тесно связана с IT и техподдержкой на Линуксе. Отсюда вопрос - правильно ли я всё делаю на данный момент? На что в дальнейшем стоит обратить внимание при трудоустройстве на аналогичную должность?

 , ,

kyka276
()

Настройка VPN

Форум — Admin

Добрый день! Задача следующая - есть хост с виндузой и две виртуалки - xubuntu(1) и lubuntu(2). Задача - поднять под (1) VPN и подключить к нему виндузу и (2). Сервер успешно настроил, виндовый vpn-клиент подключается, а вот клиент с (2) не хочет, постоянно выстреливает следующее:

pppd: The remote system is required to authenticate itself 
pppd: but I couldn't find any suitable secret (password) for it to use to do so.

Никак не могу с этим справится. Вот листинг chap-secrets:

linux 192.168.255.128 (это адрес сервера) moluli86(это пароль) *

Вот листинг /etc/ppp/peers/vpn:

pty "192.168.255.128 --nolaunchpppd"
name linux
file /etc/ppp/pptpd-options

Прошу помощи в решении проблемы.

 , ,

kyka276
()

Курсы или пособия по проектированию трансляторов

Форум — General

Добрый вечер! Необходимо пройти курс по проектированию трансляторов либо курс по «устройству работы» компиляторов. Буду благодарен за ссылки на материалы или Ваш личный опыт.

 ,

kyka276
()

Внесение данных из формы в базу perl dbi

Форум — Web-development

Есть маленькая база test_db с одной таблицей test_lab, в которой два поля - id и fio. Вот скрипт, с помощью которого в форму вносится ФИО, затем по нажатию кнопки данные вносяться в базу и выводяться в браузер:

#!/usr/bin/perl
# Путь к интерпретатору
#прагмы интерпретартора
use strict;
use warnings;
#подключаемые модули
use CGI;
use DBI;
my $query=new CGI;
# подключение к базе данных
my $dbh=DBI->connect('DBI:mysql:database=test_db;host=localhost','root','q',
{AutoCommit=>1,RaiseError=>1,PrintError=>0});
my $t = $query->param("t");
print "Content-Type: text/html\n";
print "\n";
if ($t eq "save") {
    my $fio = $query->param("fio"); 
    my $sth = $dbh->prepare("INSERT INTO test_lab VALUES(null,?);");
    $sth->execute($fio);
    $sth = $dbh->prepare("SELECT * FROM test_lab;");
    $sth->execute();
    while (my @row = $sth->fetchrow_array) {
        print $row[1]."<br>";
    }
}
print "<html><head></head><body>
      <form action='/index.pl'>
        <input type='hidden' name='t' value='save'>
        <input type='text' name='fio'> </br>
        <input type='submit'>
      </form>
</body></html>";

Мне нужно добавить в таблицу пару полей, что я через консоль mysql успешно сделал, база сейчас выглядит так:

Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| fio      | varchar(100) | YES  |     | NULL    |                |
| birthday | int(4)       | NO   |     | NULL    |                |
| gender   | varchar(10)  | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

Я так понимаю, что в html-разметку нужно дописать input'ы для вставки в поля birthday и gender. А вот как это правильно дописать в самом коде - малость не понимаю...что нужно помудрить с INSERT INTO... Буду признателен за помощь!

 , ,

kyka276
()

Советы при написании интернет-магазина

Форум — Talks

Взял себе в качестве дипломного проекта написание небольшого интернет-магазина автозапчастей, ибо интересует веб-разработка в целом + реальная возможность получить первый опыт + практика на реальном «проекте». При разработке хочу использовать HTML+CSS+JS/JQuery/AJAX+MySQL+PHP. Так же интересует такое понятие, как CMS... Почитал в интернете в целом об этой штуковине и хочу задать знатокам вопрос - как можно использовать CMS в написании собственного веб-приложения? Поделитесь, пожалуйста, опытом и советами, буду предельно признателен :)

 , ,

kyka276
()

настройка nginx+perl

Форум — Web-development

Решил себе поставить на ubuntu 14.04 nginx+perl+mysql. Поставил командой sudo apt-get install mysql-server nginx fcgiwrap. Установилось всё без проблем. Так же через cpan установил DBI и CGI, установка прошла успешно. Создал так же файл /etc/nginx/sites-available/test.com и в этот файл записал следующее:

server {
    listen   80;
    server_name test.com;    access_log /home/www/test.com/logs/access.log;
    error_log /home/www/test.com/logs/error.log;
    root   /home/www/test.com/public_html;
    location ~ \.pl$ {
        gzip off;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
        fastcgi_index index.pl;
        fastcgi_param SCRIPT_FILENAME /home/www/test.com/public_html/index.pl;
    }
    location / {
        index  index.pl;
    }
}

В директории /etc/nginx/sites-enable сделил символическую ссылку на ../sites-available/test.com

Вот содержание файла /etc/hosts : 127.0.0.1 localhost 127.0.1.1 ubuntu 127.0.0.1 test.com

# The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters

Сам скрипт для запуска лежит по адресу /home/www/test.com/public_html/index.pl Вот его содержимое:

#!/usr/bin/perl
  #
  # The traditional first program.

  # Strict and warnings are recommended.
  use strict;
  use warnings;

  # Print a message.
  print "Hello, World!\n";

Перезапускаю nginx и переходя по адресу http://test.com/index.pl или просто по test.com получаю ошибку 502 BAD GATEWAY...

Вот что по этому поводу пишеться в логе: 2017/03/27 05:13:35 [error] 2706#0: *1 FastCGI sent in stderr: «Cannot execute script (/home/www/test.com/public_html/index.pl)» while reading response header from upstream client: 127.0.0.1, server: test.com, request: «GET /indexpl HTTP/1.1», upstream: «fastcgi://unix:/var/run/fcgiwrap.socket:», host: «test.com»

Помогите, пожалуйста, разобраться новичку с настройкой :)

 ,

kyka276
()

Поговорим о фронт-энде

Форум — Talks

Господа, назрел такой интересный вопрос - что, собственно говоря, входит в обязанности тру-фронта? И обязан ли тру-фронт заниматься вёрсткой макетов? С того же psd-шаблона, например. И как с подобными задачами справляются с учетом использования GNU/Linux? Какой инструментарий при разработке в приоритете? Интересуют все-все мнения :)

 ,

kyka276
()

Добавить сортировку по времени

Форум — Development

Написал скрипт, суть задания его такова: «Командный файл, который из каталога, указанного в командной строке первым параметром (если такого каталога нет – выдача диагностического сообщения) выбирает имена файлов, начинающиеся либо с латинской буквы, либо с другого символа в зависимости от ключа, указанного вторым параметром в командной строке (если второго параметра нет – выдача диагностического сообщения), сортирует их по времени создания и выдает их пронумерованный список в файл „my_sort“.»

Вот единственное, что не могу понять, как из этого задания влепить - это сортировка по времени... Может, кто нибудь знает, как сортировку по времени правильно реализовать?

#!/bin/csh

if ( ! -d $1 ) then
	echo 'Dir not exist'
	exit;
endif
if ( $2 == '' ) then
        echo 'Second argument is empty'
        exit;
endif
set i = 1
set files = `ls -a --time=ctime $1`
foreach f ($files)
	switch ($f)
		case [A-z]*:
		if ( $2 == letter ) then
			echo "$i " $f >> tmp
                        @ i = $i + 1
		endif
		breaksw
		default:
                if ( $2 == symbol ) then
                        echo "$i " $f >> tmp
                        @ i = $i + 1
                endif
		breaksw
	endsw
end

cat tmp>my_sort
rm -f tmp

 

kyka276
()

Потоки

Форум — Development

Подскажите, пожалуйста, что означает функция (на языке Си) thread_enqueue() ?

 

kyka276
()

Как Вы изучали Java?

Форум — Development

Вопросы к Java-программистам. Как опытным, так и начинающим. Почему выбрали именно Java? Сколько времени вы потратили на изучение до уровня Java Junior Developer? Какими источниками обучения пользовались? Что посоветуете человеку, который только взялся как за Java, так и программирование в целом?

Перемещено mono из talks

 ,

kyka276
()

Кто какой ВУЗ заканчивал?

Форум — Talks

Интереса тред.

Кто какой ВУЗ заканчивал? Пригодились ли вам полученные знания, как и диплом в целом? Какие воспоминания остались о ВУЗе? Что было самым сложным? А что давалось легко?

 

kyka276
()

Ошибка при компиляции

Форум — Development

Есть программа:

#include <iostream>

#include <sys/types.h>

#include <sys/stat.h>

#include <unistd.h>

#include <stdio.h>

#include <dirent.h>

#include <string.h>

#include <stdlib.h>

#include <sys/time.h>

#include <sys/resource.h>

#include <sys/syscall.h>

#include <pthread.h>

#include <cstdio>



using namespace std;



void* procInfo(void*);

mode_t readUmasl();

int cntOpenFiles();

void printArgv();

void printCodDataStackEnvSegment();



char** argvG;

int argcG;

extern char** environ;



int main(int argc, char** argv)

{

  argvG =  (char**)malloc(argc*sizeof(char*));

  memcpy(argvG, argv, argc*sizeof(char*));

  argcG = argc;

  procInfo(NULL);

  if(!fork())

  {

//printf("-------------------CHILD_PROC-------------------\n");  

  cout << "-------------CHILD PROCESS-------------" << "\n";

    procInfo(NULL);

  }

  wait();

  pthread_t thread_id;

//printf("------------------IN_THREAD-----------------\n"); 

 cout << "-------------IN THREAD-------------"<< "\n";

  pthread_create(&thread_id, NULL, procInfo, NULL);

  pthread_join(thread_id, NULL);

  pause();

return 0;

pause();

}



void* procInfo(void* data )

{

  cout << "PID: " << getpid() << "\n";

  cout << "PPID: " << getppid() << "\n";

  cout << "UID: " << getuid() << "\n";

  cout << "GID: " << getgid() << "\n";

  cout << "SID: " << getsid(getpid()) << "\n";

  cout << "PGID: " << getpgid(getpid()) << "\n";

  cout << "UMASK: "<< readUmasl() << "\n";

  cout <<"Control terminal:";

  if(isatty(0))

      cout << ttyname(0);

  else

      cout <<"closed";

  cout <<"\n";

  char buff[256];

  getcwd(buff, 256);

  cout << "Current directory: " <<buff<< "\n";

  cout << "count open files: " << cntOpenFiles() << "\n";

  cout << "Priority: " <<  getpriority(PRIO_PROCESS, getpid());



  printf("\n-------------------Priority-------------------\n");

  setpriority(PRIO_PROCESS, getpid(),5);

  cout << "Priority: " <<  getpriority(PRIO_PROCESS, getpid());

  printArgv();

  printCodDataStackEnvSegment();

  return NULL;

}



mode_t readUmasl()

{

  mode_t mask = umask(0);

  umask(mask);

  return mask;

}



int cntOpenFiles()

{

  char buff[256];

  sprintf(buff,"/proc/%i/fd",getpid());

  DIR *dir = opendir(buff);

  

  int i=0;

  dirent* entry;

  while((entry = readdir(dir))!=NULL)

  {

     ++i;

  }

  closedir(dir);

  i -= 3; 

  return i;

}



void printArgv()

{

  for(int i=0; i <argcG; i++)

  {

      cout << argvG[i];

  }

  cout << "\n";

}



void printCodDataStackEnvSegment()

{

  // Cod segment 1

  char buffer[256];

  sprintf(buffer, "/proc/%i/maps", getpid());

  FILE *map = fopen(buffer, "r");

  fgets(buffer,256,map);

  char *pCodSegStart = strtok(buffer, "-");

  char *pCodSegEnd = strtok(NULL, " ");

  cout << "Code segment: " << pCodSegStart <<" " << pCodSegEnd << "\n";

  // Data segment 3

  char buffer1[256];

  fgets(buffer1,256,map);

  fgets(buffer1,256,map);

  char *pDataStart = strtok(buffer1, "-");

  char *pDataEnd = strtok(NULL, " ");

  cout << "Data segment: " << pDataStart <<" " << pDataEnd<< "\n";

  fclose(map);

  // Stack segment 3 с конца

  if (syscall(SYS_gettid) == getpid())

  {

    cout << "in main thread \n";

    char buff[256];

    sprintf(buff, "/proc/%i/maps", getpid());

    map = fopen(buff, "r");

    int i = 0;

    while(fgets(buff,256,map) != NULL){

	    ++i;

    }

    rewind(map);

    int j = 0;

    for (; j != i - 2; ++j ){

	    fgets(buff, 256, map);

    }

    fclose(map);

    char *pStackStart = strtok(buff, "-");

    char *pStackFinish = strtok(NULL, " ");

    cout << "Stack segment: " << pStackStart <<" " << pStackFinish<< "\n";

  }

  else

  {

    void *addr;

    size_t size;

    pthread_t self;

    pthread_attr_t attr;

    

    self = pthread_self();

    pthread_getattr_np(self, &attr);

    pthread_attr_getstackaddr(&attr, &addr);

    pthread_attr_getstacksize(&attr, &size);

    

    cout << "in non main thread now \n";

   

    printf("stack addr = %0lx\n", addr);

    printf("stack addr = %0lx\n", addr-size);



  }

  

  // Env segment

  cout << "Enviroment segment: "<< environ[0] << " ";

  int i = 0;

  while(environ[i + 1] != NULL) {

	  ++i;

  }

  cout <<  environ[i] + strlen(environ[i]) + 1 << "\n";

}

Делаю gcc program.c - получаю ошибку «program.c:1:20: fatal error: iostream: No such file or directory #include <iostream> ^ compilation terminated.»

В чем причина?

 

kyka276
()

Проблема с make

Форум — Development

При попытке собрать проект (учебный) с помощью make вылазит вот такое: make: *** No rule to make target `dc.h', needed by `array.o'. Stop. Содержимое файла Makefile:

LANG = cc

CC = g$(LANG)

FLAGS = -ansi -Os

DEB_FLG= 

O_FILES = array.o stack.o dc.o misc.o numeric.o eval.o string.o

dc:  $(O_FILES)

	$(CC) $(DEB_FLG) $(FLAGS) -o dc $(O_FILES) -L. -lbc

clean:

	rm -f $(O_FILES)

dcdeb: 

	make clean

	make DEB_FLG=-g	

dcplus:

	make clean

	make LANG=++

array.o: array.c dc.h dc-regdef.h

	$(CC) $(DEB_FLG) $(FLAGS) -c array.c dc.h dc-regdef.h -L. -lbc

dc.o: dc.c dc.h dc-regdef.h getopt.h

	$(CC) $(DEB_FLG) $(FLAGS) -c dc.c dc.h dc-regdef.h getopt.h -L. -lbc

misc.o: misc.c dc.h 

	$(CC) $(DEB_FLG) $(FLAGS) -c misc.c dc.h -L. -lbc

eval.o: eval.c dc.h

	$(CC) $(DEB_FLG) $(FLAGS) -c eval.c dc.h -L. -lbc

numeric.o: numeric.c dc.h number.h

	$(CC) $(DEB_FLG) $(FLAGS) -c numeric.c dc.h number.h -L. -lbc

stack.o: stack.c dc.h dc-proto.h dc-regdef.h

	$(CC) $(DEB_FLG) $(FLAGS) -c stack.c dc.h dc-regdef.h -L. -lbc

string.o: string.c dc.h

	$(CC) $(DEB_FLG) $(FLAGS) -c string.c dc.h -L. -lbc

misc.a: misc.c eval.c

	$(CC) $(FLAGS) -c -fPIC misc.c

	$(CC) $(FLAGS) -c -fPIC eval.c

	ar rc misc.a misc.o eval.o

В чем может заключаться ошибка?

 ,

kyka276
()

Нужна помощь по C-SHELL

Форум — Development

Добрый вечер, господа. Нужна очень-очень помощь по csh. Не успеваю за лабораторными, пока что еще не начал осваивать эту оболочку, а задание делать надо, рассчитываю на помощь знакотов! Задание «Командный файл, в котором просматриваются все подкаталоги текущего каталога и создаются два списка каталогов. Если в просматриваемом подкаталоге число файлов меньше 10, то список этих файлов со строкой- заголовком - полным именем подкаталога, дописывают в файл „Littlelist“ иначе - в „Biglist“.»

Буду очень признателен!

 csh shell

kyka276
()

Установка системы управления проектами Redmine на Ubuntu

Форум — Admin

В учебных целях необходимо установить Redmine на Ubuntu 15.04 vivid x64. Перелопатил весь гугл, в том числе и официальные мануалы с сайта Redmine - не работает. То с MySQL проблемы, то сам Редмайн при установке выбрасывает ошибки, то Apache2 не конфигурируется... Реально, перелопатил весь гугл, пробовал кучу мануалов и везде свои подводные камни. Может, кто из форумчан знает, как без проблем поставить это чудо на Ubuntu? Поделитесь опытом, буду признателен!

 , , ,

kyka276
()

RSS подписка на новые темы