![](https://habrastorage.org/webt/rx/_7/pa/rx_7paqmrywn1hefmvoxoxoc9o0.jpeg)
Недавно ребята из MikroTik накосячили (опять?) и мой любимый «hAP lite» перестал обновляться. С версии 6.45.1 на 6.45.2 не обновлялся, писал, что недостаточно места. Косяк заметили и в версии 6.45.3 для архитектуры SMIPS уменьшили размер пакета, выкинув из него «лишнее» (smips — reduced RouterOS main package size (disabled LTE modem, dot1x and SwOS support)). Теперь пакет скачивается, места ему хватает, но… После перезагрузки версия остаётся 6.45.1 а в логе видим сообщение «no enough space for upgrade». Факир был пьян и фокус не удался.
Окей, гугл, mikrotik no enough space for upgrade
На forum.mikrotik.com узнаём, что проблема давняя, первое упоминание аж в 2017 году по версии 6.40.4. Похоже в компании есть проблемы с тестированием, печально.
Находим рекомендацию использовать fix_space.npk, скачиваем, закидываем на роутер, перезагружаем его и… Мне не помогло.
Дальше, наконец-то, находим полезную статью. Вкратце:
- обновления ставятся пакетами
- по умолчанию пакеты наследуются от мета-пакета (в моём случае «routeros-smips»)
- удалить (деинсталлировать) наследованные пакеты нельзя, ведь информация о них содержится в мета-пакете
- при обновлении обновляется мета-пакет и его наследники, даже отключенные
- постоянная память роутера разделена на разделы — скрытый системный и доступный для пользователя
- для обновления нужный пакет/мета-пакет необходимо закинуть в пользовательский раздел и перезагрузиться
- если делать обновление из winbox, web-интерфейса или terminal, нужный мета-пакет автоматически скачивается в пользовательский раздел и роутер перезагружается
- при перезагрузке, если в пользовательском разделе есть пакеты, то из системного раздела удаляются все установленные пакеты и устанавливаются те, что находятся на пользовательском разделе, после чего они удаляются из пользовательского раздела
Из вышесказанного следует, что, если на пользовательский раздел закинуть только нужные пакеты и перезагрузиться, то мета-пакет со всеми наследниками удалится, поставятся только нужные пакеты и, за счёт удаления ненужных, высвободится немного места, так необходимого для последующих обновлений. Давайте проверим.
![](https://habrastorage.org/webt/rm/ko/cg/rmkocgi0tp3qdu7cx0yclezdnga.png)
Роутер бюджетный, поэтому в основном используется дома либо в мелких офисах, значит вряд ли нам нужны пакты advanced-tools, hotspot, ipv6, mpls, routing. Подробнее о пакетах читайте на официальной wiki, выбирайте, какие вам нужны, а какие нет. Например на данном роутере ipv6 отключен, а вот дома я его использую. Будьте внимательны, если забыть поставить нужный пакет, то обновление удаленного роутера — к дальней поездке.
![](https://habrastorage.org/webt/t9/k0/0p/t9k00plocwiczrilkcd_kxcphny.png)
Как видим пользовательская раздел пуст, всего занято 8.5MB
![](https://habrastorage.org/webt/e-/um/o8/e-umo8inqnlhywxobvj_w9imhfg.png)
При попытке обновления ругается на отсутствие места. На самом деле скриншот «нарисован», ругалось на версии 6.45.2, с версией 6.45.3 места хватает для загрузки, поэтому пришлось схитрить, но в данном случае мы просто эмулируем похожую ситуацию.
![](https://habrastorage.org/webt/dt/ud/7a/dtud7ajduj0eabwg71bxhgh3h4q.png)
Качаем с офсайта Extra packages для нужной архитектуры, для SMIPS, так как проблема вроде только на ней. Распаковываем и закидываем нужные пакеты на пользовательский раздел. Перезагружаемся.
![](https://habrastorage.org/webt/gw/bc/1o/gwbc1or1c8myttkuoc1lv9kixrg.png)
![](https://habrastorage.org/webt/9c/le/pm/9clepmyomfuhhu4d-_26wxxbxww.png)
Вуаля! Обновление прошло успешно, мета-пакет со всеми наследниками удалён, установлены только нужные пакеты.
![](https://habrastorage.org/webt/i2/ju/vc/i2juvck3gg0yvdwzxlednsa8nac.png)
Пользовательский раздел пуст, всего занято 8MB, т.е. 0.5MB мы высвободили.
Будут ли теперь работать автоматические обновления? Будут. Для проверки, на другом роутере я обновил вручную до версии 6.45.2 а после автоматически обновил до 6.45.3
Ребятам из MikroTik хочется пожелать быть более внимательными, но кто не без греха.
с ошибками и замечаниями прошу в личку
Комментарии (31)
nec_k
16.08.2019 12:10А если вы находитесь рядом с роутером можно забекапить его. Скинуть бак на комп. Сбросить конфигурацию роутера тогда места на нем будет полно, обновить и залить бекап назад. ;) Профит?
Gurturok
16.08.2019 12:15Если вы находитесь рядом с роутером, то можно и через netinstall перешить, там даже кнопочка есть для сохранения конфига
WinstonVrn
16.08.2019 12:42С этими роутерами (с этой архитектурой) эта проблема, как и это решение, с местом была с момента их появления. Уж не знаю является ли это багом, фича скорее, имхо.
whileDo
17.08.2019 15:39Висит один такой, 6.45.3 с 3 кликов в винбоксе и никаких нехваток памяти. Что я делаю не правильно?
WinstonVrn
17.08.2019 17:38Пэкеджес покажите свой и станет понятнее, скорее всего Вы все делаете правильно
daggert
17.08.2019 19:43Только что обновил с 6.40 до последней. Модель с 16 метрами. Обновилась без шаманства. Может пофиксили?
Фоткенvp7
19.08.2019 19:45Шаманство, чистой воды шаманство.
Пару недель назад столкнулся с той же проблемой с hAP lite, что и автор. Пакеты скачались, а апгрейд не проходил.
А тут специально для ответа на ваш комментарий сделал ещё одну попытку обновления,… и удалось!
Причём точно помню, что я не смог обновиться до 6.45.3, а сейчас он встал как миленький.
Подозреваю, что Mikrotik'и втихую чуть-чуть подрезали дистрибутив без обновления номера версии.
Xz-01
17.08.2019 15:39Люди добрые, сами мы не местные, помогите чем могЁте… Дома имею hAP lite TC, тоже столкнулся с этой проблемой, сделал так: бэкап конфига, полный сброс, залил 6.45.2, обновил (кое как), восстановил бэкап. Теперь же эта метода не прокатывает с 6.45.3.
По инструкциям в инете никак не получается обновить его по netinstall — не видит утилита его и всё хоть тресни. Зажимал кнопку ресета, держал пока пальцы не отвалятся, подключался и в 1й и в последний порт. нифига. Как его победить?WinstonVrn
17.08.2019 17:40Подключать для нетинстала устройство нужно только в первый порт (если точнее то тот, который пое или бут), проверьте имеются ли антивирусы и файрволы, запускайте неинсталл с диска С, и от администратора, ну и вспомните не включали ли протектедбут на устройстве
WiseUA
18.08.2019 21:41Если дома стоит, то вряд ли вы пользуетесь всеми пакетами, mpls, ipv6, hotspot и т.д. Скачиваем эктра package, достаём нужное из него и закидываем кучей это все в роутер и перезагружаемся. Для дома хватает обычно — system(ну это понятно), ppp, routing, dhcp, wireless, security, advanced tools.
grib69
17.08.2019 15:40А по моему это жлобство в наше время ставить в роутеры 16 Мб памяти
zurapa
18.08.2019 14:31А по моему, жлобство, это, когда у тебя есть выбор взять роутер с 16, 32, 64, 128 МБ памяти, и ты выбираешь 16МБ, а потом возмущаешься, что это жлобство со стороны производителя.
Я вообще хочу на mikrotik OpenBSD поставить, а эти «жлобы» так мало памяти в него суют. Как жить-то?
WiseUA
17.08.2019 15:40Можно добавить о том что — при таком способе обновления нельзя обновлять только пакет system.npk, есть категория людей толковых, не админы, а так, для дома могут настроить и вот уже второй человек так обжигается, логика такова — обновлю system.npk а потом остальные пакеты. Нет. Так это не работает.
Riot_riot
17.08.2019 15:40Как вариант можно было установить через netinstall и почти наверняка проблемы бы не было
Rivera
18.08.2019 07:56Извиняюсь за дилетантский вопрос, но почему в Микротики ставят так мало постоянной памяти? Вроде бы уже не дефицит.
zurapa
18.08.2019 14:37Зачем ставить лишнее, удорожая тем самым железяку? Вы же хотите MikroTik конкурентного с простеньким домашним роутером, вот и получаете, аналогичный по памяти постоянной и по памяти оперативной. Ктати, у моего Linksys X1000 оперативной памяти ещё больше чем MikroTik hAP lite, а вот с завидной регулярностью зависает с PPPoE к Ростелекому. При том, что MikroTik прекрасно держит это же PPPoE и переподключает его в случае отваливания и прочих неурядиц.
iDm1
18.08.2019 19:05+1Ранее в MikroTik ставили NAND память, её много и она дешевая.
Но затем по какой-то причине они перешли к более традиционному решению для SOHO устройств с использованием NOR памяти, которая существенно дороже и меньше по объему, но более надежна, проста в обращении и выдерживает наибольшее количество циклов перезаписи.
Распространенные чипы NOR памяти как правило сейчас имеют объем 4-32 мегабайта. Разумеется есть и специализированные решения вплоть до 2ГБ, к примеру у Micron, но стоят неоправданно дорого для использования в подобных устройствах.
zurapa
18.08.2019 14:55А куда этим бездельникам из MikroTik писать, чтобы критику высказать, и предложить реально нужную вещь. А то всякого туда понасували, а ходовые вещи, реализовывать приходится скриптами — жесть какая-то.
Вообще их продукция вызывает неистовую радость, когда пересаживаешься с домашних роутеров вроде D-Link, TP-Link и прочих, а потом чуть разобравшись, что нужно для мелкоофисной инфраструктуры, неистово плачешь, потому что в нём есть масса вещей, которые в большинстве случаев не востребованы, но они есть, а есть такие вещи, которые, прям, обязательно в сети нужно, а они так себе реализованы. Я про dhcp, dns и их увязку. В результате, проще поставить nettop самый дешёвый и сделать самому маршрутизатор, так чтобы он закрывал это всё без экзотики.
В своё время купил два по сходной цене радовался как ребёнок, а сейчас вообще не понимаю зачем они мне. Потому как нормально dns кэширующий сделать, это вообще не вариант, если несколько сеток во VPN сделать к домашней, то dns гладко адресующий к dns нужным сетям тоже не отстроить в нём. Я конечно понимаю, что «DNS — это устаревшая технология, ей уже ни кто не пользуется, все напрямую адресуют в ipv6 адресах, ну особо привередливые статично им нужное переписывают, это же не сложно в корпоративную сетку прописать все 100500 хостов, и админу этой сетки сказать, чтобы отписывался каждый раз, как задумает сменить dns-записи», но всё же, хорошо бы было иметь что-то более вменяемое.WinstonVrn
18.08.2019 22:08На форуме написать можно о своих хотелках, на support@mikrotik.com, ну или прийти на MUM, который будет в сентябре, и высказать этим бездельникам все в лицо.
vviz
18.08.2019 23:23Я дико извиняюсь, но, как мне думается, Вы немного путаете кислое с холодным. Речь ведь идет о маршрутизаторе, априори уст-ве, предназначенном для 2-4 уровня стека TCP/IP. Он никак не предназначен для DHCP/DNS etc. Его задача быстро и однозначно пересылать пакеты с одного интерфейса на другой (и особенно хорошо, что таких инт-сов много есть), читая/изменяя заголовки, капсулируя/декапсулируя и т.д. Но производители хотят привлечь покупателя вкусняшками и добавляют в ОС все что можно и нельзя. И тут Вы правы — нужны сервисы — нужно брать ОС и платформу, заточенные для их предоставления. Ведь аппетиты скорее всего вырастут — проверка контента на вирусы, сбор статистики, сбор логов и т.д.
Nomad1
19.08.2019 10:56Мне кажется, эту ошибку можно «взять измором» — переключение по stable/beta/devel веткам вместе с несколькими подряд попытками установки в итоге мне давали нужный результат. Я еще не мог понять, почему старичок 750й обновляется с первого раза (у него 128 памяти), а с остальными (962/952/wAP) приходится шаманить. В логи не лез, потому что после 2-3 попытки таки все обновлялось.
lebedinskiy
Вот чем мне нравится mikrotik — всегда можно найти способ и выкрутится.
Shumsky90
чем мне нравится НЕ микротик: не нужно искать способ и выкручиваться.
Am0ralist
Ага, там только сразу выкидывать железку, если вдруг что. Ну, если там нет возможности выкручиваться.
inkvizitor68sl
А, ну да. Там (у НЕ микротиков) просто роутер, выпущенный в 2012 (например) перестаёт обновляться в 2013. И вот уже 2019 — а ни одного обновления так и нет (несмотря на все уязвимости, найденные в модели).
А так, выкручиваться не нужно. Нет обновлений — нет проблем (ipv6, кстати, тоже нет и не будет).
iDm1
С OpenWRT не перестаёт. Но её разработчики тоже периодически любят что-нибудь сломать, так что в этом плане перед MikroTik преимуществ нет.
inkvizitor68sl
C ddwrt он кирпичился, кстати =) А openwrt не было вообще.