{"id":3836,"date":"2014-06-25T09:00:16","date_gmt":"2014-06-25T07:00:16","guid":{"rendered":"http:\/\/www.b.shuttle.de\/hayek\/hayek\/jochen\/wp\/blog-en\/?p=3836"},"modified":"2021-04-22T11:46:42","modified_gmt":"2021-04-22T09:46:42","slug":"ipkg-and-optware-on-my-synology-nas","status":"publish","type":"post","link":"https:\/\/wp.jochen.hayek.name\/blog-en\/2014\/06\/25\/ipkg-and-optware-on-my-synology-nas\/","title":{"rendered":"IPKG on my Synology NAS, \/etc\/rc.optware, \/volume1\/@optware, and the \/opt symlink"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There are two different strategies to access \/volume1\/@optware through \/opt:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>a symlink (the approach I prefer)<\/li><li>&#8220;mount -o bind&#8221; (usually run through \/etc\/rc.optware)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once in a while (usually after a DSM update)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>the symlink &#8220;\/opt&#8221; got removed<\/li><li>and\/or \/etc\/rc.optware already executed the &#8220;mount -o bind&#8221;.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">I am checking on my \/opt symlink in my ~\/.profile, so I notice the misery rather soon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I am going to describe,<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>why I do not like \/etc\/rc.optware and the &#8220;<code>mount -o bind<\/code>&#8220;<\/li><li><span style=\"line-height: 1.75;\">and how to get rid of the &#8220;<code>mount -o bind<\/code>&#8221; (I hope my approach works!!!)<\/span><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After you got rid of the &#8220;<code>mount -o bind<\/code>&#8220;, the symlink<span style=\"line-height: 1.75;\"> needs getting re-established:<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On synology_apollolake_218+ with x86_64-synology-DSM6.2.4_25556_0 I am doing this:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On \u2026 I am doing one of these:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ ln -s \/volume1\/@optware \/opt\n\u2026<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Why do I not like the &#8220;mount -o bind&#8221;?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Once it is running, you can not identify, where the mountpoint really points to. The symlink is much clearer.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Why do I not like \/etc\/rc.optware?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Quite possibly <code>\/etc\/rc.optware<\/code> gets run and it already executed these lines:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ mount -o bind \/volume1\/@optware \/opt # some equivalent to the symlink\n<span style=\"line-height: 1.3125;\">$ \/opt\/etc\/rc.optware # which in turn runs a couple of init-scripts<\/span><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">I don&#8217;t really like the init-scripts runs through <code>\/opt\/etc\/rc.optware<\/code> :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>\/opt\/etc\/init.d\/S??*<\/code><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So maybe you (like me) want to prevent <code>\/etc\/rc.optware<\/code> from getting run (and thus also the &#8220;<code>mount -o bind<\/code>&#8220;) by renaming it a little \u2026<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">How to make \/opt\/bin available on your PATH<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">For properly accessing the executables provided at <code>\/opt\/bin<\/code>, you need to extend your PATH like this&nbsp;in your ~\/.profile:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">PATH=\/opt\/bin:$PATH<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">For further reading<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">There is a separate and essential article on &#8220;IPKG for Synology&#8221;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/forum.synology.com\/wiki\/index.php\/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc\">http:\/\/forum.synology.com\/wiki\/index.php\/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Maybe you want to read this file:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/opt\/etc\/ipkg.conf<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There are two different strategies to access \/volume1\/@optware through \/opt: a symlink (the approach I prefer) &#8220;mount -o bind&#8221; (usually run through \/etc\/rc.optware) Once in a while (usually after a DSM update) the symlink &#8220;\/opt&#8221; got removed and\/or \/etc\/rc.optware already executed the &#8220;mount -o bind&#8221;. I am checking on my \/opt symlink in my ~\/.profile, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_share_on_mastodon":"0"},"categories":[255,397,575],"tags":[],"class_list":["post-3836","post","type-post","status-publish","format-standard","hentry","category-ipkg","category-opkg","category-synology"],"share_on_mastodon":{"url":"","error":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paO0kP-ZS","jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/3836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/comments?post=3836"}],"version-history":[{"count":1,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/3836\/revisions"}],"predecessor-version":[{"id":11629,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/3836\/revisions\/11629"}],"wp:attachment":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/media?parent=3836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/categories?post=3836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/tags?post=3836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}