LINUX.ORG.RU

Сообщения dicos

 

Хочу изучить DevOps. Какие курсы выбрать?

Добрый день. В моей организации в ближайшем будущем потребуется DevOps. Хочу в этом направлении поработать. Поэтому у меня вопросы к бывалым: с чего начать и какие курсы смотреть? Стоит ли смотреть на всякие яндекс практикумы и скиллбоксы?

 ,

dicos
()

Стоит ли использовать docker для freebsd?

Добрый день. Нужно сделать какой-то автоматический деплой на сервер, причем возможно нужно будет устанавливать дополнительно какие-нибудь пакеты в систему. Мне выделили сервер на freebsd, причем без админских прав.

В идеале мне бы хотелось, чтобы работало так: создаю новый образ из какого-то шаблонного, потом этот образ передаю сис.админу.

Если бы был Linux на сервере, использовал бы docker. Но его на freebsd не рекомендуют использовать, так как он не стабилен.

Есть Jails, но я так понял, что он долго собирается и не нашел документацию как переносить образы между машинами.

 ,

dicos
()

Как вернуть изначальный вид эмулятора терминала?

Доброе утро.

Использую xubuntu 16.04. Сегодня утром был сбой в работе, который проявлял себя так: загружается система до экрана выбора пользователя. Я выбираю своего пользователя, что-то происходило, и я опять попадал на экран выбора пользователя. Для исправления этой проблемы я удалил файлы .Xauthority .ICEauthority и .cache/ . Перезагрузил компьютер и проблема вроде как решилась.

Сейчас внешний вид терминала изменился: в нем увеличился шрифт, фоновый цвет, само оформление окна. http://pix.toile-libre.org/upload/original/1485746736.png

 ,

dicos
()

Не могу объявить переменную в структуре.

#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
#include <cstring>
#include <sys/types.h>
#include <string>


struct fileInfo {
  time_t st_mtime;
  std::string path;
};

Во время компиляции:

g++ -std=c++1y -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
In file included from /usr/include/i386-linux-gnu/sys/stat.h:105:0,
                 from ../main.cpp:5:
../main.cpp:14:10: error: expected ‘;’ at end of member declaration
   time_t st_mtime;
          ^
../main.cpp:14:10: error: expected unqualified-id before ‘.’ token
   time_t st_mtime;
          ^
make: *** [main.o] Ошибка 1

15:05:18 Build Finished (took 259ms)

 

dicos
()

Программа на Go потребляет очень много оперативной памяти.

Добрый день. Написал программу, которая тупо открывает csv файлы и читает их. Размер файлов около 100 МБ. Файлы полностью считываются, сортируются и закрываются. Проблема в том, что программа в какой-то момент заняла около 1200 МБ, после этого я остановил работу программы.

package main

import (
	"bufio"
	"encoding/csv"
	"fmt"
	"os"
	"path/filepath"
	"log"
	"sort"
)

type FInfo struct {
	path string
	FileInfo os.FileInfo
}

type FInfoSlice []FInfo

func (slice FInfoSlice) Len() int {
	return len(slice)
}

func (slice FInfoSlice) Less(i, j int) bool {
	return slice[j].FileInfo.ModTime().Before(slice[i].FileInfo.ModTime())
}
func (slice FInfoSlice) Swap(i, j int) {
	slice[i], slice[j] = slice[j], slice[i]
}

func getListFiles(paths []string) []string {
	count_paths := len(paths)
	info := make(FInfoSlice, count_paths)
	for index, path := range paths {
		info[index].FileInfo, _ = os.Stat(path)
		info[index].path = path
	}
	sort.Sort(info)
	new_paths := paths
	for index, f_struct := range info {
		new_paths[index] = f_struct.path
	}
	return new_paths
}

type csvSlice [][]string

func (c csvSlice) Len() int {
	return len(c)
}
func (c csvSlice) Swap(i, j int) {
	c[i], c[j] = c[j], c[i]
}
func (c csvSlice) Less(i, j int) bool {
	return c[i][4] < c[j][4]
}

func readCsv(path string) [][]string {
	file, err := os.Open(path)
	defer file.Close()
	if err != nil {
		log.Fatal(err)
	}
	reader := csv.NewReader(bufio.NewReader(file))
	reader.Comma = ';'
	values, _ := reader.ReadAll()
	sort_values := values[1:]
	sort.Sort(csvSlice(sort_values))
	return sort_values
}

