Updating LinuxCNC to a new minor release (ie to a new version in the same stable series, for example from 2.9.7 to 2.9.8) is an automatic process if your PC is connected to the internet. You will see an update prompt after a minor release along with other software updates. If you don’t have an internet connection to your PC see Updating without Network.

1. Оновіться до нової версії

У цьому розділі описано, як оновити LinuxCNC з версії 2.8.x до версії 2.9.y. Припускається, що у вас є встановлена версія 2.8, яку ви хочете оновити.

Щоб оновити LinuxCNC з версії, старшої за 2.8, спочатку необхідно оновити стару версію до 2.8, а потім виконати ці інструкції для оновлення до нової версії.

Якщо у вас немає старої версії LinuxCNC для оновлення, тоді краще зробити чисту інсталяцію нової версії, як описано в розділі Отримання LinuxCNC.

Furthermore, if you are running Ubuntu Precise, Debian Wheezy or Debian Buster it is well worth considering making a backup of the "linuxcnc" directory on removable media and performing a clean install of a newer OS and LinuxCNC version as these releases were EOL in 2017, 2018 and 2022 respectively. If you are running on Ubuntu Lucid then you will have to do this, as Lucid is no longer supported by LinuxCNC (it was EOL in 2013).

Щоб оновити основні версії, наприклад 2.8 до 2.9, коли у вас є мережеве підключення на комп’ютері, вам потрібно вимкнути старі джерела linuxcnc.org apt у файлі /etc/apt/sources.list і додати нове джерело linuxcnc.org apt для 2.9, а потім оновити LinuxCNC.

Деталі залежатимуть від платформи, на якій ви працюєте. Відкрийте terminal, а потім введіть lsb_release -ic, щоб знайти цю інформацію:

lsb_release -ic
Distributor ID: Debian
Codename:       Trixie

You should be running on Debian Bullseye, Bookworm or Trixie or Ubuntu 20.04 "Focal Fossa" or newer. LinuxCNC 2.9.y will not run on older distributions than these.

Вам також потрібно буде перевірити, яке ядро реального часу використовується:

uname -r
6.1.0-10-rt-amd64

Якщо ви бачите (як вище) -rt- в імені ядра, то ви використовуєте ядро preempt-rt і повинні встановити версію LinuxCNC «uspace». Ви також повинні встановити uspace для конфігурацій «sim» на ядрах, що не працюють в режимі реального часу.

Якщо ви бачите «-rtai-» в назві ядра, то ви використовуєте RTAI realtime. Дивіться нижче, яку версію LinuxCNC потрібно встановити. Пакет RTAI доступний для Bookworm і Buster, але наразі недоступний для Bullseye.

1.1. Конфігурація Apt Sources

  • Відкрийте вікно «Джерела програмного забезпечення». Процес цього дещо відрізняється на трьох підтримуваних платформах:

    • Debian:

      • Натисніть «Меню програм», потім «Система», а потім «Менеджер пакетів Synaptic».

      • У Synaptic натисніть меню «Налаштування», потім натисніть «Репозиторії», щоб відкрити вікно «Джерела програмного забезпечення».

    • Точність Ubuntu:

      • Натисніть на значок «Головна панель Dash» у верхньому лівому куті.

      • У полі «Пошук» введіть «програмне забезпечення», а потім натисніть на значок «Центр програмного забезпечення Ubuntu».

      • У вікні Центру програмного забезпечення Ubuntu натисніть меню «Редагувати», потім натисніть «Джерела програмного забезпечення…», щоб відкрити вікно «Джерела програмного забезпечення».

    • Ubuntu Lucid:

      • Натисніть меню «Система», потім «Адміністрування», а потім «Менеджер пакетів Synaptic».

      • У Synaptic натисніть меню «Налаштування», потім натисніть «Репозиторії», щоб відкрити вікно «Джерела програмного забезпечення».

  • У вікні «Джерела програмного забезпечення» виберіть вкладку «Інше програмне забезпечення».

  • Видаліть або зніміть позначки з усіх старих записів linuxcnc.org (залиште всі рядки, що не стосуються linuxcnc.org, як є).

  • Натисніть кнопку «Додати» та додайте новий рядок apt. Рядок дещо відрізнятиметься на різних платформах:

Table 1. Табличний огляд варіантів операційної системи та відповідної конфігурації репозиторію. Конфігурацію можна виконати в графічному інтерфейсі диспетчера пакетів або у файлі /etc/apt/sources.list.
ОС / Версія реального часу Репозиторій

Debian Bullseye - випередження

deb https://linuxcnc.org bullseye base 2.9-uspace

Debian Bookworm - випередити

deb https://linuxcnc.org bookworm base 2.9-uspace

Debian Bookworm - RTAI

deb https://linuxcnc.org bookworm base 2.9-rt

Debian Trixie - preempt

deb https://linuxcnc.org trixie base 2.9-uspace

Debian Trixie - RTAI

deb https://linuxcnc.org trixie base 2.9-rt

Налаштування придатних джерел
Figure 1. Рисунок зі скріншотом конфігурації репозиторію менеджера пакетів synaptic.
  • Натисніть кнопку «Додати джерело», а потім «Закрити» у вікні «Джерела програмного забезпечення». Якщо з’явиться вікно з повідомленням про те, що інформація про доступне програмне забезпечення застаріла, натисніть кнопку «Перезавантажити».

1.2. Оновлення до нової версії

Тепер ваш комп’ютер знає, де взяти нову версію програмного забезпечення, далі нам потрібно її встановити.

Процес знову ж таки відрізняється залежно від вашої платформи.

1.2.1. Debian Bullseye, Bookworm and Trixie

