LINUX.ORG.RU

Вам файл изменить? sed/awk

Вам настройки изменить? ifconfig

Объясните, что вы хотите сделать, мне кажется вы идете не тем путем.

strangeman ★★★★
()
Последнее исправление: strangeman (всего исправлений: 1)
Ответ на: комментарий от strangeman

Вам файл изменить? sed/awk

Напиши ему скрипт, который можно запустить ./netconfig eth0 ip:192.168.1.1 netmask:255.255.255.0 gw:192.168.1.254 и этот скрипт отредактирует /etc/network/interfaces

sdio ★★★★★
()
Ответ на: комментарий от sdio

Кстати, а ведь иногда чего-то такого не хватает, когда задача не требует расчехлять Ansible/Puppet, но некоторая автоматизация не помешает.

selivan ★★★
()

Неужели в ubuntu нет утилиты командной строки, чтобы изменить настройки сети перманентно?

Barlog_M
() автор топика
Ответ на: комментарий от kostik87

зачем дважды настраивать сначала ip (ifconfig), затем interfaces, с разным синтаксисом? вот было бы удобно иметь единый netctl

Deleted
()
Ответ на: комментарий от Barlog_M

Едрить, звезду нафлудил, а настройки сети не осилил. Иди маны читай, тебе уже написали направление.

anonymous
()
Ответ на: комментарий от Deleted

зачем дважды настраивать сначала ip (ifconfig), затем interfaces, с разным синтаксисом?

Ну вот и настраивайте один раз в interfaces. Кроме всего прочего не обязательно, что используется именно ifconfig, а не iproute2, хотя в Debian сейчас всё же по ifconfig.

вот было бы удобно иметь единый netctl

Кто же мешает напишите. Хотя не ясна целесообразность всего этого, есть же interfaces, плюс ifup и ifdown.

Либо вообще есть NetworkManager.

kostik87 ★★★★★
()
Ответ на: комментарий от Barlog_M

Раздел Job создан для таких как ты. Правда, я сильно сомневаюсь в необходимости такого костыля.

shell-script ★★★★★
()

Походу админы linux похуже вендовых в своей системе разбираются.

Вы никода linux без консольки и GUI не встречали в природе? А он есть.

Хочется настроить сеть для автоматически поднятой через vagrant виртуалки. Vagrant делает это не так, как хотелось бы, поэтому пришла идея в виртуалке дать команду, как выше приводили уже:

«нужная-команда eth0 ip будет вот такой навсегда».

Не изобретая скрипты на awk, кои в инете есть.

Мне не верится, что такой утилиты нет в составе дистрибутива. Нагуглить не удалось, поэтому спросил, а вы развели тут костылестроение.

Barlog_M
() автор топика
Последнее исправление: Barlog_M (всего исправлений: 1)
Ответ на: комментарий от Barlog_M

Мне хочется, чтобы скрипт на sed/awk был написан за меня

Типичное поведение пользователся win/ubuntu)

Мне хочется, чтобы скрипт...входил в состав дистрибутива.

это тебе не сюда вообще. Тут дестрибы не комплектуют

northbear
()
Ответ на: комментарий от Barlog_M

Мне не верится, что такой утилиты нет в составе дистрибутива

Утилит для изменения конфигурационных файлов тысячи. На все случаи жизни cat, vim, emacs, ed, sed, echo, awk, perl, python, mcedit, nano, awk, kate, gedit, kwrite. И они все в составе дистрибутива.

redgremlin ★★★★★
()
Ответ на: комментарий от northbear

немой автомат - ошибка молодости конструктора линуксойда
однозначное - «не нужно»

anonymous
()

Я для себя решил проблему генерации системных конфигов (правда для RHEL, а не для Ubuntu) при помощи m4 и шелл-скрипта.

Конкретно по поводу /etc/network/interfaces, я считаю, что его придумали мудаки какие-то. Сложно сделать более неюзабельную систему настройки сети. Но его всё равно можно генерировать по шаблонам.

Deleted
()
Ответ на: комментарий от sdio

Наверное так и поступлю. Или изменю скриптом файл. Проблему решу. Просто мне не верится, что решения нет готового. В OSX и Win это решается, а в linux... Я думал, что я не знаю просто чего-то.

Barlog_M
() автор топика
Ответ на: комментарий от Barlog_M

Просто мне не верится, что решения нет готового. В OSX и Win это решается

Решение есть: редактирование файла. это также просто и быстро как набить теже данные в командной строке.

Как в OSX и Win конфигурировать vlan, bonding, bridge из командной строки с сохранением?

sdio ★★★★★
()
Ответ на: комментарий от sdio

osx: networksetup

win: netsh

Редактирование файла - это интерактивный процесс. В этом файле есть области, которые редактировать не надо, могут появится новые в следующих версиях ОС. Это же не xml или json, это человекочитаемый файл, созданный для редактирования человеком.

Barlog_M
() автор топика
Последнее исправление: Barlog_M (всего исправлений: 1)
Ответ на: комментарий от Barlog_M

Редактирование файла - это интерактивный процесс. В этом файле есть области, которые редактировать не надо, могут появится новые в следующих версиях ОС. Это же не xml или json, это человекочитаемый файл, созданный для редактирования человеком.

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