func in(name string, info map[string]*csv.Writer) bool {
	for i_name, _ := range info {
		if i_name == name {
			return true
		}
	}
	return false
}

func writeCsvFile(path string) {
	for range readCsv(path) {
		continue
	}
}

func main() {
	pattern_out := fmt.Sprintf("%s/*.csv", os.Args[2])
	old_files, _ := filepath.Glob(pattern_out)
	for _, path := range old_files {
		os.Remove(path)
	}

	pattern_in := fmt.Sprintf("%s/*.csv", os.Args[1])
	paths, err := filepath.Glob(pattern_in)
	if err != nil {
		log.Fatal(err)
	}
	f_info := getListFiles(paths)
	for _, path := range f_info {
		writeCsvFile(path)
	}
}

Есть подозрение, что как-то не так работает уборка мусора или я что-то делаю не так.

go version go1.6 linux/386

 

dicos
()

Помогите выбрать язык программирования.

Добрый вечер. Нужен какой-то язык программирования для анализа больших csv файлов, написанная программа на котором работала быстро. Все решения на python не подходят из-за медлительности, делать что-то с применением cython долго и не всегда приводит к резкому увеличению производительности.

Что мне надо:

  1. Наличие отладчика;
  2. Понятный и легкий синтаксис.
  3. Автоматическая уборка мусора. Руками освобождать память — усложнение кода.

Что я пробовал:

  1. Nim — проблемы с инфраструктурой (нормально не запускается отладка) + еще не стабилен. Но язык понравился.
  2. Rust — на мой взгляд переусложнили с unwrap(), например + зачем-то сделали 2 вида строк.
  3. С, С++ — не нравится «ручная» работа с памятью.

Сейчас присматриваюсь к Go, но отталкивает поддержка многопоточности, Scala — Хорошая интеграция с экосистемой java или .net. Еще не читал документацию.

 ,

dicos
()

После обновления xubuntu в трее появились 2 индикатора времени

Доброе утро. Обновил Xubuntu с версии 13.10 до 14.04. После первой перезагрузки вместо одного индикатора времени появились 2 индикатора: http://pix.toile-libre.org/?img=1402975090.png

Второй индикатор отображается нормально, а вот первый абсолютно лишний, так как не понятно что написано и доступа к настройкам нет.

Как убрать 1-й индикатор?

dicos
()

В dll «корявое» название функции

Добрый вечер. Нужно для приложения, которое работает под вайном сделать dll файл.

Вместо функции с названием qwe в dll файле есть работающая функция _Z3qwev. Эта функция работает так же как функция qwe. Такое поведение меня смущает, так как следующая версия компилятора может дать функции другое название. Как сделать так, чтобы название функции, которая дана в исходном коде и то, что в dll файле были одинаковыми?

По документации mingw и материалам, которые есть в интернете не нашел ответа

Программный код исходного файла такой:

int qwe() {
    return 1;
}

Компилирую так:

../../compiler/bin/i686-w64-mingw32-c++ -shared -o out.dll simple.cpp

Узнал, что имя функции не правильное, выполнив такую команду:

../../compiler/bin/i686-w64-mingw32-objdump -p out.dll | grep qwe
	[   2] _Z3qwev

Версия компилятора:

../../compiler/bin/i686-w64-mingw32-c++ --version
i686-w64-mingw32-c++ (GCC) 4.9.0 20130523 (experimental)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Сама dll-ка http://yadi.sk/d/Mzl4ns-JMnGLj

 , , ,

dicos
()

Гит считает текстовый файл бинарным

Вот что делал: добавил файл, внес в этот файл изменения (добавил новую строку)

git commit -a -m 'fix'
[master a405d40] fix
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 mql5/export.mq5
dmitry@dmitry-home:~/web/trading/trading$ git diff
diff --git a/mql5/export.mq5 b/mql5/export.mq5
index dc15301..e8fee63 100644
Binary files a/mql5/export.mq5 and b/mql5/export.mq5 differ

Чтобы такого эффекта не было, создал файл .gitattribute с таким содержимым:

*.mql utf16 diff merge -crlf

http://yadi.sk/d/7WzVRvkHMVpna — сам файл

Этот файл был создан в среде MetaTrader 5

Что нужно сделать, чтобы гит считал файлы не бинарными, а текстовыми?

 

dicos
()