Debian використовує менеджер пакетів Synaptic.

  • Відкрийте Synaptic, використовуючи інструкції з розділу Налаштування джерел apt вище.

  • Натисніть кнопку «Перезавантажити».

  • Використайте функцію пошуку для пошуку linuxcnc.

  • Пакет називається "linuxcnc" для ядер RTAI та "linuxcnc-uspace" для preempt-rt.

  • Поставте галочку, щоб позначити нові пакети linuxcnc та linuxcnc-doc-* для оновлення. Менеджер пакетів може вибрати ряд додаткових пакетів для встановлення, щоб задовольнити залежності, які має новий пакет linuxcnc.

  • Натисніть кнопку «Застосувати» та дозвольте комп’ютеру встановити новий пакет. Старий пакет linuxcnc буде автоматично оновлено до нового.

1.3. Ubuntu

  • Натисніть на значок «Головна панель Dash» у верхньому лівому куті.

  • У полі «Пошук» введіть «оновлення», а потім натисніть на значок «Менеджер оновлень».

  • Натисніть кнопку «Перевірити», щоб отримати список доступних пакетів.

  • Натисніть кнопку «Встановити оновлення», щоб встановити нові версії всіх пакетів.

2. Оновлення без мережі

Щоб оновити систему без мережевого підключення, потрібно завантажити .deb-файл, а потім встановити його за допомогою dpkg. Deb-файли можна знайти за адресою https://linuxcnc.org/dists/.

Вам потрібно перейти за посиланням вище, щоб знайти правильний deb-файл для вашої інсталяції. Відкрийте terminal та введіть lsb_release -ic, щоб знайти назву випуску вашої ОС.

> lsb_release -ic
Distributor ID: Debian
Codename:       trixie

Pick the OS from the list then pick the major version you want like 2.9-rt for RTAI or 2.9-uspace for preempt-rt.

Next pick the type of computer you have: binary-amd64 for 64-bit PC or binary-arm64 (64bit) for Raspberry Pi.

Next pick the version you want from the bottom of the list like linuxcnc-uspace_2.9.8_amd64.deb (choose the latest by date). Download the deb and copy it to your home directory. You can rename the file to something a bit shorter with the file manager like linuxcnc_2.9.8.deb then open a terminal and install it with the package manager with this command:

sudo dpkg -i linuxcnc_2.9.8.deb

3. Оновлення файлів конфігурації для версії 2.9

3.1. Суворіша обробка підключаємих інтерпретаторів

Якщо ви просто запускаєте звичайний G-код і не знаєте, що таке підключаємий інтерпретатор, то цей розділ вас не стосується.

Рідко використовуваною функцією LinuxCNC є підтримка підключаємих інтерпретаторів, якими керує недокументований INI-файл [TASK]INTERPRETER.

Версії LinuxCNC до версії 2.9.0 обробляли неправильне налаштування [TASK]INTERPRETER, автоматично повертаючись до використання інтерпретатора G-коду за замовчуванням.

Починаючи з версії 2.9.0, неправильне значення [TASK]INTERPRETER призведе до відмови LinuxCNC запускатися. Виправте цю ситуацію, видаливши налаштування [TASK]INTERPRETER з вашого INI-файлу, щоб LinuxCNC використовував інтерпретатор G-коду за замовчуванням.

3.2. Кантерп

Якщо ви просто запускаєте звичайний G-код і не використовуєте підключаємий інтерпретатор canterp, то цей розділ вас не стосується.

У надзвичайно малоймовірному випадку, якщо ви використовуєте canterp, майте на увазі, що модуль переміщено з /usr/lib/libcanterp.so до /usr/lib/linuxcnc/canterp.so, і налаштування [TASK]INTERPRETER відповідно потрібно змінити з libcanterp.so на canterp.so.

3.3. Spindle limits in the INI

It is now possible to add settings to the [SPINDLE] section of the INI file

MAX_FORWARD_VELOCITY = 20000 The maximum spindle speed (in rpm)

MIN_FORWARD_VELOCITY = 3000 The minimum spindle speed (in rpm)

MAX_REVERSE_VELOCITY = 20000 This setting will default to MAX_FORWARD_VELOCITY if omitted.

MIN_REVERSE_VELOCITY = 3000` This setting is equivalent to MIN_FORWARD_VELOCITY but for reverse spindle rotation. It will default to the MIN_FORWARD_VELOCITY if omitted.

INCREMENT = 200 Sets the step size for spindle speed increment / decrement commands. This can have a different value for each spindle. This setting is effective with AXIS and Touchy but note that some control screens may handle things differently.

HOME_SEARCH_VELOCITY = 100 - Accepted but currently does nothing

HOME_SEQUENCE = 0 - Accepted but currently does nothing

4. Updating Configuration Files for 2.10.y

Touchy: записи Touchy MACRO тепер слід розміщувати в розділі [MACROS] INI-файлу, а не в розділі [TOUCHY]. Це частина процесу уніфікації налаштувань INI між графічними інтерфейсами.

5. New HAL components

5.1. Non-Realtime

mdro mqtt-publisher pi500_vfd pmx485-test qtplasmac-cfg2prefs qtplasmac-materials qtplasmac-plasmac2qt qtplasmac-setup sim-torch svd-ps_vfd

5.2. У режимі реального часу

anglejog div2 enum filter_kalman flipflop homecomp limit_axis mesa_uart millturn scaled_s32_sums tof ton

6. New Drivers

A framework for controlling ModBus devices using the serial ports on many Mesa cards has been introduced. http://linuxcnc.org/docs/2.9/html/drivers/mesa_modbus.html

A new GPIO driver for any GPIO which is supported by the gpiod library is now included: http://linuxcnc.org/docs/2.9/html/drivers/hal_gpio.html