Deleted
()
Ответ на: комментарий от Barlog_M

Да чтож ты такой тупенький. Создай готовые шаблоны и просто подменяй файлы конфигурации. Ты и приведенных тобой в пример механизмов не знаешь, они работают по шаблонам, притом в части случаев, тебе шаблорн предлагается набивать по строчке из консоли, вместо того чтоб написать его в файл и подгрузить. Еслиб ты это понимал, то не трахал бы окружающим мозги.

anonymous
()
Ответ на: комментарий от Barlog_M

«нужная-команда eth0 ip будет вот такой навсегда».

ты че упоротый что ле? отредактируй файлик настроек интерфейса и перезапусти скрипт сети.

MikeDM ★★★★★
()
Ответ на: комментарий от Deleted

Не только совместимость и ретрограды. interfaces — debian-specific. Ясно, что дебиановцам не впёрлось создавать велосипед неочевидной полезности, который фактически дублирует существующий способ настройки через редактирование конфигурационного файла. Делать кому-то стороннему кроссдистрибутивное решение на базе существующих способов настройки во-первых, занятие не самое простое ввиду зоопарка дистрибутивов, во-вторых, перспективы весьма туманные — целевая аудитория, для которой кроссдистрибутивность является киллер-фичей, вряд ли слишком большая, и в ней по определению не будет разработчиков дистров, без чего оно не попадёт в дефолтную поставку и получается замкнутый круг — нет в дефолтной поставке дистров→никто не использует→никто не включает в дефолтную поставку. Так что выход был один —
а) делать средство настройки сети изначально дистрибутивонезависимым и не основанном на существующих решениях;
б) это средство должно иметь преимущество над существующими способами, чтобы стимулировать использование, просто альтернатива шансов имеет мало — ретрограды-с;
в) делать это должны разработчики достаточно популярного дистра, которые имеют возможность получить начальную базу добровольно-принудительно.
Да, конечно, этот путь тернист и чреват воплями и стонами недовольных, но другого пути у NetworkManager не было, всё остальное просто не имело шансов прижиться.

Зато сейчас NM доступен почти везде и всё больше стоит по дефолту. А с ним уж хотелка ТС элементарно выполняется через nmcli.

P.S. Я как-то не сильно задумывался, почему столь многие ошибочно приписывают NM Лёне, связывая это только с образом «монструозный комбайн от КрасноШляпых», но, после написания поста, очевидно, что они близнецы-братья по причинам и способам появления.

redgremlin ★★★★★
()
24 февраля 2016 г.
Ответ на: комментарий от Barlog_M
sudo sed -i 's/auto lo/#auto lo/g' /etc/network/interfaces
sudo sed -i 's/iface lo inet loopback/#iface lo inet loopback/g' /etc/network/interfaces
ifconfig | grep -e '192.168' -B 1 | head -n 1 | awk '{print "iface "$1" inet static"}' | sudo tee -a /etc/network/interfaces
ifconfig | grep -e '192.168' | awk '{print $2}' | awk -F ":" '{print "adress "$2}' | sudo tee -a /etc/network/interfaces
ifconfig | grep -e '192.168' | awk '{print $4}' | awk -F ":" '{print "netmask "$2}' | sudo tee -a /etc/network/interfaces
ifconfig | grep -e '192.168' | awk '{print $3}' | awk -F ":" '{print "gateway "$2}' | sudo tee -a /etc/network/interfaces
ifconfig | grep -e '192.168' -B 1 | head -n 1 | awk '{print "auto "$1}' | sudo tee -a /etc/network/interfaces[code/]
snifer0k
()
Ответ на: комментарий от Deleted

зачем дважды настраивать сначала ip (ifconfig), затем interfaces

настраиваешь interfaces и делает service networking restart

Deleted
()
Ответ на: комментарий от Barlog_M

Debian 8? Тогда читай про systemd-networkd, его специально для виндовых неосиляторов придумали.
Debian 7? Тогда wicd-cli.

/thread

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от Deleted

Скрипты читающие файлы настроек дергают как раз ip,ifconfig,route,brctl &etc
Ваш КО

anc ★★★★★
()
Ответ на: комментарий от Barlog_M

В ... Win это решается

Решается командой «нужная-команда eth0 ip будет вот такой навсегда» - по Станиславскому «Не верю». Примеры в студию или 4.2
В OS X не знаю как, не нужно было (если и меняю то не перманентно а для этого ifconfig и route хватает), но предполагаю что возможно, там «костылей» команд великое множество.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от Barlog_M

Редактирование файла - это интерактивный процесс.

Необязательно интерактивный. man sed: sed — stream editor

anc ★★★★★
()
Ответ на: комментарий от snifer0k

Ошибся я чуток

в четвертой строке, вместо adress address, ну и удалить network-manager и перезагрузить(можно и sudo service networking restart, но ребут надежнее). Может кто подскажет, как редактировать собственный коментарий или это невозможно впринципе ?

snifer0k
()
Ответ на: Ошибся я чуток от snifer0k

Может кто подскажет, как редактировать собственный коментарий или это невозможно впринципе ?

Ссылкой Править под сообщением. Только она доступна ограниченное время.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.