pidgin не отображается в трее, Ubuntu 13.04

Добрый день. Pidgin перестал появляться в трее.

В настройках pidgin-а Средства->Настройки->интерфейс параметр параметр «показывать значок системного лотка» установлен в значение «всегда»

То, что написано в интернете, к примеру http://www.linuxrussia.com/2013/05/systray-whitelist-ubuntu.html не помогло

В трее продолжают работать Skypem, Shutter, My-Weather-Indicator.

Если невозможно в трей загнать pidgin, то каким образом можно оперативно узнать о полученных сообщениях?

 , ,

dicos
()

В какой СУБД хранить сложные структуры данных?

Добрый день. Есть такая структура данных:

{
  key_number_1: {
      key_date_1: [
           {'min': 125,
            'max': 300},
           {'min': 10,
            'max': 15},
           {'min': 15,
            'max': 20,}
           ...
           {'min': 0,
            'max': 10},
        ],
      key_date_2: [
           {'min': 125,
            'max': 300},
           ...
           {'min': 10,
            'max': 15},
        ],
     ...
      key_date_3: [
           {'min': 600,
            'max': 800},
           ...
           {'min': 90,
            'max': 100},
        ],
    }
  key_number_2: {
      key_date_1: [
           {'min': 10,
            'max': 40},
           ...
           {'min': 0,
            'max': 10},
        ],
      key_date_2: [
           {'min': 125,
            'max': 300},
           {'min': 10,
            'max': 15},
        ],
     ...
      key_date_3: [
           {'min': 600,
            'max': 800},
           ...
           {'min': 110,
            'max': 111},
    }
}
Мне нужно извлекать по key_number_* и key_date_* все или часть элементов, которые находятся на третьем уровне. Т.е. словари {min: ..., max: ...}

Решением «в лоб» было создание одной «плоской» таблицы с такой структурой:

id
number
date
min
max
В качестве СУБД использую MySQL, тип таблицы — MyISAM. Сделал составные индексы (number date). Текущий размер таблицы около 12 ГБ, количество строк около 200 млн. Выборка происходит очень долго.

Одной из идей как увеличить быстродействие было разнести данные по key_number_* и key_number_ в отдельные таблицы. Название таблиц — Table{$key_number}_{$str_key_date}. От этой идеи отказался, так как будет трудно делать выборку по key_number_*, игнорируя key_number_* из-за того, что появится куча таблиц, названия которых придется получать, как-то отделять номер от даты.

Сейчас смотрю в сторону нереляционных баз данных, в которых можно будет извлекать нужные данные по нужным мне ключам.

Сейчас выбираю себе нереляционное СУБД. Пока что по документации:

  • Redis — простая БД для хранения ключ -> значение;
  • CouchDB — умеет хранить данные в формате JSON, но не понятно, может ли быстро извлекать данные;
  • MongoDB — судя по документации, у меня сложилось впечатление, что эта штука нужна для создания «плоских» таблиц без структуры. По идеи можно перенести данные с MySQL, но не думаю, что быстродействие увеличится.

Собственно вопрос в том, какую СУБД мне выбрать?

dicos
()

Не получается пробросить 80-й порт в локальных сетях

Доброе утро. Есть 2 локальные сети: 192.168.1.0 и 192.168.20.0. В сети 192.168.20.0 стоит хранилище, которое работает через 80-й порт. Ip адрес хранилища: 192.168.20.2

Моя задача — сделать так, чтобы все компьютеры из сети 192.168.1.0 имели доступ к хранилищу.

Для того, чтобы «связать» 2 сети, был выделен компьютер с двумя сетевыми картами. На нем установил Ubuntu 12.10. первой сетевой карте выдали ip адрес 192.168.1.199, а второй сетевой карте назначили адрес 192.168.20.1.

Предполагается, что если людям из сети 192.168.1.0 понадобится «залезть» на хранилище, то они в адресной строке браузера будут вводить ip адрес 192.168.1.199.

Полезная информация:

# ifonfig
lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

p2p1      Link encap:Ethernet  HWaddr 30:85:a9:44:c0:9c  
          inet addr:192.168.20.1  Bcast:192.168.20.255  Mask:255.255.255.0
          inet6 addr: fe80::3285:a9ff:fe44:c09c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1749 (1.7 KB)  TX bytes:6388 (6.3 KB)

p4p1      Link encap:Ethernet  HWaddr 64:70:02:01:0a:ea  
          inet addr:192.168.1.199  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6670:2ff:fe01:aea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9437 errors:0 dropped:1745 overruns:0 frame:0
          TX packets:1242 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:830469 (830.4 KB)  TX bytes:148321 (148.3 KB)

# cat /proc/sys/net/ipv4/ip_forward
1

Мои настройки iptables: iptables -t nat -A PREROUTING -p tcp -d 192.168.1.199 --dport 80 -j DNAT --to-destination 192.168.20.2:80 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.20.2 --dport 80 -j SNAT --to-source 192.168.1.199

Логика такая: все, что приходит на 80-й порт ip адреса 192.168.1.199 перенаправляем на адрес 192.168.20.2, а все, что приходит с адреса 192.168.20.2 направляем на 192.168.1.199

Проблема в том, что из сети 192.168.1.0 не получается зайти на адрес 192.168.1.199 через браузер.

Отладочная информация:

# iptables -L -t nat -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            192.168.1.199        tcp dpt:80 to:192.168.20.2:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       tcp  --  0.0.0.0/0            192.168.20.2         tcp dpt:80 to:192.168.1.199

dicos
()

bash: не могу разобраться с циклом for

Данный скрипт должен в текущем каталоге отформатировать текст при помощи команды autopep8

Логика такая:

1В цикле получаем нужные файлы

2Каждый файл открываем командой autopep8 и сохраняем во временный файл

3 Временным файлом замещаем текущий файл

#!/bin/bash
for filename in `find . -name \*py -print0`
do
        autopep8 $filename > /tmp/qwe.py
        mv /tmp/qwe.py $filename 
done

При выполнении скрипта пишет такую ошибку:

[Errno 2] No such file or directory: './helpers.py./urls.py./tests.py./consts.py./management/commands/__init__.py./management/__init__.py./handlers.py./forms.py./views.py./__init__.py./models.py./admin.py'
mv: невозможно переместить «/tmp/qwe.py» в «./helpers.py./urls.py./tests.py./consts.py./management/commands/__init__.py./management/__init__.py./handlers.py./forms.py./views.py./__init__.py./models.py./admin.py»: Нет такого файла или каталога
dicos
()

Есть желание перейти с FoxPro на сетевую СУБД. Какой язык программирования выбрать?

Добрый день. Что сейчас имеем:

Много программ на FoxPro, файлы базы данных которых взаимосвязаны. Программы есть как для windows, так и для DOS.

Нужно выбрать язык программирования, который будет близок к foxpro для программистов. Так как программисты, писали только на foxpro 20 лет, переход на другой язык будет болезненный. Про другие ЯП только слышали, что кто-то на них пишет.

dicos
()

nginx не хочет работать с файлами, названия которых с русскими символами

Добрый день. Проблема такая:

Установил систему тикетов trac. Установил так: бакэнд apache+mod_wsgi на 8080 порту + nginx на 80 порту. Апач настроен так:

<VirtualHost *:8080>
	ServerAdmin self@dicos.ru

	DocumentRoot /***/www/src/
	ServerName domain.ru

	WSGIScriptAlias / /***/www/trac.wsgi
        WSGIDaemonProcess trac processes=2 maximum-requests=6 threads=3 user=trac umask=000
	WSGIProcessGroup trac

        ErrorLog /***/www/error_log
        CustomLog /***/www/access_log common
        ServerSignature On

        <Location "/login">
          AuthType Basic
          AuthName "Trac"
          AuthUserFile /***/www/src/trac.passwd
          Require valid-user
        </Location>
Апач «отдает» нормально файл, то есть через браузер могу зайти на порт 8080 и посмотреть http://domain.ru:8080/attachment/ticket/114/рекламный блок 1 (страница новост...

nginx настроен так:

server {
    listen 80;
    server_name domain.ru;
    access_log /***/www/nginx.access_log;
    error_log /***/www/nginx.error_log;
    client_max_body_size 50M;
    location ~ /*\.py* {
        deny all;
    }
    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-for $remote_addr;
        proxy_set_header Host $host;
        proxy_connect_timeout 60;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        proxy_redirect off;
        proxy_set_header Connection close;
        proxy_pass_header Content-Type;
        proxy_pass_header Content-Disposition;
        proxy_pass_header Content-Length;
    }
}
Когда через браузер запрашиваю файл http://domain.ru/attachment/ticket/114/рекламный блок 1 (страница новостей в ... пишет
403 Forbidden
nginx/0.8.54
Что не так настроил в nginx?

dicos
()

не могу настроить proftpd за nat-ом

Добрый день

На фТП сервере (192.168.2.2) «крутится» Ubuntu 11.04, proftd ставил из репозитория, конфигурация такая:

Include /etc/proftpd/modules.conf
UseIPv6				on
IdentLookups			off
UseReverseDNS off
ServerName			"Debian"
ServerType			standalone
DeferWelcome			off
MultilineRFC2228		on
DefaultServer			on
ShowSymlinks			on
TimeoutNoTransfer		600
TimeoutStalled			600
TimeoutIdle			1200
DisplayLogin                    welcome.msg
DisplayChdir               	.message true
ListOptions                	"-l"
DenyFilter			\*.*/
DefaultRoot			~
Port				21
MasqueradeAddress		1.1.1.1
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>
MaxInstances			30
User				proftpd
Group				nogroup
AllowOverwrite			on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>
<IfModule mod_ratio.c>
Ratios off
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>
Include /etc/proftpd/conf.d/
Других настроек не делал

В качестве шлюза (192.168.2.1, внешний 1.1.1.1) стоит Ubuntu 11.04, команды/настройки iptables такие:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -p igmp -j ACCEPT
iptables -A FORWARD -s 1.1.1.1/24 -p udp -j ACCEPT

iptables -A INPUT -s 192.168.2.0/255.255.255.0 -i eth1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -p udp -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 192.168.2.2:80
iptables -A FORWARD -i eth0 -d 192.168.2.2 -p tcp --dport 80 -j ACCEPT

#пробрасываю порты ftp
iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 21 -j DNAT --to-destination 192.168.2.2:21
iptables -A FORWARD -i eth0 -d 192.168.2.2 -p tcp --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 20 -j DNAT --to-destination 192.168.2.2:20
iptables -A FORWARD -i eth0 -d 192.168.2.2 -p tcp --dport 20 -j ACCEPT

filezilla мне пишет:

Статус:	Соединяюсь с 1.1.1.1:21...
Статус:	Соединение установлено, ожидание приглашения...
Ответ:	220 ProFTPD 1.3.3d Server (Debian) [1.1.1.1]
Команда:	USER user
Ответ:	331 Необходим пароль для пользователя user
Команда:	PASS **********
Ответ:	230 Пользователь user подключён
Команда:	SYST
Ответ:	215 UNIX Type: L8
Команда:	FEAT
Ответ:	211-Features:
Ответ:	 MDTM
Ответ:	 MFMT
Ответ:	 TVFS
Ответ:	 UTF8
Ответ:	 MFF modify;UNIX.group;UNIX.mode;
Ответ:	 MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
Ответ:	 SITE MKDIR
Ответ:	 SITE RMDIR
Ответ:	 SITE UTIME
Ответ:	 LANG en-US.UTF-8;en-US
Ответ:	 SITE SYMLINK
Ответ:	 REST STREAM
Ответ:	 SIZE
Ответ:	211 Конец
Команда:	OPTS UTF8 ON
Ответ:	200 UTF-8 активирован
Статус:	Соединение установлено
Статус:	Получение списка каталогов...
Команда:	PWD
Ответ:	257 "/" является текущей директорией
Команда:	TYPE I
Ответ:	200 Тип установлен в I
Команда:	PASV
Ответ:	227 Entering Passive Mode (1,1,1,1,166,221).
Команда:	MLSD
Ошибка:	Превышено время ожидания соединения
Ошибка:	Не могу получить список каталогов!

Пожалуйста, подскажите что я не так настроил.

dicos
()

Как раздать для двух сетей IP адреса

Доброе утро. Есть 2 сети, на которые нужно раздать интернет. Компьютеры одной сети не должны видеть компьютеры другой сети. Но для всех компьютеров должен быть доступ в интернет.

В качестве маршрутизатора выделен компьютер, на котором установлено 3 сетевых карты: одна для интернета, другие для первой и второй сети. На компьютер была установлена убунта с dhcp3-server ом.

в файл /etc/dhcp3/dhcpd.conf прописал следующее:

# первая сеть
subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.5 192.168.2.254;
  default-lease-time 600;
  max-lease-time 7200;
}

# вторая сеть
subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.5 192.168.3.254;
  default-lease-time 600;
  max-lease-time 7200;
}

