TL; DR : сірих ділянок багато, і це залежить від того, що ти робиш. Здебільшого, Програмний центр та методи командного рядка роблять подібні речі, коли мова йде про .deb
пакети, але інші програмні пакети можуть вимагати різних кроків.
Яка різниця між встановленням програмного забезпечення в центрі програмного забезпечення Ubuntu та командним рядком?
Ось реальність: установка - це не що інше, як передача файлів, що постачаються з програмним пакетом, у відповідні каталоги. Не має значення, чи це робиться через командний рядок чи через Центр програмного забезпечення - вони роблять те саме - перекидає файли у відповідні каталоги. Що важливо, однак, це пакет і як ви поводитесь з ним. Тут я перегляну деякі основні пакети, з якими можна працювати з Ubuntu. Що стосується різниці між командним рядком та Центром програмного забезпечення, то основна відмінність полягає в тому, що в Software Center ви натискаєте кнопки; у командному рядку ви вводите команди. Я знаю, що в Центрі програмного забезпечення використовується багато пітонного коду, але в командному рядку це залежить від утиліти, яку ви використовуєте. Існує також кількість програмного центру, який можна видалити (читайте нижче про це)
Пакети програм для Ubuntu можуть поставлятися трьома способами: .deb
файл, .run
файл та просто необроблений вихідний код у стисненому zip
або tar
архівному режимі. Залежно від того, з ким ви маєте справу, установка командного рядка може бути більш-менш болісною. Це не те, про що ви, як новий користувач, повинні хвилюватися, принаймні, не в перший рік використання Linux.
Ви побачите в основному .deb
файли - це заздалегідь складені пакети програмного забезпечення, готові до використання. Вони менш болючі. Вони також дуже часто вказують залежності - інше програмне забезпечення, без якого ваша програма не працюватиме. Утиліти командного рядка, такі як apt
і apt-get
автоматично встановлять залежності для вас. Насправді, Програмний центр використовується apt-get
як бек-енд, тому він також встановлює залежності автоматично.
.run
Файли, як правило, є власними та кодованими бінарними файлами. Ви дійсно не можете побачити, що вони роблять.
Із вихідним вихідним кодом ви повинні зробити все самостійно - створити програмне забезпечення та встановити залежності.
Існують також способи встановлення пакетів з інших дистрибутивів, як, наприклад, .rpm
пакунки, але це робиться дуже рідко.
Існує також клас програмного забезпечення, відомий як контейнери. Є докер і lxd
контейнери. Нещодавно Ubuntu представила щось, відоме як snap
пакети. Що добре у всіх цих? Вони можуть працювати в будь-якому місці, надійно ізольовані від вашої основної системи, і їх можна встановити / перевстановити досить швидко. Ці типи програмного забезпечення не можуть бути встановлені через Software Center і, як правило, для професійних системних адміністраторів або технічних / досвідчених користувачів. Як новий користувач, вам не доведеться турбуватися про них, просто пам’ятайте, що вони існують, і вони приголомшливі :)
Нарешті, щось на зразок сценарію (і, як правило, одного файлу) також можна вважати додатком і знову - установка - це не що інше, як викидання цього файлу туди, де він належить або повинен належати.
Чому певне програмне забезпечення, встановлене за допомогою командного рядка, не можна шукати в центрі програмного забезпечення (натисніть клавішу вікна)?
Знову ж таки, це дійсно залежить від пакета. Якщо розробники програмного забезпечення вирішили включити .desktop
файл до свого пакету, ви зможете шукати його в Dash. .desktop
файли схожі на ярлики Windows, хоча вони роблять набагато більше. Хорошим прикладом утиліти командного рядка, що постачається з .desktop
файлом, є Byobu - дуже зручна програма для розділення терміналу на додаткові вкладки / вікна.
Однак можна створити власний .desktop
файл для кожної програми і помістити його в ~/.local/share/applications/
папку.
Знову ж таки, це не має нічого спільного з тим, що додаток є командним рядком або графічним інтерфейсом. Це залежить від вибору розробників додатків
Які правильні команди встановити програмне забезпечення з командного рядка, щоб я міг шукати їх?
Знову ж таки, залежить від того, що ти робиш. Якщо ви встановлюєте програмне забезпечення з офіційних сховищ Ubuntu, ви можете просто зробитиsudo apt-get install my-software
Якщо ви встановлюєте .deb
пакет, ви можете використовувати або dpkg
команду, або apt-get
. Ось приклад моєї установки пакета google-chrome deb з apt-get. ПРИМІТКА : на момент встановлення я перебуваю в тому ж каталозі, що і .deb
файл, тому мушу вказати ./
частину
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
[sudo] password for xieerqi:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .
Про що приємно apt-get
? Він має --purge
опцію, яка дозволяє видалити все, що стосується програми. Наприклад, якщо я просто видаляю його sudo apt-get remove google-chrome-stable
чи роблю це через Software Center, він може залишати за собою конфігураційні файли, так що після перевстановлення програмного забезпечення він буде готовий до використання, як і раніше. --purge
Опція також видалить конфігураційні файли. Це зручно, якщо ваше програмне забезпечення зламалось і ви хочете повністю свіжу його інсталяцію. Програмний центр цього не робить, тому це ще одна відмінність.
Якщо ви маєте справу з .run
файлом, вам потрібно зробити цей файл виконуваним і запустити його. Подобається це:
$ sudo chmod +x ./software.run
$ sudo ./software.run
Я створив резервну копію та відновив свою систему один раз, але деякі команди, які працювали раніше (наприклад, "subl"), не відновляться після відновлення системи.
Це залежить від типу резервного копіювання. Якщо у вашій резервній копії були включені всі файли, необхідні subl
для роботи, то це мало б працювати. Також може статися, що ваша резервна копія subl
мала місце перед встановленням. Переконайтесь, що ви правильно налаштували резервну копію
Я думаю, що ці питання стосуються приблизно $ PATH, але я не можу знайти щось про це. Будь-який додатковий матеріал буде вдячний.
$PATH
Змінна має відношення до оболонки (інтерпретатор команд , де ви поклали команду). Це не дуже важливо для Unity Dash. $PATH
змінна - це справді перелік каталогів, де оболонка буде шукати програми, які мають набір виконавчих дозволів. Dash дійсно стосується .desktop
лише файлів. Наприклад, я можу мати програму сидіти в /usr/bin
папці та мати змогу її відкрити за допомогою командного рядка, але Dash цього не зробить, оскільки для неї немає відповідного .desktop
файлу.
Якщо ви хочете знайти додатковий матеріал про $PATH
, буквально підберіть будь-яку книгу про сценарії оболонок Linux. Це один із основних знань для будь-якого користувача Linux, який хоче використовувати командний рядок.
Кілька завершальних думок : Складність встановлення програмного забезпечення для Linux іноді може шокувати нових користувачів, які приїжджають із Windows або Mac. Насправді це ті самі принципи - киньте все, куди належить, і воно спрацює. Ви не знайдете ярлик до своєї програми? Зробіть один - це просто текстовий файл! Комп'ютери - це машини, і вони призначені для експлуатації. Windows також має %PATH%
змінну для свого командного рядка, ви просто ніколи про це не знали, оскільки командний рядок Windows менш універсальний і менш використовується, ніж у Linux. Коротше кажучи, не залякуйте все, що ви можете побачити, адже щодня це близько 20% найбільш часто використовуваних команд чи дій, і вони дають вам 80% виконаної роботи.