в файле /etc/network/interfaces написано следующее:

# интернет
auto eth0
iface eth0 inet static
        address 192.168.1.190
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 217.70.106.5 217.70.96.34

#сеть №1
auto eth1
iface eth1 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        gateway 192.168.1.190

#сеть №2
auto eth2
iface eth2 inet static
        address 192.168.3.1
        netmask 255.255.255.0
        network 192.168.3.0
        broadcast 192.168.3.255
        gateway 192.168.1.190

А проблем вот в чем: IP адреса раздаются только со второй сетевой карты.

Как сделать так, чтобы третья сетевая карта раздавала IP адреса, назначенные третьей сети?

dicos
()

Слабый компьютер зависает при сетевой загрузке.

Доброе утро. Создаю терминальную LTSP систему на основе ubuntu 9.10. Загрузка по сети осуществляется при помощи etherboot так как парк компьютеров, которые будут терминалами, очень разношерстный, перепрошивать BIOS и сетевые карты будет очень долго.
Компьютер «мощный», конфигурация которого P-600МГц, 128 МБ оперативной памяти, загружается и все приложения работают без проблем. Если уменьшить количество оперативной памяти с 128 до 64 МБ, то происходит следующее: загружается компьютер по сети, далее, появляется заставка ввода логина и пароля. После ввода логина и пароля происходит загрузка Gnome, но не до конца, в какой-то момент загрузка обрывается, и появляется снова заставка для ввода логина и пароля. После повторного ввода пары логин-пароль ситуация повторяется.
На слабых компьютерах происходит следующее: загружается etherboot, далее появляется логотип ubuntu в середине экрана. Примерно через минуту на клавиатуре начинают моргать светодиоды «caps lock» и «scroll lock». После этого момента, судя по сетевым картам, обмена информацией между ними не происходит. Конфигурация «слабого компьютера»: P-1, 32 МБ.
Первое, что пришло мне на ум, это заменить Gnome на Xfce и после установки обновить ядро и образ ltsp. Все это дело я сделал командами

apt-get remove ubuntu-desktop
apt-get install xubuntu-desktop
ltsp-update-kernels
ltsp-update-image
После выполнения этих команд я перезагрузил сервер, на сервере загрузилась оболочка Xfce. Но на «мощном компьютере» (P-600, 128МБ) загружается Gnome.
Подскажите, как заставить работать ltsp на слабых компьютерах, если на довольно мощном для таких задач компьютер не спавляется?

dicos
()

Принтер на windows машине требуте логин и пароль

Доброе утро. Стоит принтер, доступ к которому открыт по сети, с 4 компьютеров с ОС windows XP печать происходит нормально.
Проблема возникла с машиной, на которой установлен ubuntu 9.10. На ней установлена samba, но ее не настраивал.
Добавляю принтеры через «Система»--«Администрирование»--«Печать»--«Создать». Потом выбираю пункт «Сетевой принтер»--«Windows Printer via SAMBA». Далее поле «smb://» через кнопку «обзор» выбираю принтер и нажимаю на кнопку «далее». В открывшихся окнах я выбираю производителя и марку принтера (HP LaserJet 1200).
После установки я делаю пробную печать. После того, как я отправляю на печать, появляется окошко «Для печати документа 'Test Page'» (задание 23) требуется проверка подлинности." ниже этой надписи поля ввода username и password. Все пароли, какие у меня имелись, я перебрал, но ни один не помог.
Другие принтеры, установленные по сети, печатают нормально.

dicos
()

Не подключаются виртуальные жесткие диски в dos emulator

Добрый день. Я подключал виртуальные жесткие диски в dos emulator так:
1. В каталоге /usr/lib/dosemu/ создал каталог drives.
2. В созданном каталоге создал несколько каталогов, названия которых соответствует названиям жестких дисков (f, n, l, t, s).
3. Затем в каталоге ~/.dosemu/drives/ создал каталоги f, n, l, t и s.
4. Потом в файле dosemu.conf написал $_hdimage = «drives/* drives/f/ drives/n/ drives/l/ drives/t/ drives/s/».
Проблема такая: запущенный эмулятор доса «видит» диски f, n, l, а диски t и s нет. Замена букв t и s не помогла.
Операционная система ubuntu 9.10.

dicos
()

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